0

Microsoft のこのサンプル スクリプトを使用して、Windows Update を実行しています。ただし、更新プログラムがインストールされるたびに、それをカスタム ログに書き込みたいと考えています。現在、コードの最後の部分を次のように調整しています。

    For I = 0 to updatesToInstall.Count - 1
        WScript.Echo I + 1 & "> " & _
        updatesToInstall.Item(i).Title & _
        ": " & installationResult.GetUpdateResult(i).ResultCode 

        Set WshShell = WScript.CreateObject("WScript.Shell")
        addLog = "eventcreate /l Application /t Information /so Test-QA /id 74 /d Windows update added: " & updatesToInstall.Item(i).Title
        WshShell.Run addLog
    Next
End If

ただし、更新プログラムをインストールしても、Windows イベント ログには何も追加されませんでした。この情報をログに書き込むにはどうすればよいですか?

4

2 に答える 2

0

eventcreateログ メッセージを引用符で囲んでいないため、失敗する可能性があります。変化する

addLog = "eventcreate /l Application /t Information /so Test-QA /id 74 /d Windows update added: " & updatesToInstall.Item(i).Title

の中へ

addLog = "eventcreate /l Application /t Information /so Test-QA /id 74 " _
  & "/d ""Windows update added: " & updatesToInstall.Item(i).Title & """"

Run次のようなメソッドを介して実行されたコマンドの戻りコードを確認できます。

rc = WshShell.Run(addLog)
If rc <> 0 Then
  WScript.Echo "Error: Command exited with return code " & rc
End If

コマンド出力を確認するには、コマンドの先頭に次のコマンドを追加して%COMSPEC% /k、表示されているウィンドウで実行します。

addLog = "%COMSPEC% /k eventcreate ..."
rc = WshShell.Run(addLog, 1, False)

更新プログラムをインストールしているので、既に管理者権限でスクリプトを実行していると思いますよね?

于 2013-05-30T19:28:55.343 に答える
-1

LogEvent メソッドを使用するだけでなく、必要なすべてのことを行うことができます。

詳細については、http://technet.microsoft.com/en-us/library/ee176682.aspxをご覧ください。

于 2013-05-31T00:04:33.940 に答える