0

リモート サーバーのレジストリ パスを照会しようとしています。

"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 の混合)。

何か案は?

ありがとう

4

1 に答える 1