PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
# 現在のリモートデスクトップ設定確認
# 0 = 許可する
# 1 = 許可しない
PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections"
fDenyTSConnections : 1
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Control\Terminal Server
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Control
PSChildName : Terminal Server
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
# 現在のリモートデスクトップの接続設定確認
# 0 = 全て接続許可する
# 1 = ネットワークレベル認証でリモートデスクトップを実行しているコンピューターからのみ接続を許可する (推奨)
PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication"
UserAuthentication : 1
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Control\Terminal Server\WinStations\RDP-Tcp
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSe
t\Control\Terminal Server\WinStations
PSChildName : RDP-Tcp
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
# リモートデスクトップを許可する
PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value "0"
# ネットワークレベル認証でリモートデスクトップを実行しているコンピューターからのみ接続を許可する
PS C:\Users\Administrator> Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name "UserAuthentication" -Value "1"
# コマンド操作の場合は Windows Firewall のルールの手動設定が必要
# ルールは事前定義されているため、新規登録は不要。有効/無効 を切り替えるのみ
PS C:\Users\Administrator> Get-NetFirewallRule | Where-Object Name -like 'RemoteDesktop*' | Out-String -Stream | Select-String "^Name","Enabled"
Name : RemoteDesktop-In-TCP-WS
Enabled : False
Name : RemoteDesktop-In-TCP-WSS
Enabled : False
Name : RemoteDesktop-Shadow-In-TCP
Enabled : False
Name : RemoteDesktop-UserMode-In-TCP
Enabled : False
Name : RemoteDesktop-UserMode-In-UDP
Enabled : False
# 個別に設定
PS C:\Users\Administrator> Set-NetFirewallRule -Name "RemoteDesktop-In-TCP-WS" -Enabled True
# 上記まとめて変更するには以下
PS C:\Users\Administrator> Get-NetFirewallRule | Where-Object Name -like 'RemoteDesktop*' | Set-NetFirewallRule -Enabled True
|