作成 2009.12.28
更新 2009.12.29
更新 2009.12.29
WshRemoteを使用可能にするには
WSH 5.6以上
Windows NT 4.0 SP3以降で、Internet Explorer 6以降がインストールされている環境で使用できます。
リモート操作の受け入れ
リモート操作を受け入れるように設定する必要があります。
- レジストリ変更
レジストリを変更します。存在しない場合は新規に作成してください。なお、再起動は不要です。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings Remote REG_SZ "1"
- Windows XP では以下のコマンドも実行
XP にはバグがあるので以下のコマンドも実行します。Power Users権限以上が必要です。wscript -regserver
- ファイアウォールの許可
DCOMで通信するので RPC接続を許可する必要があります。 - 同一ドメインで実行
別ドメインでは実行できませんでした。だれかやる方法を知っている人は教えてください。
受け入れ準備のためにまとめて設定するスクリプト
レジストリ設定と、コマンド実行のところまでです。もう一度実行すると設定を解除します。
' リモートコントロールを受け入れるスクリプト Option Explicit Dim WshShell, regString, retString, setValue Dim retButton Set WshShell = WScript.CreateObject("WScript.Shell") regString = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings\Remote" setValue = "1" On Error Resume Next retString = WshShell.RegRead(regString) If Err.Number = 0 Then If retString = setValue Then retButton = MsgBox("すでに設定済みのようです。設定を解除しますか?" & vbNewLine _ & "OK を押すとリモート操作を受け付けなくなります。", vbOKCancel, "リモート操作設定") If retButton = vbCancel Then WScript.Quit Else setValue = "0" End If End If End If On Error Goto 0 On Error Resume Next WshShell.RegWrite regString, setValue, "REG_SZ" If Err.Number <> 0 Then WScript.Echo "変更する権限が無いようです。" WScript.Quit End If On Error Goto 0 If setValue = "1" Then WshShell.Run "wscript -regserver", 0, True WScript.Echo "リモート操作の設定が完了しました。" Else WScript.Echo "リモート操作の設定を解除しました。" End If