从 AD 中获取安装了特定软件的服务器列表?

从 AD 中获取安装了特定软件的服务器列表?

是否可以从 Active Directory 中获取安装了特定软件的服务器列表?例如,获取安装了 wampserver 版本 5 的所有服务器。

答案1

您可以仔细阅读现有脚本https://gallery.technet.microsoft.com/scriptcenter/Get-RemoteProgram-Get-list-de9fd2b4

要获取具有 Internet Explorer 11 的计算机列表,请执行以下操作:

$result= @();
$programName = "Internet Explorer 11"
$computers = ("Computer1","Computer2","Computer3")
$computers | % { if ((Get-RemoteProgram -ComputerName $_).programname -contains $programName) { $result += $_}}
$result

答案2

不,不是你问的那个问题。很抱歉,这个信息不在 Active Directory 中。但是,你可以编写一些 PowerShell,首先使用Get-ADComputer过滤器来获取服务器操作系统,然后将其通过管道或循环插入 WMI 或注册表查询中以获取已安装软件的列表 - 希望你想要的版本信息是由供应商写在那里的。

非常简单 - 当然,您也可以使用附加管理工具,例如 Microsoft 自己的 SCCM,或第三方库存工具来为您完成此操作 - 有些甚至是免费的。我特别喜欢 SpiceWorks。

答案3

您可以尝试将服务器列表放在文本文件中或从 AD 中过滤

#$computer="get-content computers.txt"
#computers=Get-ADComputer -Filter {OperatingSystem -Like “Windows Server*”}
foreach ($Computers in $computer)
{
Get-WmiObject -query 'select * from win32_product' | where {$_.name -like "Ccleaner*"} |ft Name, Version,PsComputername | export-csv "$env:userprofile\desktop\software.csv"
}

答案4

尝试将服务器列表放在文本文件中或从广告中获取

#$computer="get-content computers.txt"
#$computers=Get-ADComputer -Filter {OperatingSystem -Like “Windows Server*”}
foreach ($Computers in $computer)
{
Get-WmiObject -query 'select * from win32_product' | where {$_.name -like "Ccleaner*"} |ft Name, Version,PsComputername | export-csv "$env:userprofile\desktop\software.csv"
}

相关内容