Главная

Wednesday, 21 September 2022

Удаленно включить RDP в Windows.


Всем привет.

Иногда случается что на удаленном хосте забыли включить RDP. Это можно поправить не бегая к нему лично, т.е. вы можете удаленно включить RDP на любом компьютере Windows. Но для этого у вас должен быть удаленный доступ к целевому компьютеру (через PowerShell или WMI) и ваша учетная запись состоять в группе локальных администраторов на целевом компьютере.

В принципе все сводится в правке ключа реестра  fDenyTSConnections на целевом компьютере RemHost.

Это понятно? Тогда приступим. Выполним настройку RDP удаленно из командной строки с помощью встроенной утилиты sc (позволяет создавать, управлять или удалять службы Windows):

sc \\RemHost config RemoteRegistry start=demand

sc \\RemHost start RemoteRegistry

Затем на своем компьютере:

  • запустите редактор реестра regedit.exe
  • выберите в меню Файл пункт Connect Network Registry (Подключить сетевой реестр)
  • укажите имя RemHost или IP адрес удаленного компьютера, на котором нужно включить службу RDP;
  • перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server;
  • найдите параметр fDenyTSConnections (тип REG_DWORD). Если данный ключ отсутствует – создайте его. 
  • измените его значение на 0, чтобы включить RDP.

Для отключения RDP доступа нужно изменить значение fDenyTSConnections на 1.

Сразу после этого без перезагрузки удаленный компьютер должен стать доступным по RDP.


Есть вариант и побыстрее - включить RDP в реестре удаленого компьютера через командную строку:

REG ADD "\\RemHost\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Если на удаленном компьютере настроен PowerShell remoting, вы можете выполнить на нем удаленную команду через Invoke-Command:

Invoke-Command -Computername RemHost -ScriptBlock {Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" –Value 0}

Также вы можете подключиться к удаленному компьютеру и включить RDP через WMI:

$compname = “RemHost”

(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace root\CIMV2\TerminalServices -Computer $compname -Authentication 6).SetAllowTSConnections(1,1)

Вот и все.

No comments:

Post a Comment

А что вы думаете по этому поводу?