我正在寻找一个脚本或类似的东西,使我能够检查 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
。