Способы смены пароля учётной записи пользователя в RDP-сессии – Блог IT-KB

Что такое rdp

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

Протокол удалённого рабочего стола (Remote Desktop Protocol, RDP) — это проприетарный протокол Microsoft, который предоставляет пользователю графический интерфейс для подключения к другому компьютеру через сетевое соединение. Для этого пользователь запускает клиентское программное обеспечение RDP, а на другом компьютере должно быть запущено программное обеспечение сервера RDP.

Клиенты для подключения по RDP существуют для большинства версий Microsoft Windows (включая Windows Mobile), Linux, Unix, macOS, iOS, Android и других операционных систем. RDP-серверы встроены в операционные системы Windows; RDP-сервер для Unix и OS X также существует. По умолчанию сервер прослушивает TCP-порт 3389 и UDP-порт 3389.


В настоящее время Microsoft называет своё официальное клиентское программное обеспечение RDP «Подключение к удалённому рабочему столу» (Remote Desktop Connection), которое ранее называлось «Клиент служб терминалов» (Terminal Services Client).

Файл клиента называется mstsc.exe.

Rdp включён, но ошибка «соединение разорвано другой стороной»

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

Связанные статьи:

Remote desktop passview

 Remote Desktop PassView – это небольшая программа, которая открывает пароли сохраненные в утилите Microsoft Remote Desktop Connection, а именно в файлах .rdp. Для запуска программы достаточно распаковать скачанный архив и запустить rdpv.exe. После запуска программа автоматически отобразит пароли, в файлах .rdp, которые находятся в папке Мои документы. Обычно эти файлы хранятся именно там, однако, если вы хотите просмотреть другой файл – просто перетащите его из Windows Explorer в главное окно программы. Примите во внимание, что Remote Desktop PassView может восстановить пароли только текущего пользователя Windows. Для того, чтобы русифицировать программу, скачайте архив с русификацией, распакуйте его и перенесите файл в папку с программой.

Адаптация скриптов powershell для linux

Я сам только начинаю знакомство с PowerShell, но хочу привести интересный пример, как можно самостоятельно решить проблему и запустить скрипт PowerShell в Linux не смотря на то, что он выдавал ошибку.


В Invoke-TheHash есть функция Invoke-SMBEnum, которая выполняет перечисление пользователей, групп, сетевых сессий и совместных ресурсов. В Windows эта функция работает отлично. Попробую использовать её в Linux.

Запускаю консоль PowerShell:

pwsh

Перехожу в папку с уже скаченными скриптами:

cd ./bin/Invoke-TheHash/


Импортирую файл с нужной функцией:

Import-Module .Invoke-SMBEnum.ps1

Запускаю:

Задать вопрос по powershell

На этой странице я планирую добавлять ответы на часто возникающие вопросы и решения для частых проблем у новичков с PowerShell, поэтому если вам что-то ещё не понятно, то спрашивайте здесь в комментариях.

Связанные статьи:

Запуск скрипта с помощью import-module

При запуске некоторых скриптов может ничего не происходить. Дело в том, что скрипт может содержать в себе функцию, которую нужно импортировать, а затем запустить. Поищите в документации по интересующей вас программе примеры со строкой Import-Module.


Например для запуска WinPwn нужно вначале импортировать файл с функциями:

Import-Module .WinPwn.ps1

А после этого можно вызывать содержащиеся в файле функции:

WinPwn

Использование bat файла

Альтернативным методом, который может пригодиться для того случая, когда использование первого и второго способа по каким-то причинам не работает, является использование bat файла, комбинирующим в себе первый и второй способы.

Как включить удалённый рабочий стол rdp


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

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

Как включить удалённый рабочий стол на windows 10 в графическом интерфейсе

На устройстве, с которого вы собираетесь подключиться, откройте меню Пуск и щёлкните значок Параметры:

Выберите Система:


На вкладке «Удалённый рабочий стол» включите соответствующий ползунок. Также вы можете выбрать пользователей, которые могут подключаться удалённо к компьютеру.

Подтвердите выбранное действие:

Дополнительно вы можете включить настройки:

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


Кликнув «Дополнительные параметры» вы увидите настройки для изменения стандартного порта RDP и других свойств подключения.

Описанные выше способы также будут работать и на Windows Server 2021. В дополнении к ним есть ещё несколько способов включения RDP на Windows Server 2021.

