Слишком много пользователей вошли в систему Windows Server 2019

Обновлено: 21.11.2024

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

Все настольные версии Windows (включая Win 10 и 11) имеют ряд ограничений на использование службы удаленного рабочего стола:

  1. Вы можете удаленно подключаться через RDP только к более поздним версиям Windows (Professional и Enterprise). В редакциях Windows Home и Single Language входящие подключения к удаленному рабочему столу запрещены;
  2. Поддерживается только одно одновременное подключение RDP. При попытке открыть второй сеанс RDP пользователю предлагается закрыть активное подключение;
  3. Если есть пользователь, работающий на консоли компьютера (локально), то при попытке создать новое удаленное RDP-подключение сеанс консоли будет разорван. Удаленный сеанс RDP также будет принудительно отключен, если пользователь попытается войти в систему локально.

На самом деле количество одновременных RDP-соединений в Windows ограничено лицензией (а не каким-либо техническим аспектом). Таким образом, это ограничение не позволяет создать на базе рабочей станции терминальный RDP-сервер, которым могут пользоваться несколько пользователей. Логика Microsoft проста: нужен терминальный сервер — купите лицензию Windows Server, клиентские лицензии RDS, установите и настройте роль узла сеансов удаленных рабочих столов (RDSH).

Технически любая версия Windows с достаточным объемом оперативной памяти может поддерживать одновременную работу нескольких десятков удаленных пользователей. В среднем для одного пользовательского сеанса требуется 150–200 МБ оперативной памяти (без учета запущенных приложений). То есть максимальное количество одновременных сеансов RDP теоретически ограничено только ресурсами компьютера.

Давайте рассмотрим два способа разрешить одновременные подключения RDP в Windows 10 и 11: с помощью инструмента RDP Wrapper или исправления системного файла termsrv.dll.

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

Оболочка RDP: включение нескольких сеансов RDP в Windows

Проект OpenSource библиотеки оболочки RDP позволяет включить несколько сеансов RDP в Windows 10 без замены файла termsrv.dll. Этот инструмент работает как слой между SCM (диспетчером управления службами) и службами удаленных рабочих столов. RDPWrap позволяет не только включить поддержку нескольких одновременных RDP-подключений, но и создать RDP-сервер в редакциях Windows Home. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, он просто загружает библиотеку termsrv с измененными параметрами.

Таким образом, RDPWrap будет работать даже в случае обновления файла termsrv.dll. Это позволяет не бояться обновлений Windows.

Важно. Перед установкой RDP Wrapper важно убедиться, что вы используете исходную (неисправленную) версию файла termsrv.dll. В противном случае RDP Wrapper может работать нестабильно или вообще не запускаться.

Архив RDPWrap-v1.6.2.zip содержит несколько файлов:

  • RDPWinst.exe — библиотека-оболочка RDP для установки/удаления программы;
  • RDPConf.exe — инструмент настройки оболочки RDP;
  • RDPCheck.exe — утилита проверки RDP (локальная проверка RDP);
  • install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper.

Чтобы установить RDPWrap, запустите файл install.bat от имени администратора. Программа будет установлена ​​в каталог C:\Program Files\RDP Wrapper.

После завершения установки запустите RDPConfig.exe. Скорее всего, сразу после установки инструмент покажет, что оболочка RDP запущена (Installed, Running, Listening), но не работает. Обратите внимание на красное предупреждение [не поддерживается]. В нем сообщается, что эта версия Windows 10 (вер. 10.0.19041.1320) не поддерживается RDPWrapper.

Дело в том, что для каждой версии Windows 10 должно быть описание в конфигурационном файле rdpwrap.ini. В вашем конфигурационном файле просто нет настроек для вашей сборки Windows 10.

Вручную скопируйте содержимое этой страницы в файл «C:\Program Files\RDP Wrapper\rdpwrap.ini». Или загрузите файл с помощью командлета PowerShell Invoke-WebRequest (предварительно необходимо остановить службу удаленного рабочего стола):

Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap .ini"

Перезагрузите компьютер, запустите средство RDPConfig.exe. Убедитесь, что все элементы в разделе «Диагностика» отмечены зеленым цветом и отображается надпись [Полностью поддерживается]. На приведенном ниже снимке экрана показано, что RDP Wrapper с этой новой конфигурацией также отлично работает в Windows 11.

Попробуйте установить несколько RDP-сессий с вашим компьютером (используйте любой RDP-клиент: mstsc.exe, rdcman и т. д.). Это сработало хорошо (вы даже можете использовать сохраненные учетные данные RDP)! Теперь ваша Windows 10 позволяет двум (и более) удаленным пользователям одновременно использовать разные сеансы RDP.

