Включение удаленного доступа windows 10 через powershell

Протокол Remote Desktop Protocol (RDP) позволяет удаленно подключиться к рабочему столу компьютера с Windows и работать с ним, как будто это ваш локальный

Протокол Remote Desktop Protocol (RDP) позволяет удаленно подключиться к рабочему столу компьютера с Windows и работать с ним, как будто это ваш локальный компьютер. По умолчанию RDP доступ в Windows запрещен. В этой статье, мы покажем, как включить и настроить RDP доступ в Windows 10 и Windows Server 2016/2019.

Содержание:

  • Включаем удаленный рабочий стол в Windows 10
  • Как включить RDP доступ с помощью PowerShell?
  • RDP доступ к Windows Server 2016/2019
  • Включение RDP с групповых политик в домене Active Direcrtory
  • Как удаленно включить RDP на компьютере Windows?

Включаем удаленный рабочий стол в Windows 10

Самый простой способ включить RDP доступ в Windows – воспользоваться графическим интерфейсом.

Откройте свойства системы через панель управления, или выполнив команду SystemPropertiesRemote.

SystemPropertiesRemote

Перейдите на вкладку Remote Settings (Удаленный доступ), включите опцию Allow remote connection to this computer (Разрешить удалённые подключения к этому компьютеру).

В целях безопасности желательно разрешить подключение только с клиентов RDP с поддержкой протокола NLA (Allow connections only from computers running Remote Desktop with Network Level Authentication/ Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети).

включить RDP доступ к Windows 10 из панели управления

Сохраните изменения, нажав ОК.

По умолчанию право на подключение к компьютеру через RDP есть только у членов группы локальных администраторов. Если вам нужно разрешить RDP доступ другим пользователям, нажмите кнопку Select Users.

разрешить пользователям подключаться по RDP

Все пользователи, которых вы укажете здесь будет добавлены в локальную группу Remote Desktop Users. Вы можете в командной строке вывести список пользователей в этой группе:

net localgroup "Remote Desktop Users"

или

net localgroup “Пользователи удаленного рабочего стола”

список пользователей в группе Remote Desktop Users

Чтобы добавить нового пользователя в группу доступа RDP, выполните:

net localgroup "Remote Desktop Users" /add publicuser

В русской версии Windows измените название группы на “Пользователи удаленного рабочего стола”.

В новых билдах Windows 10 классическая панель для включения RDP доступа теперь спрятана и Microsoft рекомендует пользоваться новой панелью Setting.

  1. Перейдите в Settings -> System —> Remote Desktop;
  2. Включите опцию Enable Remote Desktop; включить Remote Desktop в новой панели управления Windows 10 2004
  3. Подтвердите включение RDP на компьютере.

Обратите внимание, что вы не можете включить RDP доступ к редакции Windows 10 Home. RDP сервер работает только на Windows 10 Pro и Enterprise. Впрочем, есть обходное решение.

Обратите внимание, что по умолчанию при включении Remote Desktop, включаются две опции:

  • Keep my PC awake for connection when it is plugged in ;
  • Make my PC discoverable on private networks to enable automatic connection from a remote device

На жмите на ссылку “Advanced settings”. Здесь можно включить использование протокола “Network Level Authentication” для RDP подключений (рекомендуется).

RDP включить доступ по NLA

Если на компьютере включен Windows Defender Firewall (брандмауэр), то нужно проверить, что в нем разрешены входящие RDP подключения. По умолчанию для RDP подключений используется порт TCP
3389
, а в последних билдах Windows также используется
UDP 3389
( см. статью про кейс с черным экраном вместо рабочего стола при RDP доступе).

Перейдите в панель управления и выберите элемент Windows Defender Firewall. Откройте список стандартных правил брандмауэра Windows, щелкнув в левом столбце по ссылке Allow an app or feature through Windows Firewall.

настройки Windows Defender Firewall

Проверьте, что правило Remote Desktop включено для профиля Private (домашняя или рабочая сеть) и, если необходимо, для профиля Public (общедоступные сети).

разрешить входящие rdp подключения в windows defender firewall

Подробнее про типы сетей и профили брандмауэра Windows здесь.

Если нужно, вы можете дополнительно ограничить длительность RDP сессий с помощью GPO.

Теперь к данному компьютеру можно подключится с помощью RDP клиента. Встроенный RDP клиент Windows –
mstsc.exe
. Он сохраняет всю историю RDP подключений с компьютера. Поддерживается копирование файлов между локальным и удаленным компьютером прямо через буфер обмена RDP.

Также вы можете использовать менеджеры RDP подключений, такие как RDCMan или mRemoteNG, или альтернативные клиенты.

mstsc.exe стандартный rdp клиент windows

Для удобства пользователей пароль для RDP подключения можно сохранить в Windows Credential Manager.

Как включить RDP доступ с помощью PowerShell?

Вы можете включить RDP доступ в Windows с помощью пары PowerShell команд. Это гораздо быстрее:

  1. Запустите консоль PowerShell.exe с правами администратора;
  2. Включите RDP доступ в реестре с помощью командлета Set-ItemProperty:
    Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal Server' -name "fDenyTSConnections" -value 0

    Чтобы закрыть RDP доступ, измените значение fDenyTSConnections на 1.

  3. Разрешите RDP подключения к компьютеру в Windows Defender Firewall. Для этого включите предустановленное правило :
    Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
    включить rdp в windows с помощью powershell
  4. Если нужно добавить пользователя в группу в локальную группу RDP доступа, выполните:
    Add-LocalGroupMember -Group "Remote Desktop Users" -Member 'a.petrov'

Чтобы проверить, что на компьютере открыт RDP порт, воспользуйтесь командлетом Test-NetConnection:

Test-NetConnection -ComputerName deskcomp323 -CommonTCPPort rdp

проверить, что на компьютере открыт rdp порт 3389

RDP доступ к Windows Server 2016/2019

В отличии от десктопной редакции Windows 10, в Windows Server по умолчанию поддерживается два одновременных RDP подключения. Эти подключения используются администраторами для управления сервером.

Включается RDP в Windows Server аналогично. Через SystemPropertiesRemote, через Server Manager или командами PowerShell, рассмотренными выше.

включить remote desktop в windows server 2019

Вы можете использовать Windows Server в качестве терминального сервера. В этом случае множество пользователей могут одновременно подключаться к собственному рабочему столу на сервере. Для этого нужно установить и настроить на сервере роль Remote Desktop Session Host. Это требует приобретения специальных RDS лицензии (CAL). Подробнее о RDS лицензировании здесь.

роль Remote Desktop Session Host

Для дополнительно защиты RDP сессий можно использовать SSL/TLS сертификаты.

Включение RDP с групповых политик в домене Active Direcrtory

