ローカル ホストでリモート MSI を実行しています。リモート ホストにリモート実行可能ファイルをインストールするには、WMI を使用できます。
host = "<IP ADDR>"
setup = "msiexec /a ""C:\MySetup\<FILENAME>"" /quiet ..."
Set wmi = GetObject("winmgmts://" & host & "/root/cimv2")
rc = wmi.Get("Win32_Process").Create(setup, , , pid)
If rc = 0 Then
WScript.Echo "Setup started with PID " & pid & "."
Else
WScript.Echo "Starting setup failed. (" & rc & ")"
End If
上記はプロセスを非同期に開始します (つまり、Create
すぐに戻ります)。リモート プロセスが完了するのを待つ必要がある場合は、次のように監視する必要があります。
Do
WScript.Sleep 100
Set p = wmi.ExecQuery("SELECT * FROM Win32_Process WHERE ProcessID=" & pid)
Loop Until p.Count = 0
ただし、次のように、必要なことを行うためのより簡単な方法がある場合がありますPsExec
。
psexec \\<IP ADDR> msiexec /a "C:\MySetup\<FILENAME>" /quiet ...