今月初めに、vbscriptを使用して、サーバーに保留中の重要な更新があるかどうかを確認する方法について質問しました。提供された回答はうまく機能し、追加のテストのためにスクリプトをQA環境に送信しました。
サーバーを実行できる「ボールト」環境があり、サーバーはWindows Update Agentにアクセスできず、WSUSを介して直接WindowsUpdateを取得することしかできません。VBScriptを使用して、 Windows Update Agentではなく、WSUSを介して重要な更新のみを直接チェックする方法はありますか?
このコードで0x8024402Cエラーが発生します(前の質問から取得したロジック)。これは、結果に応じてPASSまたはFAIL出力を提供するサブルーチンにラップされます。一部のサーバーでこれが機能することを確認しました。
Dim count
count = 0
'Microsoft Magic
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
Set searchResult = updateSearcher.Search("IsAssigned=1 and isHidden=0 and IsInstalled=0 and Type='Software'")
'End Microsoft Magic
If searchResult.Updates.Count <> 0 Then ' If Updates were found
For i = 0 to searchResult.Updates.Count - 1 'Just count the number of updates
count = count + 1
Next
objResult.Text = "FAIL"
objComment.Text = "There are " & count & " updates that need to be installed"
Else
objResult.Text = "PASS"
objComment.Text = "All updates are installed"
End If
If NOT len(objResult.Text) Then 'Just in case searchResult produces an error
objResult.Text = "FAIL"
objComment.Text = "Could not query Windows Update Server"
End If
少なくとも、現在のコードでWindows Updateエージェントに接続できない場合にエラーをチェックし、上記のように出力して、スクリプトの残りの部分を続行できるようにする方法はありますか?