質問

これは、WMIを使用してWindows 2000マシンにインストールされているサービスパックを見つけることは可能ですか?

役に立ちましたか?

解決

WMIを使用してインストールしたソフトウェアを取得する提案の方法があります - ではないすべてのソフトウェアがアップ示しているが、あなたがする必要があると思いますので...

1)それを試してみて、彼らはすべてに表示されますかどうかを確認

2)の結果をフィルタリングする例を調節するようにのみサービスパック示す

strHost = "."
Const HKLM = &H80000002
Set objReg = GetObject("winmgmts://" & strHost & _
    "/root/default:StdRegProv")
Const strBaseKey = _
    "Software\Microsoft\Windows\CurrentVersion\Uninstall\"
objReg.EnumKey HKLM, strBaseKey, arrSubKeys
For Each strSubKey In arrSubKeys
    intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
        "DisplayName", strValue)
    If intRet <> 0 Then
        intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _
        "QuietDisplayName", strValue)
    End If
    If (strValue <> "") and (intRet = 0) Then
        WScript.Echo strValue
    End If
Next

他のヒント

はい、WMIクラスのWin32_OperatingSystemは、この情報のすべてが含まれています。私は私のローカルマシンをチェックするためのPowerShellを使用してこの情報を確認見ることができます:

PS c:\> get-wmiobject win32_operatingsystem | `
            select BuildNumber, ServicePackMajorVersion, `
            ServicePackMinorVersion | format-table -auto

BuildNumber ServicePackMajorVersion ServicePackMinorVersion
----------- ----------------------- -----------------------
7100                              0                       0

注:PowerShellは唯一XP以降で動作しますが、あなたは-WmiObjectコマンドを取得するには - コンピュータのパラメータを渡すことによって、リモートシステムを確認することができます。

scroll top