作成 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