Инструмент RDPWrap поддерживается во всех выпусках Windows, поэтому вы можете создать собственный сервер терминалов (RDS) на любом устройстве Windows.

Кроме того, RDP Wrapper позволяет:

    ;
  • Функция «Скрыть пользователей на экране входа в систему» ​​позволяет скрыть список пользователей на экране входа в систему Windows;
  • Если вы отключите параметр «Один сеанс на пользователя», будет разрешено несколько одновременных сеансов RDP под одной учетной записью пользователя (параметр реестра fSingleSessionPerUser = 0 устанавливается в ключе реестра HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser );
  • Порт RDP — вы можете изменить номер порта удаленного рабочего стола с TCP 3389 на любой другой;
  • В разделе "Режим теневого копирования сеанса" можно настроить режим удаленного управления (теневой) для сеансов RDP.

Оболочка RDP не работает в Windows 10

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

Если утилита показала [не поддерживается] в разделе состояния, файл rdpwrap.ini не содержит конфигурации для вашей сборки Windows. Обновите файл rdpwrap.ini, как описано выше.

Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найти раздел описания для вашей версии Windows. Как узнать, есть ли поддержка вашей версии Windows в конфигурационном файле rdpwrapper?

На снимке экрана ниже показано, что для моей версии Windows 10 (10.0.19041.1320) есть два раздела описания:

Если в файле конфигурации для вашей версии Windows нет раздела, попробуйте с помощью Google найти строки rdpwrap.ini для вашей сборки Windows. Добавьте найденные строки в конец файла.

Если после установки обновлений безопасности или обновления сборки Windows 10 RDP Wrapper работает некорректно, проверьте, отображается ли в разделе «Диагностика» «Состояние прослушивателя: Не прослушивается».

Попробуйте обновить файл rdpwrap.ini, а затем переустановить службу:

rdpwinst.exe -u
rdpwinst.exe -i

Бывает, что при попытке установить второе RDP-подключение под другой учетной записью пользователя появляется предупреждение:

В этом случае вы можете использовать редактор локальной групповой политики (gpedit.msc), чтобы включить политику «Ограничить количество подключений» в разделе «Конфигурация компьютера» -> «Административные шаблоны» -> «Компоненты Windows» -> «Службы удаленных рабочих столов» -> «Узел сеансов удаленных рабочих столов» -> «Подключения». Измените его значение на 999999.

Перезагрузите компьютер, чтобы обновить объект групповой политики и применить настройки.

Измените файл Terminalsrv.dll, чтобы включить несколько сеансов RDP

Чтобы снять ограничение на количество одновременных подключений пользователей RDP в Windows 10 без использования rdpwrapper, вы можете заменить исходный файл termsrv.dll. Это основной файл библиотеки, используемый службой удаленного рабочего стола. Файл находится в каталоге C:\Windows\System32.

Перед редактированием или заменой файла termsrv.dll рекомендуется создать его резервную копию. Это поможет вам вернуться к исходной версии файла, если это необходимо. Откройте командную строку с повышенными привилегиями и выполните команду:

скопировать c:\Windows\System32\termsrv.dll termsrv.dll_backup

Затем вам нужно стать владельцем файла. Чтобы изменить владельца файла с TrustedInstaller на локальную группу администраторов с помощью команды:

забрать /F c:\Windows\System32\termsrv.dll /A

Теперь предоставьте группе локальных администраторов полный доступ к файлу termsrv.dll с помощью icacls.exe:

icacls c:\Windows\System32\termsrv.dll /grant Администраторы:F

После этого остановите службу удаленного рабочего стола (TermService) с помощью консоли services.msc или из командной строки:

Сетевая остановка TermService

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

Прежде чем двигаться дальше, вам необходимо узнать свою версию (номер сборки) Windows 10. Откройте консоль PowerShell и выполните команду:

Get-ComputerInfo | выберите WindowsProductName, WindowsVersion

Затем откройте файл termsrv.dll с помощью любого HEX-редактора (например, Tiny Hexer). В зависимости от вашей сборки Windows вам нужно найти и заменить строку в соответствии с таблицей ниже:

B8 00 01 00 00 89 81 38 06 00 00 90

Редактор Tiny Hexer не может редактировать файл termsvr.dll непосредственно из папки system32. Скопируйте его на рабочий стол и после модификации замените исходный файл.

Например, моя сборка Windows 10 x64 — 21H1 (19043.1320) с версией файла termsrv.dll 10.0.19041.1320. Откройте файл termsrv.dll в Tiny Hexer, затем найдите текст:

