リモート サーバーのレジストリ パスを照会しようとしています。
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"
これには、再起動が保留されているすべての更新 (REG_DWORD) のリストと、おそらく何らかの日付が含まれています。保留中の更新の数だけに興味があります。
次の PS コマンドレットを実行すると、レジストリ パスのクエリで期待した結果が得られません。
$Computer = "Server01"
$HKLM = [UInt32] "0x80000002"
$WMI_Reg = [WMIClass] “\\$Computer\root\default:StdRegProv”
$RegRR = $WMI_Reg.EnumKey($HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired")
$RegRR =
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 2
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
sNames :
ただし、テストとして、「\RebootRequired」を除いて、これより 1 つ前のキーのパスをクエリすると、これが機能し、sValues をクエリできます。
$RegRR = $WMI_Reg.EnumKey($HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 2
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
sNames : {Power, RequestedAppCategories, Results, RebootRequired...}
最終的に、再起動が保留されている更新の数、既存の DWORD レコードを返すために、このレジストリ キーを照会したいと考えています。RebootRequiredSince の日付があり、最初は便利かもしれませんが、すべてのサーバーがこれを持っているわけではないことがわかりました (2008 R2 と 2012 の混合)。
何か案は?
ありがとう