Как включить удалённый рабочий стол на windows 10 в командной строке

Нажмите Win r и введите:

SystemPropertiesRemote

В открывшемся окне выберите «Разрешить удалённые подключения к этому компьютеру»:


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

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

И нажмите кнопку «Проверить имена»:

Команду SystemPropertiesRemote также можно запустить в командной строке, либо в PowerShell.

Как включить удалённый рабочий стол на windows server 2021 в powershell

Разрешение службы удалённых рабочих столов в Windows Server 2021 быстрее сделать в PowerShell, чем в графическом интерфейсе. Для этого параметра мы будем использовать командлет Set-ItemPropery для изменения параметра флага реестра.

Запустите сеанс PowerShell от имени администратора. Для этого нажмите Win x и выберите Windows PowerShell (администратор):

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

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

Файервол Windows не разрешает удалённые подключения к RDP Нам нужно настроить файервол, чтобы он разрешал удалённые подключения RDP, для этого выполните команду:

:/>  Компьютер включается с клавиатуры windows 10 как отключить

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"


Для отключения RDP запустите:

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

Как включить удалённый рабочий стол на windows server 2021 в настройках (графический интерфейс)

Если вы не дружите с терминалом, вы также можете включить службу RDP из графического интерфейса сервера. Откройте Диспетчер серверов из меню «Пуск» и нажмите на «Локальный сервер» в левой части. Найдите пункт «Удалённый рабочий стол» и кликните по слову «Отключено»:

В открывшемся окне выберите «Разрешить удалённые подключения к этому компьютеру»:


Согласитесь с изменением правила файервола:

Как запустить скрипт powershell в linux

В Linux для вызова консоли PowerShell нужно набрать:

pwsh

Затем в консоли PowerShell либо просто запустите желаемый скрипт:

./hello_world.ps1

Либо запустите функцию после импорта файла с помощью Import-Module. Пример запуска через импорт одной из функции Invoke-TheHash:

Как запустить скрипт powershell в windows

Для запуска скрипта с расширением .ps1 нужно открыть консоль PowerShell и затем указать полный путь до файла. Вы также можете перейти в папку со скриптом либо с помощью команды cd, либо, если вы хотите полностью окунуться в стиль PowerShell, то можете использовать Set-Location.

Как изменить порт для rdp

При подключении к компьютеру (клиенту Windows или Windows Server) через клиент удалённого рабочего стола функция удалённого рабочего стола на вашем компьютере «слышит» запрос на подключение через определённый порт прослушивания (по умолчанию 3389). Вы можете изменить этот порт прослушивания на компьютерах с Windows, изменив реестр.

  1. Запустите редактор реестра. (Введите regedit в поле поиска.)
  2. Перейдите к следующему подразделу реестра: HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-TcpPortNumber
  3. Нажмите «Правка» → «Изменить», а затем нажмите «Десятичная».
  1. Введите новый номер порта и нажмите кнопку ОК.
  2. Закройте редактор реестра и перезагрузите компьютер.

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

Как настроить подключение к rdp из интернета


RDP разрешает любые подключения, будь то из локальной сети или из Интернета. Для подключения из Интернета требуется, чтобы у вашего компьютера был белый IP.

Если же ваш Интернет-провайдер использует NAT, то вам нужно арендовать внешний (белый) IP адрес.

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

1. Начать нужно с «Настройки постоянного IP в Windows».

2. Последующие настройки нужно делать в роутере. Поскольку у всех разные модели роутеров, то конкретные действия и названия вкладок в панели администрирования роутеров могут различаться. Главное понять суть и найти соответствующую вкладку в роутере. Помните, что нужно перенаправить порты TCP и UDP с номером 3389.

Перейдите в панель управления роутером. В настройках роутера перейдите в раздел «Интернет» (может называться WAN), затем во вкладку «Переадресация портов» (может называться «Перенаправление портов», «Port Forwarding»):

3. Добавьте новое правило:

4. И нажмите кнопку «Добавить».

5. Сохраните сделанные изменения.


IP адрес компьютера Windows можно посмотреть командой:

ipconfig

Про переадресацию портов, о том, что это такое (на примере веб сервера), дополнительно читайте в статье «Apache Forwarding — проброска портов веб-сервера».

