Home >
Windows にまつわる e.t.c.
リモート サーバーの ping と RDP を有効にする
Windows Server の default は、ping 応答とリモートデスクトップ接続が許可されていません。
更に、Administrator 以外の PowerShell
リモーティングも許可されていません。(Administrator は default 許可されている)
セキュリティ上、この default 設定は正しいのですが、台数が多いと設定変更が面倒ですよね。
そんな時は、Invoke-Command でリモートーサーバーに設定解除コマンドを投げると楽です。
ちょいちょい設定するので関数化しました。
(Windows Server 2012 R2 / 2016
/ 2019(Insider Preview) で動作確認。2008 R2 は Net コマンドレットがサポートされていないので正しく動きません)
##########################################################
# リモート Server の RDP と ping 有効
##########################################################
function EnableRDP( $IP, $ID, $PlainPassword ){
# ID/Password を資格情報にする
$SecurePassword = ConvertTo-SecureString -String $PlainPassword -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential($ID, $SecurePassword)
# リモート Server を設定する
Invoke-Command -ComputerName $IP -Credential $Credential -ScriptBlock {
# Administrator 以外の PowerShell リモーティング許可
Set-WSManQuickConfig -Force
# スクリプト実行有効(default 有効になっているけど念のため)
Set-ExecutionPolicy RemoteSigned -Force
# リモートデスクトップ有効
cmd /c cscript c:\Windows\system32\scregedit.wsf /ar 0
cmd /c cscript c:\Windows\system32\scregedit.wsf /cs 0
Get-NetFirewallRule | ? Name -match "RemoteDesktop" | Set-NetFirewallRule -Enabled True
# ping 応答有効
Get-NetFirewallRule | ? Name -match "FPS-ICMP.-ERQ-In" | Set-NetFirewallRule -Enabled True
}
}
|
こんな感じに IP アドレス、Administrator、パスワードを渡すと、OS
インストール直後の制限を解除してくれます。
EnableRDP 192.168.100.58 "administrator" "P@ssw0rd"
Administrator は何かと攻撃を食らいやすいので、運用環境では別の管理権限アカウント作成し
Administrator は無効にすることをお勧めします。
関連情報
関数を PowerShell プロンプトで実行する
http://www.vwnet.jp/windows/PowerShell/2016100401/UseFunctionInPsPrompt.htm
Hyper-V Server 2012 R2のリモートデスクトップ設定
http://www.vwnet.jp/windows/HS12R2/Setup/RemoteDesktop.htm
PowerShellでローカルアカウントの操作
http://www.vwnet.jp/windows/PowerShell/MaintenanceLocalAccunt.htm
Copyright © MURA
All rights reserved.