PowerShellを使用して2つのWindowsサーバー間でインストールされた修正プログラムを比較するにはどうすればよいですか?


9

PowerShellを使用して、開発環境と本番環境の間でインストールされたパッチを比較する必要があります。これどうやってするの?

回答:


11

私は最近この問題についてブログを書き、このスクリプトを思いつきました。両方のマシンで管理者であるユーザーとして実行するか-Credentialget-hotfixコマンドのオプションを使用できます。

$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
get-hotfixについて知らなかった。そこには多くの情報があります。
Mike、

Get-Hotfixを使用する場合は注意してください。パッチのサブセットのみが報告されます。詳細については、こちらのHey Scripting Guyの記事参照してください。@Mike
アシュリー、

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
各ホストに対してネイティブのPowerShellを実行するよりもWMIのクエリの方が優れていることについて説明できますか?
笑い2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.