Можно ли получить список серверов из Active Directory, на которых установлено определенное программное обеспечение? Например, получите все серверы, на которых установлен wampserver версии 5.
Нет, не так, как вы задали вопрос. К сожалению, этой информации нет в Active Directory. Однако вы можете написать немного PowerShell, начиная с Get-ADComputer
вероятно, с фильтром, чтобы просто получить серверные операционные системы, а затем передать его в запросы WMI или реестра, чтобы получить список установленного программного обеспечения - и, надеюсь, информация о версии, которую вы хотите, была записана там поставщиком.
Достаточно просто - конечно, вы также можете использовать дополнительные инструменты управления, такие как собственный SCCM от Microsoft, или сторонние инструменты инвентаризации, которые делают это за вас - некоторые даже бесплатны. Мне особенно нравится SpiceWorks.
Вы можете просмотреть существующий сценарий 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
Вы можете попробовать это поместить список серверов в текстовый файл или отфильтровать из 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"
}
Попробуйте поместить список серверов в текстовый файл или получить из объявления
#$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"
}