如何收集有关 AD 中所有用户的操作系统信息?

如何收集有关 AD 中所有用户的操作系统信息?

我正在寻找一个脚本或类似的东西,使我能够检查 AD 中所有用户的操作系统版本,而不会中断日常操作。到目前为止,我发现这个脚本可以查找操作系统信息,http://www.windowsadminscripts.com/coding/networking/osinfo/

但是,我不知道如何将此脚本应用于 AD 中的所有用户。有什么建议吗?

答案1

您可以使用以下方法实现此目标:电源外壳命令。打开 PowerShell cmd 窗口并输入以下命令:

Get-ADComputer -Filter * -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -Wrap –Auto

此命令将过滤所有计算机的所有属性。然后将输出重定向到格式化的表中。

该表包含的唯一属性是计算机名称、操作系统描述、服务包和操作系统版本。它还会自动调整数据大小并进行包装。

为了查找域中的所有服务器,请运行以下命令:

Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack -Wrap -Auto

为了查找所有运行 Windows Server 2008 的服务器,请运行:

Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*2008*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack -Wrap -Auto

为了查找所有运行 Windows Server 2008 R2 的服务器,请运行:

Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*r2*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack -Wrap -Auto

我希望这回答了你的问题。

编辑:

为了运行该Get-ADComputer命令,您必须安装“Windows 远程服务器管理工​​具”。

跟随本指南以便执行此操作。然后,在 PowerShell 终端中输入:

import-module activedirectory

然后重新运行该Get-ADComputer命令。

检查以下屏幕截图,您会看到一个错误,因为我第一次运行该命令时没有安装 PowerShell 的 Active Directory 模块: 在此处输入图片描述

答案2

假设您指的是用户使用的计算机,那么此信息已存储在任何加入域的 PC 的 AD 中。您应该能够编写脚本从计算机对象中提取这些属性: operatingSystem、、operatingSystemServicePack& operatingSystemVersion

答案3

除了上面发布的 powershell 命令之外,您还可以使用基于 gui 的工具,名为图形用户界面。这是一个非常方便的工具,它使 ActiveDirectory 管理变得容易得多。您可以完成您在这个问题中提出的问题以及更多。当您使用 GUI 时,它实际上在后台运行 powershell 命令。您可以查看它运行的脚本。

我还建议你看看 Quest积极角色它提供了丰富的 powershell cmdlet。

相关内容