39 81 3C 06 00 00 0F 84 2B 5F 01 00

и замените его на:

B8 00 01 00 00 89 81 38 06 00 00 90

Сохраните файл и запустите TermService.

Если что-то пойдет не так и у вас возникнут проблемы со службой удаленного рабочего стола, остановите службу и замените измененный файл termsrv.dll исходной версией:

скопировать termsrv.dll_backup c:\Windows\System32\termsrv.dll

Исправление Terminalsrv.dll в Windows с помощью PowerShell

Чтобы не изменять файл termsrv.dll вручную с помощью HEX-редактора, вы можете использовать следующий сценарий PowerShell для автоматического применения исправления. Этот сценарий основан на версии Windows PowerShell и не работает в современной версии PowerShell Core. Скрипт универсален и может использоваться для исправления файла termsrv.dll во всех выпусках Windows 10 (1809+) и Windows 11.

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

Set-ExecutionPolicy Bypass -Scope Process -Force

И запустите скрипт:

Сценарий можно запустить после установки обновлений Windows, чтобы немедленно внести изменения в файл termsrv.dll (вам не нужно изменять файл termsrv.dll в HEX-редакторе после каждой установки обновления).

Преимущество метода включения нескольких сеансов RDP в Windows 10 или 11 путем замены файла termsrv.dll заключается в том, что на него не реагируют антивирусы (в отличие от RDPWrap, который многими антивирусами детектируется как Malware/HackTool/ троян).

Основной недостаток заключается в том, что вам придется вручную редактировать файл termsrv.dll при каждом обновлении сборки Windows 10 (или при обновлении версии файла termsrv.dll во время установки ежемесячных накопительных обновлений). А если вы используете RDPWrapper, вам также потребуется обновить файл rdpwrap.ini после установки обновлений Windows.

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

Недавно мы купили выделенный сервер с Windows Server 2012 Standard. На нем одновременно могут работать 2 человека. Поэтому я хочу разрешить большему количеству людей одновременно.

Как я могу это сделать?

5 ответов 5

Если вы хотите иметь более двух одновременных подключений, ваш компьютер теперь считается «терминальным сервером», и вы должны платить за «клиентские лицензии на доступ к службам удаленных рабочих столов» (RDS CAL), чтобы люди могли подключаться. ОБНОВЛЕНИЕ: вот ссылка на набор документов «Лицензируйте развертывание RDS с помощью клиентских лицензий (CAL)», которые помогут вам выбрать лицензию и активировать ее на сервере.< /p>

Вы можете приобрести клиентские лицензии в магазине Microsoft или у сторонних реселлеров.

1) Что касается вашей первой ссылки, то есть для сервера 2008 года. Есть ли обновление 2012 года для этой страницы? (поскольку вопрос задается для 2012 сервера). 2) Если дополнительная установка называется «Сервер терминалов», то какая терминология используется для сервера терминалов по умолчанию с ограничением на 2 одновременных подключения?

@Pacerier 1) Интерфейс управления лицензиями не изменился с 2008 по 2012 год, по-прежнему можно использовать руководства 2008 года. 2) Терминология для сервера по умолчанию с ограничением на 2 подключения — «Режим администрирования»

Я имею в виду, что до того, как наш сервер будет считаться "терминальным сервером", какой сервер мы будем называть? Разве это не тоже "терминальный сервер"?

@Pacerier «Сервер терминалов» — это всего лишь одна из многих ролей, которыми может быть сервер 2012 (на самом деле узел сеансов удаленных рабочих столов, о котором идет речь в этом вопросе и ответе, является лишь одной из подфункций набора служб удаленных рабочих столов). ), а на сервере может быть много или ни одного из предопределенных списков. Как вы это называете, зависит от вас, Microsoft заботится только о том, чтобы вы не нарушали лицензию CAL, за которую вы заплатили или не заплатили.

@OliverSalzburg Хорошо, я обновил ответ, указав ссылку на учебный веб-портал Microsoft RDS, на нем есть отличный набор руководств, которые помогут даже самому новому пользователю пройти через процесс настройки сервера узла сеансов удаленных рабочих столов. РЕДАКТИРОВАТЬ: я также проголосовал за ваш ответ, как только заметил, что вы добавили его :)

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

Войдите на сервер и откройте MMC.exe.

Файл → Добавить/удалить оснастку → Объект групповой политики → Добавить → Готово → OK.

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

Ограничение количества подключений = 999999.

Ограничить пользователей служб удаленных рабочих столов одним сеансом служб удаленных рабочих столов = ОТКЛЮЧЕНО.

