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