Если вам нужно включить RDP доступ сразу на большом количестве компьютеров, можно воспользоваться групповыми политиками (GPO). Мы подразумеваем, что все компьютеры включены в домен Windows.

  1. Запустите консоль управления доменными GPO
    gpmc.msc
    ;
  2. Создайте новую (или отредактируйте уже существующую) групповую политику и привяжите ее к целевой OU с компьютерами или серверами; создать GPO для включения RDP на компьютерах и серверах домена
  3. Переключитесь в режим редактирования политики и перейдите в секцию GPO Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections;
  4. Найдите и включите политику Allow Users to connect remotely by using Remote Desktop Services, установив ее в Enable; групповая политика Allow Users to connect remotely by using Remote Desktop Services
  5. Обновите параметры групповых политик на клиентах;
  6. После применения данной политики вы сможете подключится ко всем компьютерам по RDP (политика применится как к десктопным клиентам с Windows 10, так и к Windows Server). Если нужно, вы можете более тонко нацелить политики на компьютеры с помощью WMI фильтров GPO.
  7. Если на компьютерах включен Windows Defender Firewall, нужно в этой же GPO разрешить RDP-трафик для доменного профиля. Для этого нужно активировать правило Windows Firewall: Allow inbound Remote Desktop Exceptions (находится в разделе Computer Configuration -> Administrative Templates -> Network -> Network Connections -> Windows Firewall -> Domain Profile). параметр GPO для разрешения RDP трафика - Windows Firewall: Allow inbound Remote Desktop Exceptions

    Подробнее о настройке правил брандмаура Windows через GPO рассказано здесь.

Как удаленно включить RDP на компьютере Windows?

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

Вы можете удаленно включить RDP через реестр. Для этого на удаленном компьютере должна быть включена служба Remote Registry (по умолчанию она отключена). Чтобы запустить службу:

  1. Запустите консоль управления службами (
    services.msc
    );
  2. Выберите Connect to another computer и укажите имя удаленного компьютера; подключиться к службам на удаленом компьютере
  3. Найдите в списке службу Remote Registry, измените тип запуска на Manual (ручной) и затем запустите службу – Start. включить службу remote registry

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

sc \WKMDK22SQ65 config RemoteRegistry start= demand
sc \WKMDK22SQ65 start RemoteRegistry

sc - включить службу RemoteRegistry из командной строки

Затем на локальном компьютере

  1. Запустите редактор реестра
    regedit.exe
  2. Выберите в меню Файл пункт Connect Network Registry (Подключить сетевой реестр)
  3. Укажите имя или IP адрес удаленного компьютера, на котором нужно включить службу RDP;
  4. Перейдите в раздел
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server
    ;
  5. Найдите параметр fDenyTSConnections (тип REG_DWORD). Если данный ключ отсутствует – создайте его. Измените его значение на 0, чтобы включить RDP. fDenyTSConnections - параметр реестра для включения rdp в windows

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

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

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

REG ADD "\WKMDK22SQ65HKLMSYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

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

Invoke-Command -Computername WKMDK22SQ65 -ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 0}

Если в Windows установлен OpenSSH сервер, вы можете подключиться к нему любым ssh клиентом и внести изменения в реестр в локальной ssh сессии.

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

$compname = “WKMDK22SQ65”
(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace rootCIMV2TerminalServices -Computer $compname -Authentication 6).SetAllowTSConnections(1,1)

разрешить rdp в windows удаленно через wmi

В Powershell есть несколько методов удаленного подключения. Это через:

  • WMI
  • CIM
  • PS remoting/WinRM

Сегодня мы поговорим о PS remoting/WinRM. В его состав входит, в основном, два командлета — это:

Enter-PSSession -ComputerName CL1

Этот командлет устанавливает сессию c удаленным компьютером и мы сможем работать прям на нем. Если сравнивать с Linux, то это почти одно и то же:

ssh CL1

И второй командлет, который нужен для удаленного выполнения команд как на одном, так и сотни компьютеров:

Invoke-Command -ComputerName AD,CL1 -ScriptBlock {Get-ComputerInfo}

Где:
-ComputerName — имена компьютеров (или одного)
-Scriptblock — скрипт или командлет в скобках {}

Если опять же сравнить с Linux ssh, то это почти одно и то же:

ssh root@192.168.1.1 'ifconfig'

Как настроить удаленное управление через Powershell?

Для того что бы суметь настроить нужно понять как это работает. Команды выше могут работать по протоколу HTTP (по порту 5985) и HTTPS (5986), за исключением версии Powershell 1.0, который работал в XP (там порт 80/443). По умолчанию у нас стоит HTTP, но и эти данные шифруются используя симметричный ключ AES-256. Сама аутентификация работает в 2 режимах NTLM и Kerberos(по умолчанию стоит он). Если у вас сеть с домен контроллером, т.е. есть Kerberos, то у вас должны работать команды выше. Если компьютеры в Workgroup, то они используют NTLM и для этого нужна дополнительная настройка. Кроме того, если вы вместо имен используете IP, то вы в любом случае используете NTLM и это по умолчанию не работает.

Если у вас не работают команды выше нужно проверить запущен ли сервис WinRM на том компьютере, к которому мы хотим подключиться:

Get-Service -Name "*WinRM*" | fl

Если не запушен:

Enable-PSRemoting

В этом случае мы ставим запуск сервиса автоматически и настраиваем winrm в дефолтной конфигурации. Этот сервис дает возможность принимать команды Powershell и устанавливать сеансы.

Если вы работаете под профилем сети «Public» (не «Domain» или «Private»), то нужно выполнить еще один командлет, разрешающий работать в таких сетях:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Если мы выполним такую команду:

Invoke-Command -ComputerName 192.168.3.100 -ScriptBlock {Get-Command}

Получим ошибку:
Connecting to remote server 192.168.3.100 failed with the following error message : The WinRM client cannot process the request. Default authentication may be used with an IP address under the following conditions: the transport is HTTPS or the destination is in the TrustedHosts list, and explicit credentials are provided.

Которая говорит, что мы можем подключится по IP если используем HTTPS (для этого нужен сертификат) или добавить хост, к которому подключаемся в TrustedHost компьютера с которого хотим запустить команду. Для этого делаем:

Set-Item wsman:localhostClientTrustedHosts -value 192.168.3.134

После этого все будет работать, но команды должны исполняться с переменной, в которой будут лежать учетные данные пользователя. Т.е. так:

$cred = Get-Credential
Invoke-Command -ComputerName 192.168.3.134 -ScriptBlock {Get-ComputerInfo} -Credential $cred

Где:
$cred — это переменная, куда мы сохраняем данные с формы Get-Credential
-Credential — сюда мы передаем переменную

Так же отмечу, что все команды, которые мы запускаем для удаленного выполнения через Poweshell, должны происходить от члена группы Администратора того хоста, к которому мы подключаемся.

Теперь мы можем устанавливать множество сессий с помощью командлета:

New-PSSession -ComputerName 192.168.3.134 -Credential $cred

Получать ID этих сессий:

Get-PSSession

И подключаться по этим ID:

Enter-PSSession -Id 9

Или использовать с invoke существующую сессию, а командлет для удаленного компьютера запускать с файла:

$cred = Get-Credential
$s = New-PSSession -ComputerName 192.168.3.134 -Credential $cred
Invoke-Command -Session $s -FilePath c:scriptstest.ps1