по умолчанию ограничение количества подключений = не настроено. Тем не менее, оно позволяет одновременно использовать 2 пользователей. по умолчанию это позволяет 2 человека одновременно. Правильно ли я говорю?

Я упоминаю Ограничение количества подключений = 3 и выбираю включенную опцию. Также я ограничил пользователей служб удаленных рабочих столов одним сеансом служб удаленных рабочих столов = ОТКЛЮЧЕН. Тем не менее, он позволяет 2 людям.

Это не работает в Windows 10. Примечание. Этот параметр предназначен для использования на серверах узла сеансов удаленных рабочих столов (то есть на серверах под управлением Windows с установленной службой роли узла сеансов удаленных рабочих столов).

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

После установки роли вы мгновенно получите возможность размещать несколько сеансов RDP. Однако для установки не требуется лицензия, и вы начнете льготный период в 120 дней, после чего служба перестанет работать.

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

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

Рахул, 20 июля 2021 г., 2 минуты чтения

RDP — это протокол, разработанный Microsoft, который позволяет пользователю получать доступ к удаленным системам в графическом виде. Серверы Windows по умолчанию разрешают только один сеанс удаленного рабочего стола за раз. Но в некоторых случаях нам необходимо включить удаленный рабочий стол для нескольких пользователей, чтобы разрешить доступ одновременно.

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

В этом руководстве мы обсудим включение и отключение нескольких сеансов удаленного рабочего стола в Windows Server 2012, 2012 R2, 2016 и 2019.

Включить несколько сеансов RDP

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

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

Ниже приведены скриншоты вносимых изменений:

Отключить несколько сеансов RDP

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

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

RDP (протокол удаленного рабочего стола) – это протокол, разработанный и принадлежащий Microsoft, который позволяет пользователю подключаться к другому компьютеру через сетевое соединение с использованием графического интерфейса. Для подключения к серверу пользователь использует клиентское программное обеспечение RDP, тогда как сервер использует программное обеспечение RDP-сервера, которое включено в операционную систему Windows Server. Когда клиент подключается к серверу, серверы Windows отслеживают информацию о вошедшем в систему пользователе, которую мы можем просмотреть.

Итак, приступим.

Использование диспетчера задач

  1. Перейдите в меню "Выполнить", введите taskmgr.exe и нажмите кнопку "ОК".
    Откроется диспетчер задач.
  2. Просто перейдите на вкладку "Пользователи", там вы увидите активных пользователей.

Он отобразит список пользователей, которые в данный момент вошли в систему. Здесь я только вошел в систему, поэтому отображается информация об одном пользователе. Кроме того, он содержит информацию о том, какое приложение использует пользователь, его текущий статус, загрузку ЦП и использование памяти.

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

Использование пользовательской команды запроса

С помощью команды запроса мы можем найти различную информацию об идентификаторе сеанса, количестве пользователей, состоянии сеанса (активный/неактивный) и т. д. на хост-сервере сеансов удаленных рабочих столов. Эту команду можно использовать, чтобы определить, вошел ли конкретный пользователь в определенный сервер узла сеансов удаленных рабочих столов или нет.

Эта команда будет работать в Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 и т. д. Таким образом, эта команда не будет работать в Windows Server 2008.

сеанс запроса

Он отображает информацию не только об активных сеансах, но и о других сеансах, запущенных сервером.

Использование команды quser

Это то же самое, что и команда "Запросить пользователя".Эта команда также будет работать только для Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012.

Использование команды qwinsta

Запрос WINdows STAtion обозначается аббревиатурой qwinsta. Он отображает информацию о сеансах на сервере узла сеансов удаленных рабочих столов. Список включает информацию не только об активных сеансах, но и о других сеансах, которые выполняет сервер.

Посмотрите на столбец состояния, и вы увидите, активен пользователь или нет. Здесь видно, что пользователь с ID 6 активен

Использование командлета Get-RDUserSession

Командлет Get-RDUserSession возвращает список всех пользовательских сеансов в коллекции или в развертывании удаленного рабочего стола. Обратите внимание, что это может не работать на некоторых серверах, таких как Windows R2 2012.

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

Инструментарий управления Windows (WMI) – это подсистема PowerShell, предоставляющая администраторам мощные средства мониторинга системы.

Просто набрав следующую команду, вы многое узнаете:

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

Использование инструментов PsLoggedOn

