маленький и не быстрый скрипт:
этот скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Filter Where-Online { $ping = new-object System.Net.NetworkInformation.Ping trap {Write-Verbose "Ошибка пинга"; Continue} if ($ping.send($_).Status -eq "Success" ) { $_ } } Function Get-ComputerSoftware ($Name = "*") { foreach ($comp in (Get-QADComputer $Name | foreach {$_.dnsname} | Where-Online)) { Write-Host "Enumerating software for $comp...`t" -NoNewline Get-WmiObject win32_product -ComputerName $comp | select name, vendor, version, @{name="Computer"; expression={$Comp}} Write-Host "Done" } } |
сохраняем и используем так:
1 |
Get-ComputerSoftware -Name "Scenic*" | Export-Csv -Encoding "Unicode" -Path "c:\Report.csv" |
работает с этими командлетами