PowerShell Remoting が失敗したので、もう一度、WSH スクリプトの WindowsUpdate.vbs に戻り、今度は Windows リモート シェル (WinRS) で試してみます。
ホスト (Windows Server 2008 R2 Hyper-V) の WinRS コマンドを使用して、仮想マシン winvista01.contoso.com の Windows Vista Enterprise SP1 ゲストの Windows リモート管理 (WinRM) クライアントに接続し、WindowsUpdate.vbs コマンドをリモート実行してみます。
ゲスト側では、次のコマンドラインを実行して、「y」と入力し、WinRM サービスと Windows ファイアウォールの例外を有効化しておきます。
winrm quickconfig
仮想マシンを実行中の状態で、ホスト側から次のようなコマンドラインを実行します。
winrs -r:winvista01.contoso.com:80 -u:CONTOSO\Administrator -p:パスワード "cscript.exe \\SERVERNAME\SHARENAME\WindowsUpdate.vbs"
※Windows 7 および Windows Server 2008 R2 の WinRM 2.0 は TCP ポート 5985 で接続をリスンしていますが、 Windows Vista および Windows Server 2008 以前の WinRM 1.1 は TCP ポート 80 でリスンします。そのため、Windows 7 や Windows Server 2008 R2 から WinRM 1.1 クライアントに接続する場合は、:80 のようにポート番号を指定しないと接続に失敗します。
さて結果ですが、WinRS による WindowsUpdate.vbs の実行はスクリプトの途中で失敗しました。
エラーが発生した行は、CreateUpdateDownloader() のところ。WUA API のリモート接続や、PowerShell Remoting による接続と同様に、更新プログラムの検索まではできますが、ダウンロード以降は失敗します。WUA API はリモート操作を嫌うようです。
試行錯誤はまだまだ続きそうです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。