Comment comparer les correctifs installés entre deux serveurs Windows à l'aide de PowerShell?


9

J'ai besoin de comparer les correctifs installés entre un environnement de développement et de production à l'aide de PowerShell. Comment puis-je faire ceci?

Réponses:


11

J'ai récemment blogué sur ce problème et j'ai proposé ce script. Vous pouvez soit l'exécuter en tant qu'utilisateur administrateur sur les deux machines, soit utiliser l' -Credentialoption sur les get-hotfixcommandes.

$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
Je n'ai jamais connu get-hotfix. Grande pépite d'informations là-bas.
Mike

Soyez prudent lorsque vous utilisez Get-Hotfix, il ne signale qu'un sous-ensemble de correctifs. Voir cet article de Hey Scripting Guy pour plus d'informations. @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
Pouvez-vous expliquer en quoi la requête WMI pourrait être meilleure que l'exécution de PowerShell natif sur chaque hôte?
blaughw
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.