はじめに
PowerShellは強力なスクリプト言語ですが、真価を発揮するのはリモートコンピュータの操作になるでしょう。リモートで各種操作ができるよう設定を実施します。
環境
- Windows Server 2019 Datacenter Evaluation (接続先:サーバ側)
- Windows 10 Enterprise Evaluation(接続元:クライアント側)
サーバ側の操作
スクリプトの実行を許可
Set-ExecutionPolicy RemoteSigned -Force
リモート操作を許可
Set-WSManQuickConfig -Force、または Enable-PSRemoting -Force
WinRMを開く
Set-NetFirewallRule -Name WINRM-HTTP-In-TCP -Enabled True
Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -Enabled False
New-NetFirewallRule -DisplayName "WINRM from WAN" -Profile Any -Direction Inbound -Action Allow -RemoteAddress グローバルIPアドレス -Protocol TCP -LocalPort 5985
※グローバルIPアドレスは「確認くん」や「診断くん」で確認して下さい。
クライアント側の操作
リモート接続を許可
winrm quickconfig -force
接続先の登録
#任意のホストへの接続を許可する
Set-Item WSMan:\localhost\Client\TrustedHosts ホスト名 -Force
#すべてのホストへの接続を許可する
Set-Item WSMan:\localhost\Client\TrustedHosts * -Force
スクリプトの実行許可
Set-ExecutionPolicy RemoteSigned -Force
動作確認
Enter-PSSession -ComputerName IPアドレス -Credential (New-Object System.Management.Automation.PSCredential("ユーザー名", (ConvertTo-SecureString –String "パスワード" –AsPlainText -Force)))
[IPアドレス]: PS >
リモートコンピュータに接続できれば完了です。