Простенькая инвентаризация ПО на компьютерах

Захотелось тут одному начинающему “автоматизатору” получить данные об установленном на компьютерах сети программном обеспечении, для последующей обработке в Excel 🙂

Если для получения списка компьютеров применить Quest AD Cmdlets, а для проверки их доступности Where-Online то всё будет очень просто 🙂

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"            
    }            
}            
            
Get-ComputerSoftware -Name "Scenic*" | Export-Csv -Encoding "Unicode" -Path "c:\Report.csv"            
Реклама