Включить rdp windows 10 через групповые политики

Обновлено: 04.07.2024

date

06.05.2021

directory

PowerShell, Windows 10, Windows Server 2016, Windows Server 2019, Групповые политики

comments

комментария 23

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

Включаем удаленный рабочий стол в 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.

Обратите внимание, что вы не можете включить 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 доступ с помощью PowerShell?

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

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

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

Чтобы проверить, что на компьютере открыт 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 с групповых политик в домене Active Direcrtory

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

  1. Запустите консоль управления доменными GPO gpmc.msc ;
  2. Создайте новую (или отредактируйте уже существующую) групповую политику и привяжите ее к целевой OU с компьютерами или серверами;
  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; на клиентах;
  5. После применения данной политики вы сможете подключится ко всем компьютерам по RDP (политика применится как к десктопным клиентам с Windows 10, так и к Windows Server). Если нужно, вы можете более тонко нацелить политики на компьютеры с помощью WMI фильтров GPO.
  6. Если на компьютерах включен Windows Defender Firewall, нужно в этой же GPO разрешить RDP-трафик для доменного профиля. Для этого нужно активировать правило Windows Firewall: Allow inbound Remote Desktop Exceptions (находится в разделе Computer Configuration -> Administrative Templates -> Network -> Network Connections -> Windows Firewall -> Domain Profile).

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

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

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

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

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

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

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

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

fDenyTSConnections - параметр реестра для включения rdp в windows

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

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

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

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

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

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

Invoke-Command -Computername WKMDK22SQ65 -ScriptBlock

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

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

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

1. Включаем удаленный рабочий стол с помощью групповых политик GPO.

Computer Configuration > Administrative Templates > Windows Components >Remote Desktop Services > Remote Desktop Session Host > Connections.






1.2 Разрешаем RDP в брандмауэре Windows на удаленном компьютере с Windows 10.


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


2. Включаем удаленный рабочий стол с помощью Powershell

Однако есть одна загвоздка - на самом деле, две. Брандмауэр Windows может помешать вам, если на компьютере не включено удаленное взаимодействие c PowerShell. Мне известны два способа удаленного включения удаленного рабочего стола через PowerShell. Какой метод вы используете в основном, зависит от конфигурации брандмауэра Windows.


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

Скорее всего, брандмауэр Windows блокирует RDP на удаленной машине. Чтобы открыть порт удаленного рабочего стола, вы можете использовать эту команду PowerShell:

3. Включаем удаленный рабочий стол с помощью WMI

Если удаленное взаимодействие PowerShell не включено на удаленном компьютере, вы все равно можете использовать PowerShell через WMI для этой задачи. Это может быть полезно, если вам нужно включить RDP на нескольких машинах или если эта задача является частью более крупной проблемы автоматизации, а рекомендации по безопасности вашей организации не допускают удаленного взаимодействия PowerShell. Вот сценарий PowerShell, использующий командлет Get-WmiObject, он позволяет удаленно управлять компьютерами без удаленного взаимодействия PowerShell.


Чтобы использовать сценарий, вам просто нужно сохранить его в файл (Enable-RDPAccess.ps1) и затем запустить эту команду:


Если вы хотите включить RDP на нескольких компьютерах с Windows 10, вы можете сохранить имена компьютеров в текстовом файле и затем использовать команделет Get-Content, чтобы передать имена компьютеров в файл Enable-RDPAccess.ps1:

Настройка брандмауэра через WMI, а именно с помощью команды wmic:

Конечно, вы также можете включить удаленный рабочий стол с помощью wmic:


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

Computer Configuration > Policies > Windows Settings > Security Settings > Windows Firewall with Advanced Security.


4. Включаем удаленный рабочий стол с помощью Psexec

Еще одним вариантом является бесплатный инструмент от Microsoft Psexec. Этот способ также не требует удаленного взаимодействия PowerShell. Единственным недостатком является то, что использовать его не так просто, как Invoke-Command в сценариях PowerShell. Psexec требует, чтобы брандмауэре Windows был открыт порты для общего доступа к файлам и принтерам, что, вероятно, более распространено, чем открытые порты WMI или включенное удаленное взаимодействие с PowerShell:

Computer Configuration > Policies > Administrative Templates > Network > Network Connections > Windows Firewall > Domain Profile > Windows Firewall: Allow inbound file and printer sharing exception

