WinRMをリモート端末から有効にする方法
PowerShell のリモート処理でネットワーク上のリモート端末を管理するとかよくありますよね。
ほんとにあるか分からないですが。
PowerShell でリモート処理するにはリモート先PCの WinRMを有効にする必要があります。
ただいちいちリモート先の端末にログインして WinRMを有効化とか面倒かと。
そこで考えた方法が、リモート先のPCに WinRM を有効化するps1ファイルを置いてタスクスケジューラで実行されるという方法。
もっと他に簡単に出来る方法とかあるかもですが。。
以下のファイルをリモート端末の任意のフォルダに配置します。
■ps1ファイル【EPSR.ps1】(WinRM有効化コマンド)
※以下ファイル内容
Enable-PSRemoting -Force
■バッチファイル【EPSR.bat】(ps1ファイルを管理者権限で実行するコマンド)
※以下ファイルの内容
PUSHD %~dp0
PowerShell.exe
-ExecutionPolicy RemoteSigned
-Command "Start-Process -Filepath powershell.exe -ArgumentList .\EPSR.ps1"
配置したバッチファイルをリモート先のコンピュータで実行されるようにタスクスケジュール登録です。
タスクスケジューラの画面から[別のコンピュータへ接続]を選んでもいいですし、以下のコマンドで実行してもよいです。
■タスクスケジューラ登録コマンド
schtasks /Create /S <リモート先PC名 or IP> /u <ユーザ> /p <パスワード>
/ru <実行ユーザ> /rp <実行ユーザパスワード> /sc once
/tn <タスク名> /tr <EPRM.batのパス> /st <hh:mm 直近の実行する時間>
一旦 WinRM を有効化してしまえばあとは PowerShell でなんでもできますね。
ほんと便利な世の中になりましたよね。
↓よろしければクリックをお願いします!