Ещё одним вариантом является использование VPN (виртуальной частной сети), в которой каждому компьютеру присваивается локальный адрес, но сама виртуальная частная сеть включает компьютеры которые могут быть размещены за пределами реальной частной сети. Подробности о VPN смотрите в статье «Доступ к службам компьютера через NAT и с серым IP с помощью OpenVPN».

Как обновить powershell до последней версии

По умолчани в Windows 10 предустановлена версия PowerShell 5, но в настоящее время последней версией является PowerShell 7. Чтобы обновиться до последней версии смотрите статью «Как установить PowerShell 7 в Windows 10». Обратите внимание, что PowerShell 7 не заменит PowerShell 5. То есть в системе будут доступны обе версии PowerShell.

Как подключиться к другому компьютеру и видеть его экран по rdp

Удалённый рабочий стол можно использовать для подключения к Windows 10 Pro и Windows 10 Корпоративная, Windows 8.1, Windows 8 Корпоративная и Windows 8 Pro, Windows 7 Pro, Windows 7 Корпоративная и Windows 7 Максимальная, а также для подключения к версиям выше Windows Server 2008. Подключиться к компьютерам под управлением выпуска “Домашняя” (например, Windows 10 Домашняя) нельзя.

Предварительная настройка или включение клиента RDP не требуется. Откройте командную строку (либо Win r) и запустите:

mstsc

Либо нажмите кнопку «Пуск» и начните набирать «подключение к удаленному рабочему столу»:


Для подключения можно использовать IP либо имя компьютера. Если вы не знаете, что это такое, то смотрите статью «Имя компьютера Windows: как изменить и использовать».

Введите IP либо имя компьютера, я буду использовать имя компьютера и подключусь к HackWare-MiAl:

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

Нажимаем «Да»:


Система пишет, что в систему вошёл другой пользователь. Дело в том, что при подключении к удалённому компьютеру выполняется выход всех пользователей (в том числе того, от чьего имени мы подключаемся).

:/>  IT - это "жизнь": RDP и командная строка, команды RDP

Если на удалённом компьютере выполнил вход какой-либо другой пользователь, то для него будет показано следующее сообщение:

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

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


Обратите внимание на панель вверху в центре экрана:

С помощью этой панели можно:

  • проверить качество подключения до удалённого компьютера;
  • свернуть удалённый рабочий стол без отключения (работает как с любым приложением — для открытия рабочего стола достаточно кликнуть на его иконку на панели приложений);
  • изменить размер экрана удалённого компьютера (то есть выйти из полноэкранного режима, либо войти в полноэкранный режим снова);
  • закрыть подключение к удалённому рабочему столу.

На следующем скриншоте удалённый рабочий стол не в полный экран на фоне основного рабочего стола сервера, с которого выполнено подключение:

Как получить справку по командам в powershell

Если вы хотите получить справку по опциям функции, команды или программы в PowerShell, то используйте команду Get-Help, после которой укажите другую команду, по которой вы хотите получить справку:

Get-Help КОМАНДА


Для получения справки по Set-Location:

Get-Help Set-Location

Для получения справки по Invoke-SMBEnum (после импорта функции из файла):

Get-Help Invoke-SMBEnum

Как установить powershell в linux

PowerShell работает также и в Linux, но некоторые команды PowerShell отсутствуют в Linux. При запуске скриптов PowerShell в Linux возникнут проблемы в следующих случаях:

  • в скрипте используются команды, которые отсутствуют в Linux версии PowerShell (например, из-за того, что связаны с настройками Windows или неприменимы для Linux по другим причинам)
  • скрипт обращается к переменным окружения Windows
  • в скрипте используются утилиты Windows, отсутствующие в Linux


Могут быть и другие причины проблем, но много всё равно работает.

Многие дистрибутивы Linux поддерживаются официально и простые инструкции по установке PowerShell в свой дистрибутив, а также установочные файлы вы найдёте здесь:

Настройки mstsc

Рассмотрим дополнительные настройки программы mstsc, которые открываются при нажатии на кнопку «Показать параметры»:

На вкладке «Общие» вы можете указать имя пользователя.


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

При желании вы можете сохранить настройки в RDP файл или выбрать сохранённый ранее файл с настройками RDP.