А так же, т.к. WinRM настроен, выполнять командлеты где есть ключ -ComputerName, сразу на нескольких компьютерах. Этот командлет пропингует AD сразу с нескольких компьютеров:

Test-Connection -Source CL1,CL2 -ComputerName AD -Credential $cred

Или же использовать методы описанные выше. 

Дополнительные ключи мы можем узнать по командлетам:

Get-Help Enter-PSSession -Examples
Get-Command -Noun PSSession

или по powershell invoke

Get-Help Invoke-Command -Examples

Теги:

#powershell

Самый простой способ включить Remote Desktop RD в семействе ОС Windows – это использовать графический интерфейс.

Для этого необходимо открыть элемент панели управления «Система», перейти на вкладку «Удаленные настройки» и включить опцию «Разрешить удаленные подключения к этому компьютеру» в разделе «Удаленный рабочий стол».

Однако для этого требуется локальный доступ к компьютеру, на котором вы хотите включить RDP.

Обычно вы можете запросить у пользователя (требуются права администратора) или местную техническую поддержку.

Однако что делать, если в удаленном офисе нет никого, кто мог бы включить удаленный рабочий стол локально?

По умолчанию удаленный рабочий стол отключен как в настольных версиях Windows, так и в Windows Server.

Если вы хотите удаленно включить удаленный рабочий стол (RDP) на удаленном хосте (сервере или компьютере), но у вас нет доступа к консоли локального устройства, мы покажем вам, как это сделать с помощью PowerShell.

Для этого на удаленном компьютере должна быть включена служба WinRM (удаленное управление Windows).

Служба WinRM включена по умолчанию во всех версиях Windows Server, начиная с Windows Server 2012 (однако WinRM по умолчанию отключена в клиентских операционных системах, таких как Windows 10).

Таким образом, для удаленного включения RD через PowerShell удаленный компьютер должен соответствовать следующим требованиям:

  • Служба WinRM должна быть запущена;
  • Вы должны иметь права администратора на удаленном устройстве;
  • Брандмауэр Windows должен быть отключен или должны быть включены правила, разрешающие удаленный доступ через PowerShell Remoting.

Удаленное включение удаленного рабочего стола с помощью PowerShell

Предположим, вы хотите удаленно включить RDP в Windows Server 2012 R2 / 2016 / 2019.

На вашем компьютере откройте консоль PowerShell и выполните следующую команду для удаленного подключения к вашему серверу:

Enter-PSSession -ComputerName server.domain.local -Credential domainadministrator

Итак, вы установили удаленный сеанс с компьютером и теперь можете выполнять на нем команды PowerShell.

Чтобы включить удаленный рабочий стол, вам просто нужно изменить параметр реестра fDenyTSConnections с 1 на 0 на удаленном компьютере.

Запустите команду:

Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal Server'-name "fDenyTSConnections" -Value 0

Когда RDP включен таким способом (в отличие от метода GUI), правило, разрешающее удаленные RDP-подключения, не включается в правила брандмауэра Windows.

Чтобы разрешить входящие RDP-подключения в брандмауэре Windows, выполните команду:

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

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

netsh advfirewall firewall add rule name="allow RemoteDesktop" dir=in protocol=TCP localport=3389 action=allow

Если вам нужно включить безопасную аутентификацию RDP (NLA – аутентификация сетевого уровня), выполните команду:

Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -name "UserAuthentication" -Value 1

Теперь со своего компьютера вы можете проверить, что порт TCP 3389 на удаленном хосте стал доступен. Запустите команду:

Test-NetConnection 192.168.1.11 -CommonTCPPort rdp

Должен быть такой результат:

ComputerName : 192.168.1.11

RemoteAddress : 192.168.1.11

RemotePort : 3389

InterfaceAlias : Ethernet0

SourceAddress : 192.168.1.90

TcpTestSucceeded : True

Это означает, что RDP на удаленном хосте включен, и вы можете установить подключение к удаленному рабочему столу с помощью клиента mstsc.

Заметка. По умолчанию только члены локальной группы администраторов могут подключаться через RDP удаленно. Чтобы разрешить подключения RDP для обычных пользователей, просто добавьте их в локальную группу «Пользователи удаленного рабочего стола».

Как включить удаленный рабочий стол через WMI?

Если вы хотите включить RDP на удаленном компьютере, на котором отключен WInRM (например, на обычном компьютере с Windows 10), вы можете использовать команду WMI PowerShell.

Чтобы проверить, включен ли доступ RDP на удаленном компьютере 192.168.1.90, выполните команду (см. Значение свойства AllowTSConnections):

Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace rootCIMV2TerminalServices -Computer 192.168.1.90 -Authentication 6

Чтобы включить RDP и добавить правило исключений брандмауэра Windows, выполните следующую команду:

(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace rootCIMV2TerminalServices -Computer 192.168.1.90 -Authentication 6).SetAllowTSConnections(1,1)


Windows 10

  • 28.03.2020
  • 21 160
  • 5
  • 01.09.2021
  • 12
  • 11
  • 1

Как включить Удаленный рабочий стол в Windows 10

  • Содержание статьи
    • Включение удаленного доступа через Параметры
    • Включение удаленного доступа через Свойства системы
    • Включение удаленного доступа через командную строку
    • Включение удаленного доступа через PowerShell
    • Комментарии к статье ( 5 шт )
    • Добавить комментарий

Возможность организовать подключение к компьютеру через удаленный рабочий стол есть только в следующих редакциях Windows 10 — Pro и Коорпоративная (Enterprise). Если Вам нужно настроить подключение к удаленному рабочему столу к другим редакциям Windows 10, то воспользуйтесь RDP Wrapper.