Удаленное управление в Windows осуществляется с помощью службы Windows Remote Management (она же WinRM). Теоретически на всех более современных ОС эта служба должна быть активна по умолчанию, на практике же это не всегда так. Для того, чтобы гарантированно иметь возможность удаленного доступа, необходимо принудительно активировать службу и настроить к ней доступ. В доменной среде для этого проще всего воспользоваться групповыми политиками.

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

Первым делом нам необходимо разрешить удаленное управление. Для этого переходим в раздел Computer Policies\Administrative Templates\Windows Components\Windows Remote Management (Win RM)\WinRM Service и находим там параметр с названием «Allow remote server management through WinRM».

политика для разрешения WinRM

Активируем его, переведя переключатель в состояние «Enabled». Дополнительно в разделе «Options» можно указать IP-адреса, с которых разрешено удаленное управление. Если оставить звездочку (*), то доступ будет разрешен с любого адреса IPv4/IPv6.

настройка политики

Затем идем в раздел Computer Configuration\Policies\Windows Components\Windows Remote Shell, находим пункт с именем «Allow Remote Shell Access»

политики remote shell

и активируем его. Эта настройка отвечает за удаленный доступ с использованием консоли cmd или powershell.

разрешаем remote shell

Следующим шагом будет настройка файерволла. Нам необходимо создать новое правило для входящих подключений, поэтому переходим в раздел Computer Policies\Windows Settings\Security Settings\Windows Firewall with Advanced Security\Inbound Rules, кликаем правой клавишей мыши, выбираем пункт «New Rule»

создание правила файерволла

переходим к пункту «Predefined» и из списка готовых правил выбираем «Windows Remote Management».

выбор типа правила

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

выбор профиля

Поскольку правило разрешающее, то в качестве действия выбираем «Allow the connection» и жмем «Finish».

выбор действия

Правила готовы, идем дальше.

готовые правила

Как я уже говорил, возможность удаленного управления обеспечивает служба Windows. Эта служба должна быть всегда активна, поэтому установим для нее режим автоматического запуска. Переходим в раздел Computer Policies\Windows Settings\Security Settings\System Services, находим службу Windows Remote Management (WS-Management) и дважды кликаем по ней.

настройка типа запуска службы WinRM

В открывшемся окне отмечаем чекбокс «Define This Policy Setting» и указываем тип запуска «Automatic».

включение автозапуска службы

Теперь переходим в раздел Computer Policies\Preferences\Control Panel Settings\Services, кликаем в нем правой клавишей и выбираем New -> Service.

настройка службы WinRM

В поле «Service name» выбираем службу WinRM.

выбор службы

Затем переходим на вкладку «Recovery» и указываем рестартовать службу в случае ее сбоя или остановки. Этот шаг в принципе необязателен, но на всякий случай пусть будет.

выбор действия при остановке службы

На этом все. Готовую политику назначаем на нужные OU и ждем, пока настройки применятся.

  • Есть домен polygon.local, развернут по заметке.
  • Есть две рабочие станции (WinXP x86, Win7 x86) состоящие в домене polygon.local

Открываем оснастку управления групповыми политиками :

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

Именуем создаваемую групповую политику: - GPO_Remote_Desktop

Открываем ее на редактирование и переходим в элементы конфигурирования настроек на компьютер:

Добавляем созданную для VDI группу в локальную Remote Desktop Users

Далее в окне свойств данной группы указываем месторасположение данной группы в другой группе :

Указываем месторасположение данной группы vdi_rdp

Итоговый вид, что в должно получиться

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

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

Создаем ключ через политику в реестре

И приводим значения настроек к виду:

Hive: (Куст) – HKEY_LOCAL_MACHINE

Key Path: (ключ) – System\CurrentControlSet\Control\Terminal Server

Value name (именование значения) – fDenyTSConnections

Value type (тип значения) – REG_DWORD

Value data (значение) 00000000

Значение параметра fDenyTSConnections может принимать, либо 00000000 enable (Удаленный рабочий стол включен) OR 00000001 disable (Удаленный рабочий стол отключен)

См. скриншот ниже для наглядного понимания, что в итоге должно получиться.

Выставляем значение параметра fDenyTSConnections равным 0 для подключения через RDP

Enable – и прописываем сеть, 10.9.9.0/24 – моя сеть обслуживаемая домен контроллером.

На рабочей станции Windows 7 группа на подключение по RDP к компьютеру появилась.

Читайте также: