【Management】Windows Update Powershell Module (1)


久しぶりに Windows Update をスクリプトから実行しようかなぁと思って PowerShell のコマンドレットを探していたら、標準では提供されていないんですねぇ。全く気づいておりませんでした。

となると、VBScript のように Microsoft.Update.Session を呼び出すしかないものかと思っていると、なんと便利なモジュールが提供されていました。

Windows Update PowerShell Module
http://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc

さっそく使ってみましょう。

まずはダウンロードして ZIP ファイルを開いてみてください。PSWindowsUpdate フォルダが格納されているはずです。この中にこのモジュールを構成するスクリプト群が格納されています。

これらのファイルは「インターネットゾーンからダウンロードしたファイル」なので、必ず「ブロックの解除」を実行しておきましょう。でないと実行できません。

image

ブロック解除が完了したら、PSWindowsUpdate フォルダを、PowerShell のモジュール用フォルダに保存します。

モジュール用フォルダの場所を確認するには、以下のように PowerShell コンソールから環境変数 PSModulePath を確認します。

PS C:\windows\system32> $env:PSModulePath
C:\Users\junichia\Documents\WindowsPowerShell\Modules;C:\windows\system32\WindowsPowerSh
ell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\

(参考)Windows PowerShell: Windows PowerShell のカスタム ツールをパッケージ化して配布する

ここでは3つのパスが指定されています。

以下のパスはユーザーの個人的なモジュールパスで、今回はモジュールを追加するのでこの配下に PSWindowsUpdate フォルダを移動してください。なお、既定ではこのパスは存在しないので、自分で作ってください。

  • C:\Users\junichia\Documents\WindowsPowerShell\Modules

以下のパスはシステムモジュール用のパスです。

  • C:\windows\system32\WindowsPowerShell\v1.0\Modules\

以下は Windows Azure 用コマンドレットをインストールしたときに作成されたパスでしょう。既定では存在しませんので、無くても不安にならないでください。

  • C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\

PSWindowsUpdate フォルダを移動したら、コンソールから Import しましょう。

PS C:\> Import-Module pswindowsupdate

ブロック解除が行われていれば、特にエラーは出力されないはずです。

次に、コマンドレットの一覧を見てみましょう。以下の用の出力されたら問題ありません。

PS C:\>Get-Command -Module pswindowsupdate

CommandType     Name                                               ModuleName          
———–     —-                                               ———-          
Function        Add-WUOfflineSync                                  pswindowsupdate     
Function        Get-WUHistory                                      pswindowsupdate     
Function        Get-WUInstall                                      pswindowsupdate     
Function        Get-WUInstallerStatus                              pswindowsupdate     
Function        Get-WUList                                         pswindowsupdate     
Function        Get-WURebootStatus                                 pswindowsupdate     
Function        Get-WUServiceManager                               pswindowsupdate     
Function        Get-WUUninstall                                    pswindowsupdate     
Function        Hide-WUUpdate                                      pswindowsupdate     
Function        Remove-WUOfflineSync                               pswindowsupdate     
Function        Test-ElevatedShell                                 pswindowsupdate
  

それぞれのコマンドレットの用途は、なんとなーくわかりますよね。

具体的な使い方は次の投稿で。

Comments (0)

Skip to main content