Включение удаленного доступа через Параметры

  1. Открываем меню Пуск, и нажимаем на кнопку «Параметры» (иконка в виде шестеренки).
  2. В окне параметров выбираем пункт «Система».
  3. Далее переходим на вкладку «Удаленный рабочий стол».
  4. Здесь нужно переключить единственный переключатель «Включить удаленный рабочий стол» со значения «Откл.» в значение «Вкл.».
  5. Появится окошко, в котором Вас попросят подтвердить, действительно ли вы хотите включить удаленный рабочий стол. Поскольку, именно это и стоит целью данной статьи, то нажать нужно «Подтвердить».
  6. После этого к компьютеру смогут подключаться по удаленному рабочему столу все пользователи, которые входят в группу «Администраторы». Для того, чтобы добавить пользователей, которые смогут подключаться к удаленному рабочему столу, и которые при этом не имеют прав администратора, нужно пролистать окно настроек удаленного рабочего стола в самый низ, и там нажать на надпись «Выберите пользователей, которые могут получить удаленный доступ к этому компьютеру«.

    В открывшемся окне достаточно будет нажать на кнопку «Добавить» и ввести логин или имя пользователя компьютера (для сверки корректности введенных данных можно нажать на кнопку «Проверить имена».

Включение удаленного доступа через Свойства системы

Как и в предыдущих версиях Windows, в десятой версии данной операционной системы, можно управлять доступом к удаленному рабочему столу через свойства системы.

  1. Для использования этого метода нужно открыть Свойства системы — проще всего это сделать, нажав на клавиши Win + R и выполнить там команду SystemPropertiesRemote. После выполнения этой команды откроется окошко Свойств системы с настройками удаленного доступа.
  2. В данном окне нужно отметить пункт «Разрешить удаленные подключения к этому компьютеру», и нажать «Применить». После этого, компьютер будет готов к подключениям по удаленному рабочему столу. Подключаться смогут только пользователи, которые состоят в группе «Администраторы». Для того, чтобы это исправить, необходимо нажать на кнопку «Выбрать пользователей».
  3. Откроется окно, где будет доступна кнопка «Добавить», с помощью которой можно добавить пользователей в список тех, кому доступен доступ к компьютеру через удаленный рабочий стол. Вписывать туда стоит логин или имя пользователя, для проверки корректности ввода воспользовавшись кнопкой «Проверить имена».

Включение удаленного доступа через командную строку

Кроме описанных выше способов, можно включить удаленный доступ к компьютеру, выполнив всего одну команду в командной строке. Для этого, нужно запустить командную строку от имени администратора, и выполнить следующую команду:

reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

В итоге, удаленный рабочий стол на компьютере заработает, но доступ к нему будут иметь только пользователи с правами администратора. Чтобы разрешить доступ обычным пользователям, нужно их добавить в группу «Пользователи удаленного рабочего стола». Сделать это можно с помощью следующей команды:

net localgroup "Пользователи удаленного рабочего стола" "[ИМЯ ПОЛЬЗОВАТЕЛЯ]" /add

То есть, для того, чтобы добавить пользователя с именем Вася, нужно ввести команду:

net localgroup "Пользователи удаленного рабочего стола" "Вася" /add

В английской версии Windows, данная группа называется «Remote Desktop Users».

Включение удаленного доступа через PowerShell

Как и в случае с командной строкой, включить удаленный доступ можно и через PowerShell. Для этого, нужно выполнить команду в оболочке PowerShell, запущенной с правами администратора:

Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal Server' -name "fDenyTSConnections" -value 0

Для того, чтобы пользователь мог получить доступ к удаленному рабочему столу (по умолчанию, он доступен только пользователям с правами администратора), нужно выполнить следующую команду:

Add-LocalGroupMember -Group "Пользователи удаленного рабочего стола" -Member "[ИМЯ ПОЛЬЗОВАТЕЛЯ]"

То есть, для добавления пользователя с именем Вася, команда будет иметь следующий вид:

Add-LocalGroupMember -Group "Пользователи удаленного рабочего стола" -Member "Вася"

В английской версии Windows, данная группа называется «Remote Desktop Users».

30 марта 2020

В Windows 10 функция удаленного рабочего стола позволяет вам получить удаленный доступ к компьютеру, чтобы помочь другим пользователям или управлять службами без физического присутствия на месте. Хотя вы можете управлять этой функцией через приложение «Настройки» , вы также можете включить или отключить удаленный рабочий стол в Windows 10 с помощью PowerShell. Возможно, вы захотите использовать этот метод для создания сценария, который можно использовать для быстрой настройки удаленного рабочего стола на нескольких устройствах, или для отправки сценария пользователю, который может просто дважды щелкнуть мышью, чтобы настроить функцию автоматически без дополнительных действий.

В этом руководстве вы узнаете, как использовать PowerShell для включения или отключения удаленного рабочего стола в Windows 10, а также как открыть необходимые порты брандмауэра для успешного подключения.

Важно: Удаленный рабочий стол доступен только в Windows 10 Pro, эта функция недоступна в Windows 10 Home . Кроме того, перед тем, как продолжить, рекомендуется сделать полное резервное копирование вашего компьютера , поскольку неправильное изменение реестра может привести к необратимому повреждению вашей системы.

Используйте эти шаги для включения протокола удаленного рабочего стола с PowerShell:

  1. Откройте Пуск в Windows 10.
  2. Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы включить протокол удаленного рабочего стола, и нажмите Enter:Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’ -name «fDenyTSConnections» -value 0
  4. (Необязательно) Введите следующую команду, чтобы включить удаленный рабочий стол через брандмауэр Windows, и нажмите Enter:Enable-NetFirewallRule -DisplayGroup «Remote Desktop»

Выполнив эти шаги, вы сможете использовать современное приложение «Удаленный рабочий стол» или старое приложение «Подключение к удаленному рабочему столу» для удаленного доступа к компьютеру даже с включенным брандмауэром.

Как отключить удаленный рабочий стол с помощью PowerShell

Используйте эти шаги, чтобы отключить протокол удаленного рабочего стола с PowerShell:

  1. Откройте Пуск .
  2. Найдите PowerShell , щелкните правой кнопкой мыши верхний результат и выберите параметр « Запуск от имени администратора» .
  3. Введите следующую команду, чтобы отключить протокол удаленного рабочего стола, и нажмите Enter:Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’ -name «fDenyTSConnections» -value 1
  4. (Необязательно) Введите следующую команду, чтобы отключить удаленный рабочий стол через брандмауэр Windows, и нажмите Enter :Disable-NetFirewallRule -DisplayGroup «Remote Desktop»

После выполнения этих действий функция удаленного рабочего стола будет отключена, а порт брандмауэра будет закрыт.

Метки: RDP

Опубликовано 30.03.2020 от evgeniyalf в категории «PowerShell

Обновлено 23.06.2019

RDP WindowsДобрый день! Уважаемые читатели и гости, одного из ведущих компьютерных блогов рунета Pyatilistnik.org. В прошлый раз мы с вами успешно решили проблему со службами удаленного рабочего стола, когда они были заняты в настоящее время. Сегодня я бы хотел осветить, как включить RDP доступ на компьютерах и серверах Windows, так как меня об этом уже не первый раз спрашивают, поэтому проще написать подробную статью, чем постоянно отвечать на одни вопросы. В данном посте мы подробно разберем, как удаленно реализовать доступ по RDP, так как бывают и такие ситуации, меня это лично на практике выручало.

Постановка задачи

Разобрать все методы, позволяющие вам включать RDP доступ на Windows системах, понимать какие ключи реестра за это отвечают и как это можно применять на практике.

Методы активации доступа по RDP

Я могу выделить вот такие способы:

  1. Классический метод с использованием оснастки свойств системы Windows
  2. С помощью оболочки и командлетов PowerShell
  3. Удаленное включение, через реестр Windows
  4. Через GPO политику

Как удаленно включить RDP

И так начну с более интересного метода. Предположим, что у вас есть сервер или компьютер, от которого у вас есть учетные данные для входа, но не активен вход через удаленный рабочий стол. И вам хотели бы его активировать. Делается все это просто. Тут мы воспользуемся удаленным доступом через консоль. Откройте окно выполнить (Сочетание клавиш WIN и R одновременно) и в открывшемся окне введите:

Открываем compmgmt.msc в окне выполнить

Далее щелкаете по корню «Управление компьютера (локальным)» правым кликом и в открывшемся окне выберите пункт «Подключиться к другому компьютеру»

удаленное подключение к другому компьютеру

В окне выбора компьютера, вам необходимо нажать кнопку «Обзор», которое откроет второе окошко, где нужно выбрать необходимый компьютер, так как у меня доменная сеть, то мне еще проще. В моем примере это будет компьютер с операционной системой Windows 10 под DNS-именем W10-CL01. Нажимаем ок.

удаленно включить rdp-03

У вас будет произведено подключение к данному компьютеру. Если у вас выскочит ошибка:

Компьютером невозможно управлять. Убедитесь, что сетевой путь указан правильно, компьютер доступен в сети, а на конечном компьютере включены нужные правила брандмауэра Windows

ошибка подключения к удаленному компьютеру через управление компьютером

В данном случае, нужно проверить две вещи:

  • Доступен ли компьютер по сети, для этого проведите элементарный ping компьютера.
  • Это нужно на этом компьютере в брандмауэре Windows разрешить «Удаленное управление журналом событий»

Про то как локально разрешать в брандмауэре службы и порты я говорил, посмотрите по ссылке. Если доступа нет, сделать, это локально, то ниже я приведу пример, как это сделать удаленно. Когда вы подключились к нужному компьютеру или серверу, вам необходимо перед удаленным включением RDP доступа, удостовериться, что у вас на вкладке службы, в активном состоянии запущен сервис «Удаленный реестр».

Вы так же можете из локальной оснастки «Службы», подключиться к удаленной, для этого в окне «Выполнить» введите services.msc и в открывшемся окне щелкните по корню правым кликом, где выберите соответствующий пункт

В моем примере я подключился к удаленным службам, через управление компьютером.

служба удаленного реестра

Если этого не сделать, то подключиться к реестру не получиться, и вы не сможете включить RDP по сети. Переходим в свойства данной службы и в типе запуска выставите вручную, после чего нажмите применить. После этого у вас станет активной кнопка запуска, нажимаем ее и проверяем, что сервис стартанул. После этого переходим к редактированию реестра по локальной сети.

включение удаленного реестра

В окне выполнить введите regedit и у вас откроется реестр Windows .

удаленно включить rdp-07

В самом верху есть меню файл, открыв его вам необходимо найти пункт «Подключить сетевой реестр».

Как включить RDP Windows через реестр

У вас откроется окно поиска, где вам необходимо найти нужный вам сетевой компьютер или сервер, после чего нажать ок.

Как включить RDP Windows через реестр

В итоге у вас в окне редактора реестра Windows появится еще один куст. Именно через данный реестр вы включите RDP службу на удаленной системе.

подключенный удаленный реестр

Теперь выбираем корень сетевого реестра Windows и нажимаем кнопку CTRL+F, у вас откроется форма поиска по нему. Тут вам необходимо найти ключ fDenyTSConnections.

Поиск ключа реестра fDenyTSConnections

Он также по сути должен лежать по пути:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerfDenyTSсonnections

Где ключу fDenyTSConnections вам необходимо изменить значение с 1 на 0, чтобы включить RDP доступ к удаленному компьютеру.

удаленно включить RDP в реестре

Пробуем произвести подключение, для этого откройте клиента подключения к удаленному рабочему столу (mstsc) и смотрим результат.

удаленно включить rdp

Если у вас будут закрыты порты, то вы увидите вот такую картину. При попытке подключиться у вас будет висеть инициализация удаленного подключения.

После чего вы увидите ошибку:

  1. Удаленному рабочему столу не удается подключиться к удаленному компьютеру по одной из следующих причин:
    Не включен удаленный доступ к серверу
  2. Удаленный компьютер выключен
  3. Удаленный компьютер не подключен к сети

Удостоверьтесь, что удаленный компьютер включен, подключен к сети и удаленный доступ к нему включен

Удостоверьтесь, что удаленный компьютер включен

Напоминаю, что вы можете проверить доступность порта , через утилиту Telnet. Проверять нам нужно порт 3389. Вероятнее всего он не ответит. Как я и писал выше откроем порты и создадим правило в брандмауэре. Для этого мы воспользуемся утилитой PSTools.

скачать PSTools с сайта Microsoft https://technet.microsoft.com/ru-ru/sysinternals/pstools.aspx?f=255&MSPPError=-2147217396

На выходе у вас будет архив с утилитами, который нужно будет распаковать через архиватор. Когда вы распакуйте его, зажмите клавишу Shift и кликните правым кликом по папке PSTools. Из контекстного меню выберите пункт «Открыть окно команд».

Открытие RDP удаленно-01

Введите вот такую команду:

PsExec.exe \IP-адрес или DNS-имя компьютера -u domainлогин -p пароль cmd

Мой пример: PsExec.exe \w10-cl01 -u rootАдминистратор -p пароль cmd

PsExec.exe открыть RDP

В итоге у вас будет произведено подключение к удаленному компьютеру, вы увидите в заголовке \dns-имя: cmd. Это означает, что вы успешно подключены.

PsExec.exe Открытие RDP удаленно-03
Далее вступает утилита командной строки netsh, благодаря ей мы создадим правило разрешающее входящие подключения по RDP.

netsh advfirewall firewall add rule name=»allow RemoteDesktop» dir=in protocol=TCP localport=3389 action=allow

Открытие RDP удаленно-04

Если вы до этого не включали через реестр доступ к удаленному рабочему столу, то так же это можно выполнить в PsExec.exe:

reg add «HKLMSYSTEMCurrentControlSetControlTerminal Server» /v fDenyTSConnections /t REG_DWORD /d 0 /f

По идее все должно работать сразу и без перезагрузки, но если она требуется, то выполните команду:

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

Классический метод включения удаленного рабочего стола

С удаленным включением служб RDP мы разобрались, теперь напомню для новичков, как можно локально его активировать.  По умолчанию данная служба, как я и писал не работает. Чтобы это исправить есть два метода. Универсальный метод для любой версии Windows, я буду показывать на десятке, но для семерки, восьмерки, все будет одинаково. Откройте проводник Windows. Найдите в левой части объект «Этот компьютер (Мой компьютер)». Кликните по нему правым кликом и из контекстного меню перейдите в пункт «Свойства».

служба удаленных рабочих столов windows Windows 10

У вас откроется окно система. В правой части нажмите пункт «Настройка удаленного доступа», которое вызовет окно свойств системы. НА вкладке «Удаленный доступ», чтобы активировать службы удаленных рабочих столов Windows, вам нужно активировать пункт «Разрешить удаленные подключения к этому компьютеру». После этого у вас в системе сразу будет работать RDP доступ.

Включение RDP Windows 10

А вот метод исключительно для Windows 10 или Windows Server 2016 и выше. Вы открываете параметры Windows. Переходите в пункт система. В системе будет пункт «Удаленный рабочий стол». Активируем ползунок «Включить удаленный рабочий стол». Выскочит окно с подтверждением, говорим «Подтвердить».

удаленно включить rdp в Windows 10

Все функционал RDP активен, можно подключаться с других компьютеров. Данный метод по сути ставит все тужу галку, что мы видели и в классическом окне системы.

служба удаленных рабочих столов windows-02

Этот подход можно с натяжкой назвать удаленным методом включения RDP, так как на той стороне вам потребуются руки которыми вы будите управлять по телефоны.

Как включить удаленный рабочий стол (RDP) через PowerShell

Открываем на компьютере, где необходимо включить RDP службу оснастку PowerShell.

Первая команда активирует галку «Разрешить удаленные подключения к этому компьютеру»

(Get-WmiObject Win32_TerminalServiceSetting -Namespace rootcimv2TerminalServices).SetAllowTsConnections(1,1)

Вторая команда активирует галку «Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети»

(Get-WmiObject -Class «Win32_TSGeneralSetting» -Namespace rootcimv2TerminalServices -Filter «TerminalName=’RDP-tcp'»).SetUserAuthenticationRequired(0)

Третья команда, включает правило в Брандмауэре

Enable-NetFirewallRule -DisplayGroup «Remote Desktop»

Данные команды вы можете собрать в скрипт и распространить его через групповую политику при включении компьютера или автологоне пользователя.

Как удаленно включить RDP через групповую политику

Данный метод включения удаленного рабочего стола на нужном компьютере возможен за счет домена Active Directory, благодаря централизованному управлению рабочих станций ваших сотрудников. Откройте редактор управления групповыми политиками. Создайте новую политику и прилинкуйте ее к нужному организационному подразделению, которое содержит нужный компьютер. После чего зайдите в свойства данной политики и измените ее настройки. Перейдите по пути:

Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Подключения — Разрешать удаленное подключение с использованием служб удаленных рабочих столов

Откройте эту настройку и включите ее. Не забываем после этого обновить групповую политику на нужном компьютере и не забываем там открыть порт для RDP. Так же политиками или локально.

Удаленное включение RDP через GPO

Конфигурация компьютера — Политики — Административные шаблоны — Сеть — Сетевые подключения — Брандмауэр Windows — Профиль домена — Разрешить исключения для входящих сообщений удаленного управления рабочим столом

.

Включив настройку вы можете указать конкретные ip-адреса откуда можно производить подключение или же ввести *, это будет означать, для всех.

Удаленное включение RDP через GPO

На этом у меня все, уверен, что есть еще какие-то методы позволяющие удаленно включить RDP службу удаленных рабочих столов, но мне лень гуглить и искать их, я пользуюсь вот такими. С вами был Иван Семин, автор и создатель блога Pyatilistnik.org.

  • Partition Wizard

  • Partition Magic

  • How to Enable Remote Desktop Windows 10 via CMD and PowerShell

By Vicky | Follow |
Last Updated December 02, 2020

Is Remote Desktop free? Is it secure? How do you know if Remote Desktop is enabled? In this post, MiniTool answers all the above questions. Furthermore, MiniTool also shows you how to enable this feature via Command Prompt and Windows PowerShell.

Windows 10 Remote Desktop

Remote Desktop is a feature that you can use to connect two computers or other devices so that you can access another computer remotely. With this feature, you can control other’s computer as if you have local access to the system in which you can move the mouse cursor, open programs, transfer files, and so on.

the Remote Desktop feature on Windows 10

The Remote Desktop feature is quite useful if you run into some computer issues and you can ask help for your friends or other people to perform troubleshooting on your system without letting them visit your place.

But there is a pithy that this feature is unavailable on Windows 10 Home, but you can find it on Windows 10 Pro and Enterprise editions.

Is Remote Desktop Free and Secure?

The good news is that Microsoft asks for no charge of this feature. In terms of security, it can be said that the Remote Desktop feature offered by Microsoft is a perfectly viable option if you want to access other’s computer.

How to Know if Remote Desktop Is Enabled?

To check whether the Remote Desktop is enabled, you just need to complete the following steps.

Step 1: Right-click This PC or My Computer on your desktop and then select Properties from the menu.

Step 2: On the Properties window, click Remote settings on the left pane.

Step 3: Under the Remote tab, see if the box next to Don’t allow connections to this computer is checked to check if the Remote Desktop feature is enabled.

check if the Remote Desktop feature is enabled

How to Enable Remote Desktop Windows 10?

If your Remote Desktop is not enabled on Windows 10, you can enable it now. You can enable this feature via Windows Settings, but some users ran into Windows Setting not working. So, in this post, I would like to show you how to enable Remote Desktop in two different ways, namely using Command Prompt and Windows PowerShell.

Enable Remote Desktop via Command Prompt

Step 1: Run Command Prompt as administrator.

  • Type Command Prompt on the Cortana’s search bar.
  • Right-click the result and then select Run as administrator.

Step 2: Type the following command on the Command Prompt window and then hit the Enter to run this command.

reg add «HKLMSYSTEMCurrentControlSetControlTerminal Server» /v fDenyTSConnections /t REG_DWORD /d 0 /f

Step 3: When the above command has been executed, you need to run another command and hit Enter to execute it. This command will add and update rules in the Firewall and after that, you can use Remote Desktop.

netsh advfirewall firewall set rule group=»remote desktop» new enable=yes

Enable Remote Desktop via Windows PowerShell

Step 1: Run Windows PowerShell as administrator.

  • Type Windows PowerShell on the Cortana’s search bar.
  • Right-click the result and then select Run as administrator.

Step 2: Type the following command and then hit the Enter key to run it.

Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’-name «fDenyTSConnections» -Value 0

Step 3: Type another key and hit Enter.

Enable-NetFirewallRule -DisplayGroup «Remote Desktop»

If you want to disable the Remote Desktop feature on Windows 10, you can also run the following commands in Command Prompt and Windows PowerShell. Please do not forget to hit the Enter key after typing each command.

Disable Remote Desktop via Command Desktop:

  • reg add «HKLMSYSTEMCurrentControlSetControlTerminal Server» /v fDenyTSConnections /t REG_DWORD /d 1 /f
  • netsh advfirewall firewall set rule group=»remote desktop» new enable=No

Disable Remote Desktop via Windows PowerShell:

  • Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’-name «fDenyTSConnections» -Value 1
  • Disable-NetFirewallRule -DisplayGroup «Remote Desktop»

About The Author

Vicky

Position: Columnist

Vicky is a website editor who has been writing tech articles since she was graduated from university. Most of her articles talk about Windows PC and hard disk issues. Some of her articles also touch on YouTube usage and issues.

During her spare time, she likes to spend time reading, watching videos, and sitting on her Yoga mat to relax.

  • Partition Wizard

  • Partition Magic

  • How to Enable Remote Desktop Windows 10 via CMD and PowerShell

By Vicky | Follow |
Last Updated December 02, 2020

Is Remote Desktop free? Is it secure? How do you know if Remote Desktop is enabled? In this post, MiniTool answers all the above questions. Furthermore, MiniTool also shows you how to enable this feature via Command Prompt and Windows PowerShell.

Windows 10 Remote Desktop

Remote Desktop is a feature that you can use to connect two computers or other devices so that you can access another computer remotely. With this feature, you can control other’s computer as if you have local access to the system in which you can move the mouse cursor, open programs, transfer files, and so on.

the Remote Desktop feature on Windows 10

The Remote Desktop feature is quite useful if you run into some computer issues and you can ask help for your friends or other people to perform troubleshooting on your system without letting them visit your place.

But there is a pithy that this feature is unavailable on Windows 10 Home, but you can find it on Windows 10 Pro and Enterprise editions.

Is Remote Desktop Free and Secure?

The good news is that Microsoft asks for no charge of this feature. In terms of security, it can be said that the Remote Desktop feature offered by Microsoft is a perfectly viable option if you want to access other’s computer.

How to Know if Remote Desktop Is Enabled?

To check whether the Remote Desktop is enabled, you just need to complete the following steps.

Step 1: Right-click This PC or My Computer on your desktop and then select Properties from the menu.

Step 2: On the Properties window, click Remote settings on the left pane.

Step 3: Under the Remote tab, see if the box next to Don’t allow connections to this computer is checked to check if the Remote Desktop feature is enabled.

check if the Remote Desktop feature is enabled

How to Enable Remote Desktop Windows 10?

If your Remote Desktop is not enabled on Windows 10, you can enable it now. You can enable this feature via Windows Settings, but some users ran into Windows Setting not working. So, in this post, I would like to show you how to enable Remote Desktop in two different ways, namely using Command Prompt and Windows PowerShell.

Enable Remote Desktop via Command Prompt

Step 1: Run Command Prompt as administrator.

  • Type Command Prompt on the Cortana’s search bar.
  • Right-click the result and then select Run as administrator.

Step 2: Type the following command on the Command Prompt window and then hit the Enter to run this command.

reg add «HKLMSYSTEMCurrentControlSetControlTerminal Server» /v fDenyTSConnections /t REG_DWORD /d 0 /f

Step 3: When the above command has been executed, you need to run another command and hit Enter to execute it. This command will add and update rules in the Firewall and after that, you can use Remote Desktop.

netsh advfirewall firewall set rule group=»remote desktop» new enable=yes

Enable Remote Desktop via Windows PowerShell

Step 1: Run Windows PowerShell as administrator.

  • Type Windows PowerShell on the Cortana’s search bar.
  • Right-click the result and then select Run as administrator.

Step 2: Type the following command and then hit the Enter key to run it.

Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’-name «fDenyTSConnections» -Value 0

Step 3: Type another key and hit Enter.

Enable-NetFirewallRule -DisplayGroup «Remote Desktop»

If you want to disable the Remote Desktop feature on Windows 10, you can also run the following commands in Command Prompt and Windows PowerShell. Please do not forget to hit the Enter key after typing each command.

Disable Remote Desktop via Command Desktop:

  • reg add «HKLMSYSTEMCurrentControlSetControlTerminal Server» /v fDenyTSConnections /t REG_DWORD /d 1 /f
  • netsh advfirewall firewall set rule group=»remote desktop» new enable=No

Disable Remote Desktop via Windows PowerShell:

  • Set-ItemProperty -Path ‘HKLM:SystemCurrentControlSetControlTerminal Server’-name «fDenyTSConnections» -Value 1
  • Disable-NetFirewallRule -DisplayGroup «Remote Desktop»

About The Author

Vicky

Position: Columnist

Vicky is a website editor who has been writing tech articles since she was graduated from university. Most of her articles talk about Windows PC and hard disk issues. Some of her articles also touch on YouTube usage and issues.

During her spare time, she likes to spend time reading, watching videos, and sitting on her Yoga mat to relax.

Remote Desktop Protocol (RDP) is a popular, simple, and convenient way to connect to remote Windows computers. Thanks to RDP, you get full access to the graphical desktop environment of a remote computer and work with it just as if it was your own local device. By default, Remote Desktop is disabled on both desktop versions of Windows and Windows Server. In this article, we will look at several ways to enable RDP in Windows.

Enable and Disable Remote Desktop Locally

The most intuitive way to enable Remote Desktop on Windows 10 and 11 is to use a GUI. You can enable RDP:

However, this requires local access to the computer on which you want to enable RDP. You can usually ask the user for this (local administrator permissions required), or local technical support. However, what to do if no one in the remote branch office could enable the Remote Desktop locally?

Let’s look at several ways that allow you to remotely enable Remote Desktop (RDP) on a remote host (server or computer),

Enable RDP Using Remote Registry

You can enable Remote Desktop on a remote computer using Registry Editor. This requires:

  • The remote computer must be accessible over the network;
  • You must know the credentials of an account with local administrator permissions on the remote computer;
  • The Remote Registry service must be running on the remote computer (you can enable it through the services.msc snap-in, GPO, or with the command sc \RemotePCName start RemoteRegistry).

remotely enable rdp

So, to enable the remote desktop via remote registry, follow these steps:

  1. Press the Win + R key combination, type regedit.exe > OK;
    enable remote desktop windows 10 remotely
  2. In the Registry Editor select File > Connect Network Registry;
    powershell enable rdp on remote computer
  3. Specify the hostname or IP address of the remote computer. If the remote computer could not authorize you as the current user, you will be prompted to enter credentials;
    remotely enable remote desktop
  4. The registry of the remote computer will appear in the registry editor (only HKLM and HKEY_Users hives are accessible);
    powershell enable remote desktop
  5. Go to the following reg key on the remote computer: HKLMSYSTEMCurrentControlSetControlTerminal Server. Change the value of the fDenyTSConnections parameter (Type=REG_DWORD) from 1 to 0;
    how to enable remote desktop remotely
  6. If a firewall is enabled on the remote computer, you must enable the rule that allows remote desktop connections. You can enable it via GPO, via PowerShell Remoting, or using Psexec (check the next sections of this guide).

How to Enable RDP Remotely Using PsExec Tool?

You can use the PsExec cmd tool to enable Remote Desktop on a remote Windows device.

Download the PsExec toolkit from the Microsoft website and extract the PSTools.zip archive to a local folder.

Open a command prompt as an administrator and go to the PSTools directory:

CD c:PSPStools

In order to enable RDP on a remote computer in your domain using PSExec, run the command:

PsExec.exe /accepteula \RemoteComputerName_or_IP reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Then enable the rule to access the RDP port in Windows Defender Firewall:

PsExec.exe /accepteula \RemoteComputerName_or_IP netsh advfirewall firewall set rule group="remote desktop" new enable=Yes

If the remote computer is in a different domain or workgroup, you can provide a username with administrator permissions to connect to the remote computer:

PsExec.exe /accepteula \RemoteComputerName_or_IP -u administrator reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

remote enable rdp

Then allow inbound connections to the RDP port (3389/TCP):

PsExec.exe /accepteula \RemoteComputerName_or_IP -u administrator netsh advfirewall firewall set rule group="remote desktop" new enable=Yes

Now try to connect to the remote computer via RDP.

Enable Remote Desktop Remotely Using PowerShell

To enable RDP remotely, you need to configure and run the WinRM service (Windows Remote Management) on the remote computer. The WinRM service is enabled by default in all versions of Windows Server starting with Windows Server 2012. However, WinRM is disabled by default in client operating systems such as Windows 10 or 11.

You can enable WinRM on domain-joined computers using GPO or locally using PowerShell. The easiest way to locally enable the WinRM service on Windows 10/11 and allow access via PowerShell Remoting is using the command:

Enable-PSRemoting

WinRM has been updated to receive requests.
WinRM service type changed successfully.
WinRM service started.

enable rdp powershell

Next, you need to check if WinRM is enabled on the remote computer and if PSRemoting connections are allowed. Run the command:

Test-WsMan 192.168.31.102

If the WinRM service on the remote computer responds, you will receive this response:

enable remote desktop powershell

If the service is disabled or access is blocked by Windows Defender Firewall, an error will appear:

Test-WsMan WSManFault: WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet.

Thus, to enable Remote Desktop remotely via PowerShell, the remote computer must meet the following requirements:

  1. The WinRM service should be started;
  2. You must have administrator permissions on the remote device;
  3. Windows Defender Firewall with Advanced Security rules must accept PowerShell Remoting on WinRM ports TCP 5985 and 5986. You can enable the WinRM firewall rules with the command:
    netsh advfirewall firewall set rule group=”Windows Remote Management” new enable=yes)

Suppose you want to remotely enable RDP on Windows Server 2022/2019/2016/2012R2. Open the PowerShell console on your computer and run the following command to connect to your server remotely:

Enter-PSSession -ComputerName server.domain.local -Credential domainadministrator

Tip. The Enter-PSSession and Invoke-Command cmdlets allow you to run PowerShell script on remote computer through WinRM.

So, you have established a remote session with a computer and now you can run PowerShell commands against it. To enable Remote Desktop, you just need to change the registry parameter fDenyTSConnections from 1 to 0. Run the command:

Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal Server'-name "fDenyTSConnections" -Value 0

how to enable rdp remotely

When RDP is enabled in this way (as opposed to the GUI method), you need to enable Windows Firewall rules for Remote Desktop manually. Run the command:

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

If for some reason this RDP firewall rule is missing, you can create it manually using netsh:

netsh advfirewall firewall add rule name="allow RemoteDesktop" dir=in protocol=TCP localport=3389 action=allow

or using Powershell:

New-NetFirewallRule -DisplayName 'Allow RemoteDesktop' -Profile @('Domain', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort @('3389')

If you want to restrict hosts or subnets that are allowed to connect to Remote Desktop, you can create a custom rule that allows Windows Firewall to only accept incoming RDP connections from specific IP addresses, subnets, or IP ranges. In this case, instead of the previous command, you need to use the following one:

New-NetFirewallRule -DisplayName “Restrict_RDP_access" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 192.168.1.0/24,192.168.2.100 -Action Allow

If you need to enable secure RDP authentication (NLA – Network Level Authentication), run the command:

Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -name "UserAuthentication" -Value 1

Now you can check the availability of TCP port 3389 on the remote host from your computer. Run the command:

Test-NetConnection 192.168.1.11 -CommonTCPPort rdp

There should be a result like this:

ComputerName : 192.168.1.11

RemoteAddress : 192.168.1.11

RemotePort : 3389

InterfaceAlias : Ethernet0

SourceAddress : 192.168.1.90

TcpTestSucceeded : True

turn on rdp remotely

This means that RDP on the remote host is enabled and you can establish a remote desktop connection using mstsc.exe, RDCMan, or any alternative RDP client.

Hint. If you need to enable RDP on several remote computers at once, you can use the following PowerShell script:

$comps = “Server1”, “Server2”, “Server3”, “Server4”

Invoke-Command –Computername $comps –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 0}

Invoke-Command –Computername $comps –ScriptBlock {Enable-NetFirewallRule -DisplayGroup "Remote Desktop"}

By default, only members of the local Administrators group can connect via the RDP remotely. To allow RDP connections for non-admin users, just add domain user to Remote Desktop Group.

You can add the desired users to the Remote Desktop Users locally by using the Local Users and Groups MMC snap-in (LUSRMGR.MSC).

remotely enable remote desktop windows 10

Or you can change RD Users group membership remotely using the Enter-PSSession. Use the following command to add the domain user ASmith to the local group:

net localgroup "remote desktop users" /add "contosoasmith”

Alternatively, instead of the Enter-PSSession cmdlet, you can use another PS Remoting command Invoke-Command:

Invoke-Command -Scriptblock {net localgroup "remote desktop users" /add "contosoasmith”} -Computer Server1.contoso.com

How to Check if Remote Desktop is Enabled on Remote Computers with PowerShell?

Consider a PowerShell script that allows you to remotely get the RDP status on multiple computers in your network. Set a variable that contains a list of remote computers on which you want to check if Remote Desktop is enabled:

$comps=’wks101’,’wks102’,’wks112’, ‘wks223’

You can also check if RDP is enabled on all computers in the Active Directory domain. To get a list of active computers in AD, you can use the Get-ADComputer cmdlet from the PowerShell Active Directory module:

$comps = (Get-ADComputer -Filter 'operatingsystem -like "*Windows 10*" -and enabled -eq "true"').Name

Now you need to get the status of the fDenyTSConnections registry parameter on the remote computers in your list.

$Report = @()

$comps ='localhost','localhost'

foreach ($comp in $comps) {

    $RDPRegistry = Invoke-Command $comp -ScriptBlock { (Get-ItemProperty 'HKLM:SYSTEMCurrentControlSetControlTerminal Server').fDenyTSConnections } -ErrorAction SilentlyContinue  

    $RDPState = switch ($RDPRegistry)

        {

        '0' {"Enabled"}

        '1' {"Disabled"}

        Default {"n/a"}

        }

    $objReport = [PSCustomObject]@{

        ComputerName = $comp

        RDPState = $RDPState

    }

    $Report += $objReport

}

$Report

As a result, you have a cool report that shows which computers on the network have Remote Desktop enabled.

powershell enable rdp

If you want to enable RDP on a remote computer where WinRM is disabled, you can use the WMI PowerShell command.

Tip. To access the WMI namespace on the remote computer, TCP port 135 must be open, and the account must have WMI and DCOM access permissions.

To check if RDP access is enabled on the remote computer 192.168.1.90, run the command (see the value of the AllowTSConnections property):

Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace rootCIMV2TerminalServices -Computer 192.168.1.90 -Authentication 6

turn on remote desktop remotely

To enable RDP and add a Windows Firewall exception rule, run the following command:

(Get-WmiObject -Class Win32_TerminalServiceSetting -Namespace rootCIMV2TerminalServices -Computer 192.168.1.90 -Authentication 6).SetAllowTSConnections(1,1)
  • About
  • Latest Posts

I enjoy technology and developing websites. Since 2012 I’m running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.

Понравилась статья? Поделить с друзьями:
  • Включение удаленного доступа windows 10 через cmd
  • Включение теневых копий windows server 2019
  • Включение теневых копий windows server 2012
  • Включение теневых копий windows 2008 r2
  • Включение теневого копирования в windows 2012 server