SCE / WSUS :今すぐに更新ファイルやソフトウェアをインストールしたい その3 ダウンロード編


今すぐに更新ファイルやソフトウェアをインストールしたい その1
今すぐに更新ファイルやソフトウェアをインストールしたい その2 検索


につづいて、その3 ダウンロード編 です。


ダウンロードの対象となる更新ファイルは、「その2 検索編」で作成した objSearchResult オブジェクトに格納されています。今回は見つかった更新ファイルを全てダウンロード対象としていますが、例えば、「重要な更新だけ適用したい」 ということであれば、「その2 検索編」で示したソースの5行目に書かれた検索条件を以下のように修正します。

strSeatchCondition = "IsInstalled=0 and IsAssigned=1"

IsAssigned = 1 は、Windows Update を実行したときに、「優先度の高い更新プログラム」に表示される更新ファイルを示しています。


では、ダウンロードを行うコードを書いてみます。
以下に示すソースは、前回の「その2 検索編」から続いていますので、実行する場合には「その2 検索編」で示したコードに追記してください。






' (その2 検索編 からの続きです)

WScript.Echo "更新ファイルをダウンロードしています..."


' ダウンロードを行うには、はじめに UpdateDownloader オブジェクトを
' 取得します。
' UpdateDownloader オブジェクトについては、以下を参照してください。
' http://msdn2.microsoft.com/en-us/library/aa386131.aspx
' 以下では、UpdateDownloader オブジェクトを objUpdateDownloader という
' 名前で取得しています。


Set objUpdateDownloader = objUpdateSession.CreateUpdateDownloader()


' ダウンロードする更新ファイルは、UpdateDownloader オブジェクトの
' Updates プロパティで指定します。指定するのは、既に取得してある
' 検索結果です。つまり、objUpdateCollection ですね。
' 確認のために、以下のページを見てください。
' http://msdn2.microsoft.com/en-us/library/aa386371.aspx
' Updates プロパティの出力値が UpdateCollection オブジェクト
' であることがわかります。


objUpdateDownloader.Updates = objUpdateCollection


' ダウンロードしたい更新ファイルの指定が終わったら、ダウンロード
' の開始です。
' UpdateDownloader に用意されているメソッドは以下を参照してください。
' http://msdn2.microsoft.com/en-us/library/aa386131.aspx
' ダウンロードの途中経過を表示するなど、ダウンロードの途中に
' 別の処理を差し込むには、BeginDownload というメソッドを使用
' するのですが、今回は簡単に Download メソッドを使用します。
' Download メソッドを使用すると、ダウンロードが完了するまで
' 応答がありませんが、ただ待てばよいので楽です。
' いや、実は、BeginDownload の検証がうまくできなかった
' ことは内緒です。


objUpdateDownloader.Download()


Wscript.Echo
WScript.Echo "ダウンロードした更新ファイル一覧"
Wscript.Echo "-------------------------------------------------"
Wscript.Echo


' ダウンロードが完了したら、IsDownloaded プロパティを使用して
' それぞれが正しくダウンロードできたかを検証します。


For i = 0 To objSearchResult.Updates.Count - 1
    Set objUpdate = objSearchResult.Updates.Item( i )
    If objUpdate.IsDownloaded Then
       WScript.Echo "・" & objUpdate.Title & "," & "ダウンロード完了"
    else
       WScript.Echo "・" & objUpdate.Title & "," & "ダウンロード失敗"
    End If
Next


 


実行結果例は以下のとおりです。
クリックすると大きくなります。



次回は、「その4 インストール」編です。

Comments (2)

  1. 匿名 より:

    System Center Essentials には、ソフトウェアの配信機能と、更新ファイルの配信機能があります。どちらも、裏では WSUS が動いています。 簡単にそれぞれの機能を書き出します。 ソフトウェアの配布機能

  2. 匿名 より:

    大変おまたせしましてすみません。System Center Essentials の環境が壊れてしまい、再構築したりなんだりで時間をくってしまいました。 今回は「その4 インストール編」です。 その1~その4

Skip to main content