Сегодня в статье я хочу затронуть вопрос удаленного включения RDP, он же удаленный рабочий стол. Все хоть раз пользовались этой незаменимой фичей, а кто-то использует ее для администрирования на ежедневной основе.
По умолчанию, на серверных платформах Windows удаленное управление (WinRM) включено, но функция удаленного рабочего стола выключена, а на десктопной версии обе функции выключены по умолчанию, поэтому, для выполнения описанного ниже, в начале придется включить WinRM на десктопе.
Итак, перейдем к методам - далее описаны непосредственно способы включения и отключения RDP (входит и замечательно выходит!)
Метод номер один: командная строка
Для включения удаленного рабочего стола (RDP) через командную строку, выполните следующее:
- Запустите командную строку от имени администратора;
- Выполните следующую команду:
Reg add “\computernameHKLMSYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d /f
В свою очередь, чтобы выключить RDP через командную строку, следуйте следующим шагам:
- Запустите командную строку;
- Выполните команду:
Reg add “\computernameHKLM SYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d 1 /f
Метод номер два: используем PowerShell
Для того, чтобы включить RDP через PowerShell, выполните следующие действия:
Способ 1: Для включения удаленного рабочего стола:
- Запустите PowerShell от имени администратора;
- Запустите следующую команду и используйте метод Invoke-Command:
Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value }
Далее введите команду:
Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Enable-NetFirewallRule -DisplayGroup "Remote Desktop"}
И, как традиция, обратные шаги:
- Запускаем PowerShell от имени админа;
- Вводим команду:
Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1}
Второй способ включения через PowerShell:
- Запускаем PowerShell от имени админа и создаем PowerShell сессию с нужным компьютером;
- Введите команду:
Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value
И следующую команду:
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Чтобы выключить:
- Повторяем первые два шага из предыдущего пункта (про повершелл и сессию);
- Вводим команду:
Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1
Важно: Computername - это имя компьютера, на котором будет включен RDP.
Важно: Включение удаленного рабочего стола через командную строку не настроит фаервол с точки зрения использования правильных портов для того, чтобы разрешить RDP подключения.
Важно: По умолчанию, только локальные Администраторы и пользователь, который уже вошел в систему, смогут использовать RDP.
И в заключение
На этом все, надеюсь, было полезно! И помните, если вы даете кому-нибудь доступ по RDP на компьютер в вашей сети, это несет в себе риски - вы должны быть уверены в человеке, который будет заходить по RDP и в том, что доступ дан через защищенный канал связи!