########################################
# Skrypt PowerShella - inwentaryzacja zainstalowanego oprogramowania 
# wskazanego producenta na n komputerach
# (C) dr Holger Schwichtenberg
########################################

$Producent = "*Microsoft*"
$PlikWejściowy = "komputery.txt" 
$PlikWynikowy = "ListaOprogramowania.csv"

# Importowanie nazw komputerów
$Komputery = Get-Content $PlikWejściowy
$Komputery | foreach { 
#if (Ping($_))
#{
 Write-Host "Inwentaryzowanie oprogramowania komputera $_ ..."
 # Pobieranie listy zainstalowanych pakietów MSI na wszystkich komputerach
 $Oprogramowanie = foreach-object { get-wmiobject win32_product -computername $_ } | 
  where { $_.vendor -like $Producent } 

 # Eksport do CSV
 $Oprogramowanie | export-csv $PlikWynikowy -notypeinformation
#}
#else
#{
# Write-Error "Nie można nawiązać komunikacji z komputerem!"
#}
}

# Wywołania Ping
function Ping
{   
$stan = Get-WmiObject Win32_PingStatus -filter "Address='$args[0]'" | select StatusCode 
return $stan.Statuscode -eq 0
}




