タグ
  Active Directory (51)
  ANSI (1)
  bash (1)
  BAT (14)
  bind (1)
  CentOS (3)
  C言語 (4)
  DNS (3)
  Excel (1)
  Fedora (4)
  FreeBSD (3)
  iSCSI (1)
  Java (11)
  JavaScript (6)
  Link (4)
  Linux (15)
  Mail (1)
  Microsoft (4)
  NIS (1)
  OpenLDAP (2)
  OpenSolaris (4)
  PHP (2)
  PostgreSQL (2)
  PowerShell (31)
  RFC (3)
  Solaris (10)
  SQL Server (1)
  Ubuntu (3)
  VBScript (65)
  Visual Basic (1)
  VMware (2)
  Windows (14)
  WMI (16)
  WSF (5)
  WSH (10)
  作成中 (5)
  慣用句 (1)
  正規表現 (6)
WshRemoteを使用可能にするには
目次
WSH 5.6以上
リモート操作の受け入れ
受け入れ準備のためにまとめて設定するスクリプト
WSH 5.6以上

Windows NT 4.0 SP3以降で、Internet Explorer 6以降がインストールされている環境で使用できます。

リモート操作の受け入れ

リモート操作を受け入れるように設定する必要があります。

  1. レジストリ変更
    レジストリを変更します。存在しない場合は新規に作成してください。なお、再起動は不要です。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings
    Remote	REG_SZ	"1"
    
  2. Windows XP では以下のコマンドも実行
    XP にはバグがあるので以下のコマンドも実行します。Power Users権限以上が必要です。
    wscript -regserver
    
  3. ファイアウォールの許可
    DCOMで通信するので RPC接続を許可する必要があります。
  4. 同一ドメインで実行
    別ドメインでは実行できませんでした。だれかやる方法を知っている人は教えてください。
受け入れ準備のためにまとめて設定するスクリプト

レジストリ設定と、コマンド実行のところまでです。もう一度実行すると設定を解除します。

' リモートコントロールを受け入れるスクリプト
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

参考
WshRemoteオブジェクト

タグ: WSH VBScript
[リロード] [記事修正] [新規作成] [使用方法]
©2004-2010 UPKEN