На вкладке «Экран» доступны настройки:

  • Укажите размер удалённого рабочего стола. Крайнее правое положение ползунка соответствует полноэкранному режиму.
  • Использовать все мои мониторы для удалённого сеанса
  • Укажите глубину цвета для удалённого сеанса.
  • Отображать панель подключений при работе на полном экране


На вкладке «Локальные ресурсы» вы найдёте настройки:

  • звука (где проигрывать и записывать звуки удалённого рабочего стола)
  • клавиатуры (где будут работать сочетания клавиш — на текущем или удалённом рабочем столе)
  • локальные ресурсы (использовать ли принтеры, буфер обмена, смарт-карты, порты, диски, устройства видеозахвата и PnP устройства)

Вкладка «Взаимодействие»:

В разделе «Быстродействие» вы можете выбрать тип подключения и включить или отключить второстепенные функции, чтобы при любой скорости Интернета работа с удалённым столом была комфортной.

По умолчанию качество соединения определяется автоматически и также автоматически включаются или отключаются второстепенные функции.


Вручную можно включить или отключить (функции, зависимые от качества соединения):

  • Фон рабочего стола
  • Сглаживание шрифтов
  • Композиция рабочего стола
  • Отображать содержимое окна при перетаскивании
  • Визуальные эффекты при отображении меню и окон
  • Стили оформления

Также вы есть настройки:

  • Постоянное кэширование точечных рисунков
  • Восстановить подключение при разрыве

Вкладка «Дополнительно»:

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

Если не удалось подтвердить подлинность удалённого компьютера, то доступны варианты:

  • Предупреждать
  • Подключаться без предупреждения
  • Не соединять

Подключение из любого места: Настройка параметров для подключения через шлюз при удалённой работе.

Опции mstsc

Хотя mstsc является утилитой с графическим интерфейсом, вы можете запускать программу в командной строке с опциями. Далее рассмотрены эти опции.


Использование mstsc:

Отличия powershell и cmd в windows

В Windows PowerShell уже давно устанавливается по умолчанию.

Чтобы открыть PowerShell, нажмите Win x и выберите Windows PowerShell (администратор):

В приглашении командной строки вы увидите PS и текущую рабочую директорию:


Чтобы открыть CMD нужно нажать Win r, напечатать cmd и нажать ENTER:

Приглашение командной строки CMD выглядит так:

В CMD можно запустить:

  • утилиты командной строки Windows
  • встроенные функции CMD
  • файлы .bat

В PowerShell можно запустить всё то же самое, что и в CMD, а также дополнительно:

  • команды языка PowerShell
  • скрипты PowerShell


В PowerShell сработает такая простая команда как dir:

dir

Но если выполнить эту команду в PowerShell и в CMD, то можно увидеть, что вывод этих команд различается.

А если попытаться выполнить эту команду с опцией, например:

dir /A

То в CMD она сработает, а в PowerShell завершится ошибкой.

Дело в том, что вместо реализации таких же утилит как в CMD, в PowerShell используются собственные командлеты, работа которых различается, например, выводом или поддержкой опций. В PowerShell сработают команды cd, ls, dir, cat, man, kill, mount, move, sort, pwd, wget, curl и другие, знакомые по Linux, но это НЕ ОЗНАЧАЕТ что эти команды поддерживают те же самые опции, что и опции в Linux.

Get-Alias

Ремарка

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

:/>  Звук идет рывками на компьютере

Попытки смены пароля, инициированные самим пользователем, могут оказаться безуспешными в случае, если пароль был недавно изменён и на удалённую Windows систему действует политика безопасности, определяющая минимальный срок действия пароля.

Как правило, это настраивается на уровне стандартных доменных групповых политик Active Directory и/или механизмов Password Settings objects (PSOs).

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

Далее мы поговорим о сценарии, при котором требование смены пароля включается для учётной записи пользователя форсировано администратором сервера (для локальных учётных записей), либо администратором службы каталогов Active Directory (для доменных учётных записей).

Практика показывает, что как только администратором включено требование смены пароля пользователя при следующем входе в систему, у пользователя могут возникнуть проблемы с подключением по протоколу RDP, если на стороне RDS сервера (а в некоторых случаях и на стороне RDS клиента) предварительно не предпринято никаких действий по специальной настройке обработки таких ситуаций. Далее мы рассмотрим пару примеров такой настройки.

