2011年9月26日月曜日

PowerShellを使ったリモート接続

以前書いたリモートデスクトップに関する記事にも同様のことが書かれていますが,再度まとめておきます.

PowerShell 2.0のリモート機能を使って,リモート コンピュータに接続します.ここでは,同一ドメインなどの認証が行われていない環境を想定しています.

接続されるだけのPCの設定

コマンドライン プロンプトを管理者権限で起動し,

winrm quickconfig

を実行します.

VMware Playerを使っていたりすると

このコンピュータのネットワーク接続の種類の 1 つがPublicに設定されているため,WinRM ファイアウォール例外は機能しません. ネットワーク接続の種類を Domain または Private に変更して,やり直してください.

等と言われますので,その場合は対応するネットワーク アダプタを一時的に無効にすればコンフィグを成功させることができます.

接続するだけのPCの設定

接続を受け付ける必要がありませんので,自動設定の後一部(?)もとに戻します.

winrm quickconfig
sc config "WinRM" start= demand
winrm delete winrm/config/listener?Address=*+Transport=HTTP
netsh advfirewall firewall set rule name="Windows リモート管理 (HTTP 受信)" new enable=no
winrm set winrm/config/client @{TrustedHosts="*"}
sc stop "WinRM"

TrustedHosts="*"の部分は,必要に応じて書き換えます.ローカルIPアドレスのみを信用する場合には"192.168.24.0/24"としたり,個別のIPアドレスを指定したりします.

接続される/する両方を行うPCの設定

自動設定と信用するホストの設定を行います.

winrm quickconfig
winrm set winrm/config/client @{TrustedHosts="*"}

参考:PowerShell でのリモート管理[Tips]Enter-PSSessionコマンドレットでのエラー対処

0 件のコメント:

コメントを投稿