Un cliente mi ha chiesto di spegnere ogni sera, ad orari programmati, i PC del suo dominio Continua a leggere Spegnimento programmato PC della rete
Archivi tag: csv
Inventario programmi installati sui PC di un dominio
Ecco come fare:
Create il seguente file con estensione ps1:
$IPconnectedcomputers=Get-WmiObject -class Win32_ServerConnection -computername localhost -namespace root\CIMV2| where-object {$_.computername -like "*.*.*.*"} | select-object computername -unique # o in alternativa se volete controllare solo determinati PC # $IPconnectedcomputers = @("PC129","PC179","PC120","PC144","PC37","PC182","PC002","PC156","PC20") $TimestampReport=get-date -Format yyyyMMdd $ReportSavePath=[environment]::getfolderpath("mydocuments")+"\Report\"+$TimestampReport new-item $ReportSavePath -type directory -erroraction silentlycontinue foreach($ip in $IPconnectedcomputers){ if ((test-connection $ip.computername -Count 1 -erroraction silentlycontinue).statuscode -eq 0) { #$pc=($ip.computername).Insert(0, "\\") $pc=[System.Net.Dns]::GetHostEntry($ip.computername).HostName write-host Collegamento a $pc gwmi win32_product -ComputerName $pc -erroraction silentlycontinue | select-object vendor,caption,version,__SERVER|Export-Csv -NoTypeInformation -force "$ReportSavePath\$PC.txt" write-host Fine connessione con $pc } else { write-host Collegamento a $ip IMPOSSIBILE! } } write-host Elaborazione terminata write-host premi un tasto per continuare... read-host
Lanciatelo ed otterete dopo qualche minuto (dipende dal numero dei PC/servers presenti nel dominio) questo risultato:
Saranno elencati tutti i vendors dei programmi ed i relativi programmi e versioni installate.
In un prossimo post spiegherò anche come disinstallare da remoto, con Powershell, i programmi invididuati.
N.B.
E’ necessario che gli script Powershell siano resi eseguibili (di default lo sono solo quelli firmati).
Per bypassare il problema e rendere eseguibili anche quelli non firmati lanciate Powershell come amministratore (tenete premuto Ctrl-Shift mentre cliccate sul relativo collegamento) e scrivete:
Set-ExecutionPolicy -ExecutionPolicy bypass
Devi effettuare l'accesso per postare un commento.