Сохранение пароля с помощью cmdkey

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

Способ №2 – экранная клавиатура

В составе Windows имеется приложение “Экранная клавиатура” (On-Screen Keyboard), расположенное по умолчанию в %SystemRoot%System32osk.exe. Используя это приложение, мы можем решить проблему использования “горячих” клавиш во вложенных RDP-сессиях.

Находясь во вложенной RDP-сессии, вызовем окно запуска приложений. Вызвать его можно разными способами, например, через контекстное меню по кнопке Windows, или через Диспетчер задач (Task Manager):

Либо можно использовать сочетание клавиш Win-R.

В окне запуска приложений выполним запуск исполняемого файла osk.exe

После того, как откроется приложение “Экранная клавиатура”, нажмём на физической клавиатуре сочетание клавиш Ctrl-Alt, так, чтобы это отобразилось на экранной клавиатуре и затем, удерживая это сочетание клавиш, на экранной клавиатуре мышкой нажмём кнопку Del.

Таким образом мы отправим в удалённую RDP-сессию сочетание клавиш Ctrl-Alt-Del, в следствие чего откроется специальный экран Безопасности Windows с функцией изменений пароля пользователя.

Способ №3 – ярлык на vbs-скрипт или powershell

Вызов экрана Безопасности Windows можно выполнить не только интерактивными способами, но и программными, например, с помощью скриптов.

Создадим VBS-скрипт, например, с именем Windows Security.vbs. Наполним скрипт следующим содержимым:

Set objShell = CreateObject("Shell.Application")
objShell.WindowsSecurity

Способ №4 – ярлык оболочки windows explorer

Если говорить о создании ярлыка запуска экрана Безопасности Windows, то имеется ещё один вариант создания такого ярлыка. Создаётся ярлык со ссылкой на расширение оболочки Windows Explorer следующего вида:

C:Windowsexplorer.exeshell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Опять же, при запуске такого ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля. Этот способ одинаково хорошо работает на Windows 10 и на Windows Server 2021 R2.

Способ №5 – панель управления windows (локальные учётные записи)

Данный способ относится лишь к локальным учётным записям пользователей. Изменить пароль учётной записи рядового локального пользователя можно через Панель управления Windows. В Windows 10 из раздела Панели управления “Учётные записи пользователей” доступен вызов окна “Параметры компьютера”, в котором имеется функция изменения пароля текущего локального пользователя.

Способ №6 – remote desktop web access

Клиентский доступ к службам Windows Server RDS может быть организован через веб-интерфейс серверной роли Remote Desktop Web Access (RDWA). В функционале этой роли имеется выключенная по умолчанию возможность смены пароля пользователя в процессе аутентификации на веб-странице RDWA.

Сразу стоит отметить то, что данный способ смены пароля будет доступен только в том случае, если на веб-узлах RDWA используется аутентификация на основе формы (Forms Authentication), а этот тип аутентификации несовместим с типом Windows Authentication, о подключении которого мы говорили ранее.

Чтобы включить данную возможность в Windows Server 2021/2021 R2 откроем консоль управления Internet Information Services (IIS) Manager, выберем сайт RDWA, развернём RDWeb >

В перечне опций находим PasswordChangeEnabled и меняем установленное по умолчанию значение false на true:

Если серверов RDWA несколько и они работают в пуле за балансировщиком, например Windows NLB, то не забываем выполнить данное изменение на всех других серверах пула.

Теперь попытаемся от имени пользователя, у которого в свойствах учётной записи установлено требование смены пароля при следующем входе, аутентифицироваться на веб-странице RDWA:

Установка powershell в kali linux


PowerShell добавлен в стандартные репозитории Kali Linux, поэтому установка очень простая:

sudo apt install powershell

Заключение

Приведённый здесь перечень способов смены пароля при использовании протокола RDP не претендует на какую-то полноту и исключительность, а лишь отражает ту информацию, которую мне удалось найти в разных источниках по этому поводу. На мой взгляд, ни один из перечисленных способов нельзя считать наиболее удобным или универсальным, так как каждый из способов может применяться в определённых ограниченных сценариях и имеет, как преимущества, так и недостатки по сравнению с другими способами.

Дополнительные источники информации:

Оставьте комментарий