PsTools — это небольшой инструмент командной строки Sysinternals, который может помочь в администрировании локальных и удаленных систем. Это помогает определить, кто в данный момент вошёл в систему как в локальной, так и в удалённой системах.

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

  • Загрузите PsLogged по ссылке выше
  • Извлеките файлы
  • Перейдите к извлеченным ссылкам и откройте командную строку в том же месте.
  • Затем используйте синтаксис, упомянутый выше.

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

Использование средства просмотра удаленных событий

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

1 Успешное подключение к удаленному компьютеру

2 Нажмите Ctrl + R, введите eventvwr и нажмите Enter. Откроется eventvwr.

3 Просто нажмите на ярлык "Создать пользовательский вид", расположенный в правом углу.

4 Затем в разделе "Всплывающее окно" выберите "Безопасность" в разделе "Журналы событий" и введите идентификатор в виде 4624 ,4647, 4779,4800, а затем нажмите "ОК".

5 На следующем экране укажите имя журнала, например «История удаленного входа», и нажмите «ОК».

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

7 Нажмите на строку события, и под ним отобразятся сведения, относящиеся к этому событию.

Как включить службу удаленного реестра на удаленном сервере?

  • Перейдите к менеджеру служб.
  • Найдите службу "Удаленный реестр".
  • Дважды щелкните сервис.
  • Установите для параметра "Тип запуска" значение "Автоматически", затем нажмите кнопку "Пуск".
  • Нажмите "ОК", чтобы сохранить настройки.

Или вы можете просто запустить следующую строку за строкой в ​​Powershell.

Set-Service — это командлет, который может изменять свойства StartupType, Status, Description и Displayname службы. Вы можете запускать, останавливать и приостанавливать службу с помощью командлета Set-Service.

Здесь Set-Service ищет службу RemoteRegistry и настраивает автоматический запуск этой службы. И -passthru указывает, что если вы уже используете эту службу, игнорируйте ее, иначе она запустится автоматически.

Файл сценария Powershell, который отображает список всех пользовательских RDP-подключений

Приведенный ниже сценарий выведет список всех пользовательских RDP-соединений.

  • Откройте текстовый файл и вставьте приведенный ниже код.
  • Сохраните файл как .ps1
  • Откройте Powershell и введите: Powershell.exe -File file_location_path и нажмите Enter
    где file_location_path — фактическое местоположение файла

$AllUser = Get-WmiObject -Class Win32_UserAccount
foreach($User в $AllUser)
$RegPath = "Registry::HKEY_USERS\"+$User.SID+"\Software\Microsoft\Terminal Сервер Клиент\Серверы\"
Write-Host "Пользователь:"$User.Name
Write-Host "SID:"$User.SID
Write-Host "Статус:"$User. Статус
$QueryPath = dir $RegPath -Name -ErrorAction SilentlyContinue
If(!$?)
Write-Host "[!]Вы не вошли в систему"
Write-Host "[ *]Попробуйте загрузить Hive"
$File = "C:\Documents and Settings\"+$User.Name+"\NTUSER.DAT"
$Path = "HKEY_USERS\"+$User.SID
Write-Host "[+]Путь:"$Path
Write-Host "[+]Файл:"$File
Reg load $Path $File
If(! $?)
Write-Host "[!] Не удалось загрузить куст"
Write-Host "[!] Нет истории подключений RDP"
>
Еще
$ QueryPath = dir $RegPath -Name -ErrorAction SilentlyContinue
If(!$?)
Write-Host "[!]Нет истории подключений RDP"
>
Другое
foreach($Name in $QueryPath)
<
$User = (Get-ItemProperty -Path $RegPath$Name -ErrorAction Stop).UsernameHint
Write-Host "Server:"$Name < br />Write-Host "Пользователь:"$User
>
>
Write-Host "[*] Попытка выгрузить куст"
Start-Process powershell.exe -WindowStyle Скрытый -ArgumentList "Reg unload $Path"
>
>
foreach($Name in $QueryPath)
<
Попробуйте
<
$User = (Get-ItemProperty -Path $RegPath$Name -ErrorAction Stop).UsernameHint
Write-Host "Server:"$Name
Write-Host "User:"$User
>
Catch
Write-Host "[!]Нет истории подключений RDP y"
>
>
Write-Host "--------------------------------------------- ----"
>

Авторы сценариев отправляются gstudent@3gstudent

Что происходит в приведенном выше скрипте?

Ответ: Для начала используйте "reg load" для загрузки улья. Затем из «HKEY_USERS\»+$User.SID+»\Software\Microsoft\Terminal Server Client\Servers\» прочитайте историю подключений RDP. Наконец, используйте «reg unload», чтобы выгрузить улей. Для получения истории входа пользователей данные считываются из файла NTUSER.DAT

сообщить об этом объявлении

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