Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
今すぐに更新ファイルやソフトウェアをインストールしたい その1
今すぐに更新ファイルやソフトウェアをインストールしたい その2 検索
につづいて、その3 ダウンロード編 です。
ダウンロードの対象となる更新ファイルは、「その2 検索編」で作成した objSearchResult オブジェクトに格納されています。今回は見つかった更新ファイルを全てダウンロード対象としていますが、例えば、「重要な更新だけ適用したい」 ということであれば、「その2 検索編」で示したソースの5行目に書かれた検索条件を以下のように修正します。
strSeatchCondition = "IsInstalled=0 and IsAssigned=1"
IsAssigned = 1 は、Windows Update を実行したときに、「優先度の高い更新プログラム」に表示される更新ファイルを示しています。
では、ダウンロードを行うコードを書いてみます。
以下に示すソースは、前回の「その2 検索編」から続いていますので、実行する場合には「その2 検索編」で示したコードに追記してください。
' (その2 検索編 からの続きです)WScript.Echo "更新ファイルをダウンロードしています..." ' ダウンロードを行うには、はじめに UpdateDownloader オブジェクトを' 取得します。' UpdateDownloader オブジェクトについては、以下を参照してください。' https://msdn2.microsoft.com/en-us/library/aa386131.aspx' 以下では、UpdateDownloader オブジェクトを objUpdateDownloader という' 名前で取得しています。 Set objUpdateDownloader = objUpdateSession.CreateUpdateDownloader() ' ダウンロードする更新ファイルは、UpdateDownloader オブジェクトの ' Updates プロパティで指定します。指定するのは、既に取得してある' 検索結果です。つまり、objUpdateCollection ですね。' 確認のために、以下のページを見てください。' https://msdn2.microsoft.com/en-us/library/aa386371.aspx' Updates プロパティの出力値が UpdateCollection オブジェクト' であることがわかります。 objUpdateDownloader.Updates = objUpdateCollection ' ダウンロードしたい更新ファイルの指定が終わったら、ダウンロード' の開始です。' UpdateDownloader に用意されているメソッドは以下を参照してください。' https://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 IfNext |
実行結果例は以下のとおりです。
クリックすると大きくなります。
次回は、「その4 インストール」編です。
Comments
Anonymous
January 01, 2003
System Center Essentials には、ソフトウェアの配信機能と、更新ファイルの配信機能があります。どちらも、裏では WSUS が動いています。 簡単にそれぞれの機能を書き出します。 ソフトウェアの配布機能Anonymous
January 01, 2003
大変おまたせしましてすみません。System Center Essentials の環境が壊れてしまい、再構築したりなんだりで時間をくってしまいました。 今回は「その4 インストール編」です。 その1~その4