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.