Come posso confrontare gli aggiornamenti rapidi installati tra due server Windows usando PowerShell?


9

Devo confrontare le patch installate tra un ambiente di sviluppo e di produzione usando PowerShell. Come posso fare questo?

Risposte:


11

Di recente ho scritto un blog su questo problema e ho ideato questo script. È possibile eseguirlo come utente amministratore su entrambe le macchine oppure utilizzare l' -Credentialopzione sui get-hotfixcomandi.

$server1 = Read-Host "Server 1"
$server2 = Read-Host "Server 2"

$server1Patches = get-hotfix -computer $server1 | Where-Object {$_.HotFixID -ne "File 1"}

$server2Patches = get-hotfix -computer $server2 | Where-Object {$_.HotFixID -ne "File 1"}

Compare-Object ($server1Patches) ($server2Patches) -Property HotFixID

1
Non ho mai saputo di get-hotfix. Grande pepita di informazioni lì.
Mike,

Fai attenzione quando usi Get-Hotfix, riporta solo un sottoinsieme di patch. Vedi questo articolo Hey Scripting Guy per ulteriori informazioni. @ Mike
Ashley

0
clear-host
$machine1=Read-Host "Enter Machine Name 1:-"
$machine2=Read-Host "Enter Machine Name 2:-"
$machinesone=@(Get-wmiobject -computername  $machine1 -Credential Domain\Adminaccount -query 'select hotfixid from Win32_quickfixengineering')
$machinestwo=@(Get-WmiObject -computername $machine2  -Credential Domain\Adminaccount -query 'select hotfixid from Win32_quickfixengineering')
Compare-Object -RefernceObject $machinesone -DiffernceObject $machinestwo -Property hotfixid

1
Puoi spiegare in che modo interrogare WMI potrebbe essere meglio che eseguire PowerShell nativo su ciascun host?
blaughw,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.