Windows

Терминальный сервер windows 10: Терминальный сервер на Windows 10/8/8.1 | IT блоги

18.12.1979

Содержание

Запуск терминала Server, подключение и приложение — Windows Server

  • Чтение занимает 8 мин

В этой статье

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

Применяется к:   Windows Server 2012 R2
Исходный номер КБ:   186572

Терминал Windows Инициализация сервера

По мере загрузки Терминал Windows Сервер и загрузки основной операционной системы служба терминала Server (Termsrv.exe) начинает работу и создает стеки прослушивания (по одному протоколу и транспортной паре), которые прослушивают входящие подключения. Каждому подключению предоставляется уникальный идентификатор сеанса или «SessionID», который представляет отдельный сеанс на сервере терминала. Каждый процесс, созданный в сеансе, «помечен» со связанным SessionID, чтобы отличать пространство его имен от пространства имен любого другого подключения.

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

Затем служба терминала Server вызывает диспетчер сеансов Windows NT (Smss.exe) для создания двух (по умолчанию = 2) бездействуют клиентские сеансы (после создания сеанса консоли), ожидающим клиентских подключений. Для создания несвоевременных сеансов диспетчер сеансов выполняет процесс Windows NT клиентской или серверной подсистемы выполнения (Csrss.exe), и этому процессу назначен новый sessionID. Процесс CSRSS также вызывает процесс Winlogon (Winlogon.exe) и модуль ядра Win32k.sys (Window Manager и графический интерфейс устройства — GDI) в рамках недавно связанного sessionID. Измененный загрузчик Windows NT распознает это Win32k.sys как загружаемое изображение SessionSpace заранее заданной в загонщике изображений. Затем он будет переместить кодовую часть изображения в физическую память с указателями из виртуального пространства адресов ядра для этого сеанса, если Win32k.sys еще не загружено. По дизайну он всегда будет присоединен к ранее загруженным кодом изображения (Win32k.sys), если он уже существует в памяти. Например, из любого активного приложения или сеанса.

Затем раздел данных (или не поделился) с этим изображением будет выделен новому сеансу из недавно созданного раздела памяти ядра для страниц SessionSpace. В отличие от сеанса консоли, клиентские сеансы терминала server настроены для загрузки отдельных драйверов для отображения, клавиатуры и мыши.

Новым драйвером отображения является устройство отображения удаленного рабочего стола (RDP) Driver, Tsharedd.dll. Драйверы мыши и клавиатуры взаимодействуют в стеке с помощью нескольких стеков экземпляров, termdd.sys. Termdd.sys отправляет сообщения для действий мыши и клавиатуры в драйвер RDP и из него, Wdtshare.sys. Эти драйверы позволяют удаленно и интерактивно использовать клиентскую сессию RDP. Наконец, terminal Server также вызывает поток прослушиватель подключения для протокола RDP, который снова управляется несколькими стеками экземпляров (Termdd.sys), который прослушивает подключения клиентов RDP в порту TCP no 3389.

На данном этапе процесс CSRSS существует в собственном пространстве имен SessionID, при необходимости его данные моментально совмещены в процессе. Все процессы, созданные в рамках этого sessionID, будут выполняться в SessionSpace процесса CSRSS автоматически. Это предотвращает доступ к данным другого сеанса для различных sessionID-процессов.

Подключение клиентов

Клиент RDP может быть установлен и запущен на любом Windows терминале (на основе WinCE), Windows для workgroups 3.11 под управлением TCP/IP-32b или платформы API Microsoft Win32. Не Windows клиенты поддерживаются надстройка Citrix Metaframe. Размер Windows для исполняемого файла клиента RDP рабочих групп составляет около 70 КБ, используется рабочий набор 300 КБ и для отображения данных используется 100 КБ. Клиент на основе Win32 имеет размер около 130 КБ, для отображения данных используется рабочий набор 300 КБ и 100 КБ.

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

Низкое шифрование шифрует только пакеты, отосланные от клиента на сервер терминала. Это шифрование «только для ввода», чтобы защитить вход конфиденциальных данных, таких как пароль пользователя. Среднее шифрование шифрует исходяющие пакеты от клиента так же, как и низкоуровневый шифрование, но также шифрует все отображающие пакеты, возвращаемые клиенту с терминала Server. Этот метод шифрования обеспечивает безопасность конфиденциальных данных, так как он передается по сети, которая будет отображаться на удаленном экране. Низкое и среднее шифрование использует алгоритм Microsoft-RC4 (измененный алгоритм RC4 с улучшенной производительностью) с 40-битным ключом. Высокое шифрование будет шифровать пакеты в обоих направлениях, в клиент и от клиента, но будет использовать стандартный алгоритм шифрования RC4 отрасли, снова с 40-битным ключом. Неэкспортная версия Windows NT Terminal Server обеспечит 128-битное шифрование RC4 высокого уровня.

Между клиентом и сервером будет происходить обмен шрифтами, чтобы определить, какие общие системные шрифты установлены. Клиент уведомит Терминал Сервер всех установленных системных шрифтов, чтобы обеспечить более быструю отрисовку текста во время сеанса RDP. Если сервер терминала знает, какие шрифты доступны клиенту, вы можете сохранить пропускную способность сети, передав клиенту сжатые шрифты и строки символов Юникод, а не более крупные bitmaps.

По умолчанию все клиенты зарезервируют 1,5 МБ памяти для кэша bitmap, который используется для кэша bitmaps, таких как значки, панели инструментов, курсоры и так далее, но не используется для удержания строк Юникод. Кэш не удается (через ключ реестра) и перезаписывается с помощью алгоритма наименее часто используемых (LRU). Сервер терминала также содержит буферы, позволяющие управлять потоком передачи обновлений экрана клиентам, а не постоянному потоку. При высоком взаимодействии пользователя с клиентом буфер сбрасывается примерно 20 раз в секунду. Во время простоя или без взаимодействия с пользователем буфер замедляется до 10 раз в секунду. Вы можете настроить все эти номера через реестр.

После согласований сведений о сеансе экземпляр стека RDP сервера для этого подключения будет соединен к существующему сеансу пользователя Win32k, и пользователю будет предложено использовать Windows NT с логотипом. Если автолог настроен, зашифрованное имя пользователя и пароль будут переданы серверу терминала, и логотип будет продолжаться. Если в настоящее время нет простоя сеансов Win32k, служба терминала Server будет вызывать диспетчер сеансов (SMSS), чтобы создать новое пространство пользователя для нового сеанса. Большая часть сеанса пользователя Win32k использует общий код и загружается заметно быстрее после загрузки одного экземпляра.

После типов имени пользователя и пароля пакеты отправляются в зашифрованном виде на сервер терминала. Затем процесс Winlogon выполняет необходимую проверку подлинности учетной записи, чтобы убедиться, что пользователь имеет право на вход и передает домен и имя пользователя службе Terminal Server, которая поддерживает список sessionID домена и имени пользователя. Если sessionID уже связан с этим пользователем (например, отключен сеанс существует), текущий активный стек сеанса присоединен к старому сеансу. Затем удаляется временный сеанс Win32, используемый для исходного логотипа. В противном случае подключение продолжается в обычном режиме, и служба Terminal Server создает новое сопоставление sessionID домена и имени пользователя. Если для этого пользователя по каким-либо причинам активен несколько сеансов, отображается список сеансов и пользователь решает, какой из них выбрать для повторного подключения.

Запуск приложения

После логоса пользователя для пользователя отображается рабочий стол (или приложение, если в режиме одного приложения). Когда пользователь выбирает 32-битное приложение для запуска, команды мыши передаются серверу терминала, который запускает выбранное приложение в новое виртуальное пространство памяти (2-ГБ-приложение, ядро 2 ГБ). Все процессы на сервере терминала будут обмениваться кодом в режимах ядра и пользователя, где это возможно. Чтобы добиться общего доступа к коду между процессами, Windows NT виртуальной памяти (VM) использует защиту страниц с копией на записи. Если несколько процессов хотят читать и записывать одно и то же содержимое памяти, менеджер VM назначает защиту страниц скопив-на-записи в область памяти. Процессы (сеансы) будут использовать одно и то же содержимое памяти, пока не будет выполнена операция записи, после чего менеджер VM скопирует физический кадр страницы в другое расположение, обновит виртуальный адрес процесса, чтобы указать на новое расположение страницы, а теперь пометит страницу как read/write. Копирование на записи является полезным и эффективным для приложений, работающих на сервере терминала.

Когда приложение на основе Win32, например Microsoft Word, загружается в физическую память одним процессом (Сеанс), оно помечено как копирование на записи. Когда новые процессы (сеансы) также вызывают Word, загрузчик изображений просто будет указать новые процессы (сеансы) на существующую копию, так как приложение уже загружено в память. Когда требуются буферы и данные, определенные пользователю (например, сохранение в файле), необходимые страницы будут скопированы в новое физическое расположение памяти и помечены как чтение и записи для отдельного процесса (Сеанс). Менеджер VM защитит это пространство памяти от других процессов. Большинство приложений, однако, является кодом, который можно делиться и будет иметь только один экземпляр кода в физической памяти независимо от того, сколько раз оно будет запускаться.

Предпочтительнее (хотя и не обязательно) запускать 32-битные приложения в среде Terminal Server. 32-битные приложения (Win32) позволят совместно использовать код и работать более эффективно в нескольких пользовательских сеансах. Windows NT позволяет 16-битным приложениям (Win16) выполняться в среде Win32 путем создания виртуального компьютера на основе MS-DOS (VDM) для каждого приложения Win16 для выполнения. Все 16-битные выходные данные переводятся в вызовы Win32, которые выполняют необходимые действия. Так как приложения Win16 выполняются в своем VDM, код нельзя использовать для общего доступа между приложениями в нескольких сеансах. Перевод между вызовами Win16 и Win32 также требует системных ресурсов. Запуск приложений Win16 в среде терминала Server потенциально может потреблять в два раза больше ресурсов, чем будет использовать соответствующее приложение на основе Win32.

Отключение сеанса и вход пользователя

Отключение сеанса

Если пользователь решит отключить сеанс, процессы и все пространство виртуальной памяти останутся и будут оторваны на физический диск, если для других процессов требуется физическая память. Так как сервер терминала сохраняет сопоставление домена или имени пользователя и связанного с ним SessionID, при повторном подключении одного и того же пользователя существующий сеанс будет загружен и снова доступен. Дополнительным преимуществом RDP является возможность изменения разрешений экрана сеанса в зависимости от запросов пользователя для сеанса. Например, предположим, что пользователь ранее подключился к сеансу терминала Server с разрешением 800 x 600 и отключил его. Если пользователь переехав на другой компьютер с разрешением 640 x 480 и подключив его к существующему сеансу, рабочий стол будет повторно отозван для поддержки нового разрешения.

Вход пользователя

Logoff обычно прост в реализации. После выхода пользователя из сеанса все процессы, связанные с SessionID, завершались, и любая память, выделенная сеансу, была освобождена. Если пользователь работает с 32-битным приложением, например Microsoft Word, и выходит из сеанса, код самого приложения останется в памяти до тех пор, пока последний пользователь не выйдет из приложения.

Пользователь не может выполнить аутентификацию или должен выполнить ее дважды

  • Чтение занимает 5 мин

В этой статье

В этой статье описаны некоторые причины проблем с аутентификацией пользователей.

Отказано в доступе (ограничение по типу входа в систему)

В этом случае пользователь Windows 10, который пытается подключиться к компьютерам с Windows 10 или Windows Server 2016, получит отказ в доступе со следующим сообщением:

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

Эта проблема возникает, если для подключения к удаленному рабочему столу требуется пройти проверку подлинности на уровне сети (NLA), но пользователь не является членом группы Пользователи удаленного рабочего стола. Она также может возникать, если группе Пользователи удаленного рабочего стола не назначено право пользователя Доступ к компьютеру из сети.

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

Изменение членства пользователя в группах или назначенных ему прав

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

Если пользователь уже является членом этой группы (или если проблема возникает у нескольких членов группы), проверьте конфигурацию прав пользователей на удаленном компьютере Windows 10 или Windows Server 2016.

  1. Откройте редактор объектов групповой политики (GPE) и подключитесь к локальной политике удаленного компьютера.
  2. Выберите Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\Локальные политики\Назначение прав пользователя, щелкните правой кнопкой мыши элемент Доступ к компьютеру из сети и выберите Свойства.
  3. Просмотрите список пользователей и групп для группы Пользователи удаленного рабочего стола (или родительской группы).
  4. Если список не включает группу Пользователи удаленного рабочего стола или родительскую группу, например Все, добавьте их. Если развертывание включает больше одного компьютера, используйте объект групповой политики.
    Например, членством по умолчанию для политики Доступ к компьютеру из сети будет Все. Если в развертывании используется объект групповой политики для удаления Все, может потребоваться восстановить доступ, обновив объект групповой политики, чтобы добавить группу Пользователи удаленного рабочего стола.

Отказано в доступе (удаленный вызов к базе данных SAM отклонен)

Такое поведение обычно возникает, если контроллеры домена работают под управлением Windows Server 2016 или более поздней версии, а пользователи пытаются подключиться с помощью настраиваемого приложения для подключения. В частности, отказ в доступе получат приложения, которым требуется доступ к сведениям профиля пользователя в Active Directory.

Такое поведение обусловлено изменением в Windows. В Windows Server 2012 R2 и более ранних версиях, когда пользователь выполняет вход на удаленный рабочий стол, диспетчер удаленных подключений (RCM) обращается к контроллеру домена (DC), чтобы запросить конфигурацию, относящуюся к удаленному рабочему столу, в объекте пользователя в доменных службах Active Directory (AD DS). Эта информация отображается на вкладке «Профиль служб удаленных рабочих столов» в окне свойств объекта пользователя в оснастке MMC «Пользователи и компьютеры Active Directory».

Начиная с Windows Server 2016 RCM больше не запрашивает объект пользователя в AD DS. Если требуется, чтобы RCM обращался к AD DS из-за того, что вы используете атрибуты служб удаленных рабочих столов, вам нужно вручную разрешить отправку запросов.

Чтобы разрешить прежнее поведение RCM на сервере узла сеансов удаленных рабочих столов, настройте следующие записи реестра и перезапустите службу Службы удаленных рабочих столов:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\<Winstation name>\
    • Имя: fQueryUserConfigFromDC.
    • Введите команду: Reg_DWORD.
    • Значение: 1 (десятичное число).

Чтобы разрешить устаревшее поведение RCM на сервере, отличающемся от сервера RDSH, настройте эти записи реестра и следующую дополнительную запись (затем перезапустите службу).

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

Дополнительные сведения об этом поведении см. в статье базы знаний № 3200967 Changes to Remote Connection Manager in Windows Server (Внесение изменений в диспетчер удаленных подключений в Windows Server).

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

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

Не удается войти в систему с помощью смарт-карты в филиале с контроллером домена только для чтения (RODC)

Эта проблема возникает в развертываниях, в которых задействован сервер RDSH на сайте филиала, где используется RODC. Сервер RDSH размещен в корневом домене. Пользователи на сайте филиала относятся к дочернему домену и используют смарт-карты для проверки подлинности. Контроллер домена RODC настроен на кэширование паролей и принадлежит к группе с разрешением реплицировать пароли RODC. Когда пользователи пытаются выполнить вход в сеанс на сервере RDSH, они получают сообщение, например: «Неудачная попытка входа в систему. Указано неверное имя пользователя или другие неверные личные данные.»

Эта проблема связана с тем, как корневой контроллер домена и RDOC управляют шифрованием учетных данных пользователей. Корневой контроллер домена использует ключ шифрования, чтобы зашифровать учетные данные, а RODC предоставляет ключ расшифровки клиенту. Если пользователь получает ошибку «Недопустимо», значит два ключа не совпадают.

Чтобы решить эту проблему, выполните одно из указанных ниже действий:

  • измените топологию контроллера домена, отключив кэширование паролей на RODC, или разверните на сайте филиала контроллер домена с доступом на запись;
  • переместите сервер RDSH в тот же дочерний домен, где находятся пользователи;
  • разрешите пользователям выполнять вход без смарт-карты.

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

Пользователь не может войти на компьютер с Windows Server 2008 с пакетом обновления 2 (SP2) с помощью смарт-карты

Эта проблема возникает, когда пользователи выполняют вход в систему компьютера Windows Server 2008 с пакетом обновления 2 (SP2), на котором установлено обновление KB4093227 (2018.4B). Когда пользователи пытаются выполнить вход с помощью смарт-карты, они получают отказ в доступе с сообщениями, например: «Действительные сертификаты не найдены. Убедитесь, что эта карта вставлена правильно и плотно сидит в разъеме». В то же время на компьютере Windows Server регистрируется событие приложения с сообщением «При получении цифрового сертификата с вставленной смарт-карты произошла ошибка: неправильная подпись.»

Чтобы устранить эту проблему, обновите на компьютере ОС Windows Server до повторного выпуска 2018.06 B (обновление KB4093227). См. статью Description of the security update for the Windows Remote Desktop Protocol (RDP) denial of service vulnerability in Windows Server 2008: April 10, 2018 (Описание обновления системы безопасности для защиты протокола RDP в Windows от уязвимости службы в Windows Server 2008 (10 апреля 2018 г.).

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

Эта проблема возникает, когда пользователи входят в систему компьютера Windows или Windows Server с обновлением KB4056446. Возможно, сначала пользователю удается войти в систему с помощью смарт-карты, но потом он получает сообщение об ошибке SCARD_E_NO_SERVICE. Удаленный компьютер может перестать отвечать.

Чтобы устранить эту проблему, перезапустите удаленный компьютер.

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

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

Эта проблема может возникать, когда пользователь пытается подключиться к удаленному рабочему столу под управлением Windows 10 версии 1709 в развертывании, где для подключений по протоколу RDP не требуется использовать NLA. Если в таком случае удаленный рабочий стол оказался заблокированным, пользователю нужно ввести свои учетные данные дважды при подключении.

Чтобы устранить эту проблему, обновите Windows 10 версии 1709 на соответствующем компьютере с использованием обновления за 30 августа 2018 г. — KB4343893 (ОС сборки 16299.637).

Когда пользователи пытаются войти с использованием любой версии Windows (начиная с Windows Vista с пакетом обновления 2 (SP2) или Windows Server 2008 с пакетом обновления 2 (SP2)), они получают отказ в доступе и такие сообщения:

An authentication error has occurred. The function requested is not supported.
...
This could be due to CredSSP encryption oracle remediation
...

Ошибка «Исправление шифрования CredSSP» ссылается на набор обновлений системы безопасности, выпущенный в марте, апреле и мае 2018 г. CredSSP — это поставщик проверки подлинности, который обрабатывает запросы проверки подлинности для других приложений. Обновление за 13 марта 2018 г., 3B и все последующие обновления подверглись эксплойту, когда злоумышленник мог передать учетные данные пользователя для выполнения кода в целевой системе.

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

  • Уязвимо. Клиентские приложения, использующие CredSSP, могли переключиться на небезопасные версии, но из-за этого удаленные рабочие столы могли подвергаться атакам. Службы, использующие CredSSP, принимали клиенты, которые не были обновлены.
  • Устранено. Клиентские приложения, использующие CredSSP, не могут переключиться на небезопасные версии, но службы, использующие CredSSP, принимают клиенты, которые не были обновлены.
  • Принудительно обновленные клиенты. Клиентские приложения, использующие CredSSP, не могут переключиться на небезопасные версии, и службы, использующие CredSSP, не принимают клиенты без установленных обновлений.

    Примечание

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

В обновлении за 8 мая 2018 г. значение для параметра по умолчанию «Защита от атак с использованием криптографического оракула» изменилось с «Уязвимо» на «Устранено». После реализации этого изменения клиенты Удаленного рабочего стола, на которых были установлены обновления, не могут подключаться к серверам без этого обновления (или к обновленным серверам, которые еще не были перезапущены). Подробные сведения об обновлениях CredSSP см. в статье базы знаний KB4093492.

Чтобы устранить эту проблему, обновите и перезапустите все системы. Полный список обновлений и дополнительные сведения об уязвимостях см. в разделе CVE-2018-0886 | CredSSP Remote Code Execution Vulnerability (CVE-2018-0886 | Уязвимость CredSSP, допускающая удаленное выполнение кода).

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

  • На затронутых клиентских компьютерах верните для политики «Защита от атак с использованием криптографического оракула» значение Уязвимо.
  • Измените следующие политики в папке групповой политики, выбрав Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Безопасность:
    • для политики Требовать использования специального уровня безопасности для удаленных подключений по протоколу RDP задайте значение Включено и выберите RDP.
    • для политики Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети задайте значение Отключено.

      Важно!

      Изменение этих групповых политик делает развертывание менее защищенным. Мы рекомендуем использовать их только временно (или вообще не использовать).

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

После обновления клиентских компьютеров некоторым пользователям приходится выполнять вход дважды

Если пользователи входят на Удаленный рабочий стол с помощью компьютера под управлением Windows 7 или Windows 10 версии 1709, им сразу же отображается запрос на повторный вход. Эта проблема возникает, если на клиентском компьютере установлены следующие обновления:

Чтобы устранить эту проблему, убедитесь, что на компьютерах, к которым подключаются пользователи, (а также серверы RDSH или RDVI) установлены все обновления в том числе за июнь 2018 г. К ним относятся следующие обновления:

Пользователям запрещается доступ к развертыванию, которое использует Remote Credential Guard с несколькими брокерами подключений к удаленному рабочему столу

Эта проблема возникает в развертываниях с высоким уровнем доступности, в которых используются не менее двух брокеров подключений к удаленному рабочему столу и Remote Credential Guard в Защитнике Windows. Пользователям не удается войти на удаленные рабочие столы.

Эта проблема связана с тем, что Remote Credential Guard использует Kerberos для проверки подлинности, а также запрещает использовать NTLM. Но в конфигурации с высоким уровнем доступности и балансировкой нагрузки брокеры подключений к удаленному рабочему столу не могут поддерживать операции Kerberos.

Если нужно использовать конфигурации с высоким уровнем доступности и балансировкой нагрузки брокеров подключений к удаленному рабочему столу, эту проблему можно устранить, отключив Remote Credential Guard. Дополнительные сведения об управлении Remote Credential Guard в Защитнике Windows см. в статье Protect Remote Desktop credentials with Windows Defender Remote Credential Guard (Защита учетных данных удаленного рабочего стола с помощью Remote Credential Guard в Защитнике Windows).

Что такое терминальный сервер, его архитектура, преимущества и недостатки.

До появления персональных компьютеров вычислительные задачи выполнялись на больших машинах – «мэйн-фреймах», которые в нашей стране назывались ЭВМ. Пользователи получали к ним доступ в режиме разделения времени через терминал, чаще всего представлявший собой алфавитно-цифровой дисплей и клавиатуру. Такой терминал подключался к ЭВМ через выделенную линию, в качестве которой могла использоваться даже обычная телефонная линия, либо, позднее, через ранние прообразы компьютерной сети. Именно в таком режиме, будучи ещё школьником, начинал свою работу основатель компании Microsoft Билл Гейтс.

Режим разделения времени означает, что процессорное время разделяется между всеми пользователями по очереди (которых могло быть до нескольких сот). Однако за счёт относительно высокого быстродействия процессора и небольшого периода обслуживания каждому пользователю казалось, что он работает на ЭВМ в полном одиночестве.

Так выглядели терминальные устройства и ЭВМ VAX-11/780 компании DEC. Такая ЭВМ и терминалы были поставлены для обслуживания московской Олимпиады 1980 г. (источник: thg.ru)

В наши дни решение удалённого терминального доступа RDS (Remote Desktop Service) продолжает успешно использоваться и входит в состав операционной системы Windows Server, начиная с Windows NT 4.0. Оно стало основой для более продвинутого решения виртуальной инфраструктуры рабочих столов VDI (Virtual Desktop Infrastructure).

Различия терминального доступа и виртуализации рабочего стола

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

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

Технология виртуализации VDI предоставляет гораздо большие возможности, в частности возможность создания персональной виртуальной машины для каждого пользователя. Однако это требует бóльших серверных мощностей по сравнению с терминальным доступом. Кроме того, для развёртывания VDI часто требуется система хранения данных с высоким IOPS.

Решение в пользу одного или другого решения должно приниматься на основе анализа стоящих задач.

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

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

Что такое терминальный сервер

Итак, терминальный сервер – это сервер или кластер серверов, который обеспечивает удалённое обслуживание многих клиентских систем (рабочих компьютеров пользователей), которые подключаются к локальной сети без использования модема или сетевой интерфейсной карты. Эта концепция была введена компанией Microsoft в виде функции терминальных услуг (terminal services) в ОС Windows Server. Начиная с версии Windows Server 2008 R2, эти услуги стали именоваться Remote Desktop Services (RDS).

На сегодняшний день для организации сервера терминалов Windows чаще всего используется ОС Windows Server 2019, 2016, 2012 R2. Более ранние версии 2008 и 2010 уже мало актуальны и сейчас лишь поддерживаются.

Преимущества и недостатки

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

  • Доступ к цифровым ресурсам предприятия из любого места, в любое время и практически с любого устройства.
  • Наличие единой точки мониторинга позволяет контролировать всю инфраструктуру с центрального пульта.
  • Приложения устанавливаются однократно и регулярно обновляются в терминальном сервере централизованно, то есть нет необходимости делать это на каждом компьютере в сети.
  • Наличие одновременной централизованной лицензии вместо лицензирования каждого устройства, что снижает стоимость лицензирования.
  • Замена пользовательских компьютеров на рабочих местах на т. н. «тонкие клиенты» (thin clients – устройства для подключения к терминальному серверу) снижает капитальные и операционные затраты предприятия за счёт централизации обслуживания, а также снижения расходов на электроэнергию.
  • Увеличивается срок службы терминального оборудования.
  • Повышается безопасность сети предприятия.
  • Однако и недостатки у такого решения тоже есть:
  • Концентрация всей функциональности в рамках одного или нескольких серверов. Поэтому выход из строя любого элемента между приложением и терминалами приводит к простою многих пользователей.
  • Усиливаются последствия ошибок конфигурации и работы ПО, которые затрагивают сразу всех пользователей.
  • Возможные проблемы с лицензированием: некоторые приложения не предусматривают работы нескольких пользователей на одном сервере или требуют использования более дорогих лицензий.

Архитектура и лицензирование

Терминальный сервер состоит из трёх основных компонентов:

  • Многоядерный сервер для централизованного хостинга ресурсов.
  • Протокол для связи с удалёнными рабочими столами пользователей RDP (Remote Desktop Protocol), который управляет передачей данных между сервером и клиентом.
  • Клиентская программа на каждом пользовательском устройстве, которая позволяет ему подключаться к серверу по протоколу RDP.

Кроме того, необходима служба лицензирования терминалов (Terminal Services Licensing Service), которая представляет серверу клиентские лицензии служб терминалов TS CAL (Terminal Services Client Access License), чтобы они могли к нему подключаться. Список сессий при этом сохраняется в службе Sessions Directory Service. Список индексируется по имени пользователя, что позволяет ему всё время подключаться к одному и тому же серверу.

Начиная с Windows Server 2008, лицензии служб удалённых рабочих столов называют RDS CAL.

Существует два типа лицензий RDS CAL.

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

Примеры продуктов

Microsoft RDS

Службы удалённого рабочего стола (RDS) – один из компонентов Microsoft Windows Server, позволяющий пользователю работать под управлением удалённого компьютера, на котором установлены нужные ему приложения, через устройства тонкого клиента либо через сетевое соединение при помощи протокола удалённого рабочего стола (RDP).

Службы удалённого рабочего стола RDS (источник: Microsoft)

Платформа RemoteApp Service позволяет представлять приложения, доступ к которым может быть получен удалённо через Службы удалённых рабочих столов (RDS), как если бы они были запущены на локальном компьютере пользователя. Программа RemoteApp запускается на терминале пользователя в собственном окне, размеры которого можно менять, оно может перемещаться между несколькими мониторами, а также имеет собственный значок на панели задач. Если один пользователь запускает несколько программ RemoteApp на одном сервере, эти программы RemoteApp совместно используют один сеанс RDS.

Citrix XenApp и XenDesktop

В решении Citrix используется платформа Microsoft RDS. В инфраструктуре виртуализации Citrix есть много компонентов, но главные среди них следующие:

  • Citrix Virtual Apps.
  • Citrix Virtual Apps & Desktops.

Citrix Virtual Apps – основной продукт, предназначенный для удалённой работы в приложениях для пользователей. Citrix Virtual Apps & Desktops расширяет возможности RDS, организуя инфраструктуру виртуальных рабочих столов (VDI). Оба продукта обеспечивают пользователям безопасную работу приложений и настройки безопасности в зависимости от устройства пользователя.

В названиях продуктов терминального сервера Citrix есть некоторая путаница. Компания ввела наименования Citrix XenApp для виртуализации приложений и Citrix XenDesktop для виртуализации рабочих столов. Затем Citrix объединила оба продукта в одном бренде – XenDesktop 7.0. Затем компания отказалась от такого объединения, и это иногда путает пользователей. Сейчас Citrix опять поставляет два раздельных продукта – XenApp 7.6 и XenDesktop 7.6, в то же время называя их Citrix Virtual Apps и Citrix Virtual Apps & Desktops, поскольку второе решение включает в себя практически весь функционал первого.

Как Citrix Virtual Apps, так и Citrix Virtual Apps & Desktops поставляются в трёх комплектациях, с разным функционалом и ценами:

  • Standard.
  • Advanced.
  • Premium.

Для того чтобы повысить воспринимаемое качество работы пользователей, нужно приобрести и другие продукты – такие, как Citrix Provisioning Services (PVS) и Citrix Director

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

VMware Server и VMware ESX

Компания VMware занимает прочные позиции на рынке виртуализации серверов, а также на рынке ПО виртуализации рабочих столов (VDI). В сегменте бесплатных средств виртуализации серверов есть продукт VMware Server, который с 2010 года не поддерживается.

Функции VMware Server (ранее VMware GSX Server) входят теперь в функционал решения VMware ESX. Решение VMware Server позволяет не только работать в режиме терминального сервера, но также есть возможность создания, редактирования и работы виртуальных машин. В нём могут работать виртуальные машины, созданные другими продуктами VMware, а также Microsoft Virtual PC. В настоящее время функции VMware Server заменены функцией «Shared Virtual Machines», введённой в продукте VMware Workstation 8.0 и его более поздних версиях.

Под заказ

Уточняйте цену

Сервер Lenovo ThinkSystem SR570 (1U)

  • До 2 Intel Xeon Platinum
  • До 1 ТБ TruDDR4 в 16 модулях LRDIMM
  • До 10 дисков SFF или до 4 LFF
  • До 2 блоков питания

Купить в 1 клик

Под заказ

Уточняйте цену

Сервер Fujitsu PRIMERGY RX2530 M6 (1U)

  • 2 Intel Xeon 3-го поколения
  • 32 слота памяти DDR4 емкостью до 10 ТБ
  • До 4 LFF, до 10 SFF или 32 EDSFF
  • До 2 блоков питания с возможностью горячей замены
Купить в 1 клик

Под заказ

Уточняйте цену

Сервер Lenovo ThinkSystem SR670 (2U)

  • До 2 Intel Xeon Scalable
  • До 24 слотов DIMM до 768 ГБ
  • До 8 дисков SFF, до 2 твердотельных накопителей M.2
Купить в 1 клик

Под заказ

Уточняйте цену

Сервер Fujitsu PRIMERGY RX2540 M6 (2U)

  • До 2 Intel Xeon 3-го поколения
  • 32 слота памяти DDR4 емкостью до 12 ТБ
  • До 12 LFF, 24 SFF или 64 EDSFF
  • До 2 блоков питания с возможностью горячей замены
Купить в 1 клик

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

Это могут быть, например, следующие платформы:

Несколько rdp сессий в windows. Как включить несколько одновременных подключений удаленного рабочего стола или сессий в Windows XP

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

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

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

Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10:

RDP Wrapper Library

Альтернативой модификации файла termsrv.dll является использования проекта RDP Wrapper Library . Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.

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

Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6)

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

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

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

Чтобы установить утилиту, запускам файл install.bat с правами администратора.

После окончания установки запускаем RDPConfig.exe . И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.

Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.

Исправляем недостатки RDP с помощью RDP Wrapper Library

У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.

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

Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.

Привет. Как вам всем известно, на клиентских ОС от Microsoft разрешено одновременно работать только одному пользователю. Выражается это в том, что если вы подключаетесь к удаленному рабочему столу, и уже есть активный пользователь, то выскакиват предупреждение, что активный пользователь будет отключен.

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

Как это сделать на Windows 10 я сегодня вам покажу.

Тут можно заморочиться, и делать всё в ручную — править реестр, заменять dllки и т. д., но способ о котором я буду рассказывать гораздо проще. Есть проект под название rdp wrapper, который позволяет сделать терминальный сервер из Windows 10 буквально за 2 клика. Кстати, и на windows 7 и на windows 8 этот способ так же работает.

В общем качаем архив , распаковываем его куда-нибудь, и запускаем командную строку от имени администратора.

В ней переходим в папку, куда был распакован архив архив (кто не в курсе — команда cd путь\до\файла

И выполняем команду install.bat

Так же в комплекте идет утилита для изменения некоторых настроек — RDPConf.exe.

Здесь можно обратить внимание на возможность легкой смены порта, на котором висит наш rdp сервер, и еще несколько настроек, которые вам могут оказаться полезными.

Теперь добавим дополнительного пользователя для теста. Жмем win+r (или правой кнопкой по пуску — выполнить) и набираем lusrmgr.msc. Заходим в пользователи.

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

Все, теперь можно подключаться. Кстати, вы можете подключиться со своего же компьютера на совой же под другой учеткой, для этого в адресе подключения нужно ввести 127.0.0.2.


В ОС Windows 8 / 8.1, как и предыдущих версиях клиентских ОС Microsoft, поддерживается только одно одновременное входящее RDP-подключение . Это означает что к компьютеру Windows 8 через удаленный рабочий стол может одновременно подключиться только один пользователь (одна сессия), локальная или удаленная. В большинстве случаев этого достаточно, но иногда хотелось бы иметь возможность одновременной работы сразу нескольких пользователей в собственных сессиях. Хорошим примером может быть компьютер в роли Media Center, когда в консольной сессии воспроизводится видео, и одновременно необходимо удаленно поработать с системой без прерывания видео на TV.

Совет. Удаленный RDP доступ не работает в домашних (Home) редакциях Windows, требуется редакции Pro или Enterprise.

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

Совет . Предварительно в свойствах компьютере на вкладке Удаленный доступ (Remote) нужно и добавить учетные записи нужных пользователей в локальную группу Remote Desktop Users. Локальным администраторам удаленный RDP доступ разрешен по умолчанию. После включения RDP доступа в свойствах системы, Windows Firewall автоматически включает правила, разрешающий входящий трафик на порт 3389. Иногда наличие этого правила следует проверить вручную.

Так, например, в серверной версии Windows поддерживаются два одновременных административных подключения с индивидуальными сессиями (в случае организации на базе Windows Server терминального сервера RDS , это число может быть еще большим).

Тем не менее, на просторах интернета можно найти специальный патч, позволяющий обойти это ограничение. Благодаря этому патчу несколько пользователей смогут одновременно подключиться по RDP к компьютеру с Windows 8 / Windows 8.1.

Важно . Использование данного патча, по сути, является нарушением лицензионного соглашения и условий использования продуктов Microsoft. Поэтому все описанные ниже операции вы выполняете на свой риск.

Итак, патч предполагает собой замену оригинального системного файла %SystemRoot%\System32\termsrv.dll (библиотека, используемая службой Remote Desktop Services).

  • Windows 8 – termsrv.dll-win8.zip
  • Windows 8.1 — termsrv.dll-win8.1.zip

Перед заменой системной библиотеки создадим резервную копию файла termsrv.dll командой:

Copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Теперь, если что-то пойдет не так, всегда можно вернуться к начальной конфигурации, заменив текущий файл оригинальным termsrv.dll_old.

Скачайте архив с библиотекой для своей версии Windows.

В Windows 8 предварительно нужно изменить значение следующих ключей в ветке реестра HKLM\System\CurrentControlSet\Control\Terminal Server\ :

  • fDenyTSConnections (DWORD) —0 (ключ позволяет на компьютере)
  • fSingleSessionPerUser (DWORD) — 0

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

REG ADD «HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server» /v fDenyTSConnections /t REG_DWORD /d 0 /f REG ADD «HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server» /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

Затем переходим в каталог C:\Windows\System32 , находим файл termsrv.dll и открываем его свойства.

По-умолчанию, владельцем этого файла является TrustedInstaller и даже у администратора нет прав на его замену.

Перейдем на вкладку Security и нажмем кнопку Edit . В списке доступа найдите группу локальных администраторов и предоставьте ей полные права на файл (Full Control ) и сохраните изменения.

Следующий шаг перед заменой файла библиотеки, открыть консоль управления службами (services.msc ) и остановить службу Remote Desktop Services .

Скопируем файл termsrv.dll из скачанного архива для своей версии Windows в каталог %SystemRoot%\System32\ (с заменой).

Примечание . Архив для Windows 8.1 содержит два файла 32_termsrv.dll и 64_termsrv.dll , для 32-х и 64-х битной версии Windows 8.1 соответственно. Распакуйте архив и переименуйте файл для своей версии системы в termsrv.dll

После замены файла запустите службу Remote Desktop Services и попытайтесь создать две RDP сессии с пропатченной машиной под разными учетными записями. Если вы все сделали правильно, должны открыться две независимые сессии удаленного рабочего стола.

Совет . Возможно потребуется перезагрузка компьютера.

Важно ! Использование пропатченной версии termsrv.dll имеет ряд недостатков. Главный из которых – при установке очередного обновления Windows 8.1 / 8 этот файл может быть заменен. Соответственно, придется самостоятельно с помощью HEX редактора патчить новый файл, либо искать в интернете готовый модифицированный файл для вашего билда Windows.

В качестве решения, устойчивого к замене файла termsrv.dll при установке обновлений Windows, следует использовать открытое Open Source решение RDP Wrapper Library (доступен на GitHub), которое не правит файл termsrv.dll, и является прослойкой между службой Terminal Services и SCM. Подробнее об использовании RDP Wrapper Library можно почитать .

Сервер терминалов Windows 7 / Vista / XP (sp1/sp2/sp3) — реальное решение. Терминальный сервер для подключения к удаленному рабочему столу Windows 7 / Vista / XP (sp1/sp2/sp3) одновременно нескольких пользователей.

Сервер терминалов можно использовть для запуска одного приложения с удалённых компьютеров или к вашему терминальному серверу на Windows 7 / XP / Vista/ можно подключить одновременно разные старые компьютеры типа 486 и Pentium 1, они будут работать как будто на них установлена операционная система Windows Vista /7 / XP с Office XP-2003-2007, 1С и кучей разных офисных программ.

По умолчанию Windows 7/Vista/XP не поддерживает работу одновременно нескольких пользователей. Для того чтобы позволить нескольким пользователям работать одновременно по RDP , надо заменить файл C:\Windows\System32\termsrv.dll и внести изменения в реестр — чтобы убрать ограничение наложенное на Windows XP / 7/Vista .

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

Как из Windows XP / 7 / Vista сделать терминальный сервер?

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

Убедитесь что включена опция — Быстрое переключение между пользователями (Панель управления -> Учетные записи пользователей -> Изменение входа пользователей в систему)

2. Разрешите удалённое подключение — выберите «Мой компьютер», щелкнув правой кнопкой мыши и откройте его «Свойства». В появившемся окне зайдите во вкладку «Удаленные сеансы». Пункт «Разрешить удаленный доступ к этому компьютеру» подтвердите галочкой. Выбрать удалённых пользователей (иначе Remote Desktop будет работать только для администраторов) и нажмите «Ок»

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

Делаем терминальный сервер Windows

XP / 7 / Vista

4. Скачать универсальный патч для создания терминального сервера :
Windows XP sp2 sp3;
— Windows Vista sp1 sp2;
— Windows 7, 32bit(x86)/64bit(x64).

5. Выполните файл UniversalTermsrvPatch-*.exe который соответствует разрядности Вашей системы и нажмите Patch для замены файл а C:\Windows\System32\termsrv.dll

6. Выполните файл *.reg который соответствует Вашей операционной системе для внесения изменений в реестр

7. Перегрузите операционную систему

8. Пуск -> Выполнить -> gpedit.msc

Для Windows 7

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

Для Windows XP

Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Сервер терминалов-> Ограничить количество подключений

Устанавливаем «Включено» и меняем значение количества разрешённых терминалов.

9. Перезагрузите компьютер

Если вы все выполнили правильно, то терминальный сервер Windows 7 / Vista / XP (sp1/sp2/sp3) готов. Теперь у вас должен работать удаленный рабочий стол одновременно для нескольких пользователей.

Дополнительные настрйки терминального сервера

Windows XP

1. Как показывает практика, пользователи терминального сервера просто отключаюются, а программы работают дальше. Можно задать время отключения неактивного сеанса

Пуск -> Выполнить -> gpedit.msc
Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Сервер терминалов -> Сеансы -> Задать ограничение по времени для отключеных сеансов

Включить и указать время

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

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

Пуск -> Выполнить -> gpedit.msc
Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Сервер терминалов ->Запускать программу при подключении

Включить
\Bkc.RemoteClient.exe

Указать рабочую папку
C:\Program Files\Банкомзв»язок\Віддалений клієнт спостереження

3. Запуск одной программы для выбраных пользователей терминального сервера, без рабочего стола (внимание, действует даже если зайти локально, так что я даже не знаю как это отменить потом, разве что удалить пользователя, а потом создать нового или с помощью загрузочного диска liveCD , (программой ERD-commander) с выбором загрузки реестра нужной нам операционной системы.

Пуск -> Выполнить ->regedit

Создать строковой параметр Shell и в поле «Значение» указать полный путь к файлу программы

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

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

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

Указать полный путь к программе и имя файла

Указать рабочую папку
C:\Program Files\Банкомзв»язок\Віддалений клієнт спостереження

5. Запуск программы при входе в систему на рабочий стол

Добавить ярлык в папку Автозагрузка
C:\Documents and Settings\имя_пользователя\Главное меню\Программы\Автозагрузка\

RDS в Windows Server 2016

Автор статьи – Роман Левченко (www.rlevchenko.com), MVP – Cloud and Datacenter Management

Как вы помните, долгожданный релиз Windows Server 2016 состоялся, и мы продолжаем рассматривать самые главные нововведения этого продукта. Речь сегодня пойдет об одной из наиболее востребованных ролей – службе удаленных рабочих столов, или RDS (Remote Desktop Services).
Прежде чем погружаться в мир нового, рекомендуем ознакомиться со списком тех возможностей, которые появились в прошлой версии RDS – в Windows Server 2012 R2. Следом стоит посмотреть на список нововведений RDS в Windows Server 2016. Давайте рассмотрим, как новые возможности RDS в Windows Server 2016 расширяют возможности по построению терминальных ферм, VDI сред и сервисов доставки приложений на различные типы устройств.

Улучшения RemoteFX


В Windows Server 2012 R2 RemoteFX-адаптер имел ряд ограничений: 256 MB максимальный объем выделенной VRAM, поддержка только DirectX 11.1 и программного OpenGL 1.1, отсутствие поддержки OpenCL. Всё это сказывается на поддерживаемом количестве мониторов, разрешении и адекватной работе новых графических приложений (к примеру, Autocad Re-Cap требует OpenGL 3.3 и 1 GB VRAM, Photoshop CC — OpenGL 2.0 и 512 MB VRAM как минимум).


Windows Server 2016 призван решить данные проблемы и вносит ряд изменений в RemoteFX:

       Возможность выделения до 1 GB VRAM. Виртуальные машины Hyper-V могут использовать до 1 GB выделенной VRAM + увеличивать количество VRAM за счет системной памяти ВМ, получая до 2 GB VRAM, в зависимости от величины имеющейся у виртуальной машины памяти.

       Кроме того, динамическое определение объема VRAM на основе количества мониторов и разрешения заменяется возможностью задания конкретного значения VRAM для каждой ВМ вне зависимости от максимального количества мониторов и разрешения.

       

       Поддержка OpenGL 4.4 и OpenCL 1.1. Как итог имеем «карт-бланш» на использование современных графических приложений.

       Поддержка RemoteFX внутри виртуальных машин с Windows Server 2016. Ранее RemoteFX работал только с клиентскими версиями ОС (Windows 7/8). Это небольшое изменение (наряду с Personal session desktops, о которых мы поговорим чуть позже) значительно упрощает жизнь сервис-провайдерам, которые хотят предоставлять решения VDI с графическим ускорением своим заказчиком.

Параметры RemoteFX определяются как через GUI, так и через PowerShell.

Set-VMRemoteFx3dVideoAdapter

Set-VMRemoteFx3dVideoAdapter [-VM] []> [[-MonitorCount] ] [[-MaximumResolution] ]

[[-VRAMSizeBytes] ] [-Passthru] [-WhatIf] [-Confirm]  []

 

Новые клиенты RDS


Еще недавно у Microsoft не было ни одного мобильного клиента для доступа к удаленным рабочим столам, и приходилось использовать платные решения сторонних производителей с поддержкой RD Gateway. Однако по мере продвижения и использования RDS-решений были выпущены и добавлены следующие клиенты:

     RD Client for Android

     RD Client for iOS

     RD Client for Mac


Клиент RDP (MSTSC.EXE) был обновлен до 10-й версии, которая имеет улучшенную поддержку кодека AVC/H.264 и режима AVC 444, призванного улучшить fps, понизить потерю цветности за счет использования функций аппаратного декодера H.264 в высоких разрешениях вплоть до 4K (GPU должен иметь поддержку DirectX 11.0, H.264 декодер Level 4.1/BT.709). Пока только в рамках полноценного клиента, но планируется добавить поддержку и для мобильных клиентов, обозначенных выше.
Режим AVC444 используется по умолчанию в RemoteFX, но есть возможность использования AVC444 и в других сценариях с помощью настройки групповой политики:

Сomputer Configuration/Administrative Templates/Windows Components/Remote Desktop Session Host/Remote Session Environment:
Prioritize H.264/AVC 444 Graphics mode for Remote Desktop connections
и
Configure H.264/AVC hardware encoding for Remote Desktop connections.

Оптимизированный Connection Broker

Посредник подключений был узким местом при одновременных попытках подключений (logon storm) в Windows Server 2012/2012R2. Поэтому в Windows Server 2016 была значительно улучшена производительность Connection Broker для требуемой нагрузки во время logon storms и при добавлении или перезагрузке узлов сессий в рамках большой rds-фермы (кстати, есть отдельный KB и для Windows Server 2012 R2, улучшающий производительность Connection Broker в подобных сценариях). Эти улучшения позволяют поддерживать до 10K+ одновременных запросов на подключение.

Для HA-конфигурации требуется выделенный внешний SQL Server. В Windows Server 2016 включена поддержка использования Azure SQL Database в качестве конечной точки размещения конфигурации Connection Broker в высокодоступном режиме.

Поддержка виртуальных машин второго поколения


Виртуальные машины Hyper-V второго поколения (Generation 2) стали доступны еще в Windows Server 2012 R2, но их использование в рамках RDS/VDI (и не только) откладывалось. Например, возможность создания шаблонов сервисов VMM на базе Gen2 была добавлена только в рамках UR6.
В Windows Server 2016 мы можем задействовать оба поколения для использования в различных типах коллекций (personal/pooled или personal session). Дополнительная конфигурация не требуется.

Поддержка пера и браузера Microsoft Edge


Если ваше устройство, например планшет Microsoft Surface, поддерживает работу с пером, а локальная система не ниже Windows 10, то вы можете использовать перо в рамках RDP-сессии.

В Windows Server 2012/2012 R2 подобные устройства также работали, но по сути просто эмулировали обычную мышь – нажатия пера передвигали курсор на экране. В рамках Windows Server 2016 и Windows 10 стилусом можно рисовать или писать, открыв, например, граффити-приложение в браузере Microsoft Edge, который так же обзавелся поддержкой при работе в удаленной сессии.

Personal Session Desktops


Если Вы сервис-провайдер и хотите предоставить полноценный «десктоп» своим клиентам, то при реализации классического сценария VDI в рамках SPLA вы можете столкнуться с проблемой – в рамках SPLA недоступна клиентская версия Windows (7, 8, 10).

Для обхода подобных ограничений, как правило, строится система на базе классических терминальных решений c Windows Server (Session-based архитектура, конечно, с Desktop Experience на борту) и отдается на «растерзание» клиентам или пользователям.

В Windows Server 2016 решили это дело упростить и добавить метод привязки пользователей к конкретным терминальным узлам (в рамках RDS это узлы Remote Desktop Session Host, RDSH). В итоге получаем новый вид RDS-коллекции — Personal Session Desktops (PSD), или частные рабочие столы на базе терминальных сессий. Очевидно, что можно провести аналогию с Personal Virtual Desktops в VDI, предназначенными так же для выделения «изолированной» среды пользователям.

Давайте посмотрим на пару сценариев, которые успешно решаются благодаря PSD.

      — Если пользователю для работы требуется, чтобы ОС имела все возможности и внешний вид «как у клиентской» (к примеру, Windows 10), то полноценной заменой его рабочего стола будут PSD на базе Windows Server 2016 with Desktop Experience, которые позволяют добиться внешнего вида интерфейса Windows Server близкого к обычной клиентской ОС.

       — Если пользователь имеет административные полномочия на своем привычном ПК и вы хотите перевести его на PSD, то это возможно сделать путем добавления пользователя в группу локальных администраторов (определяется на этапе развертывания PSD, «ручной труд» не требуется)

       — Если пользователь не видит свою дальнейшую жизнь без графических приложений, требующих дополнительных аппаратных ресурсов, то можно предоставить PSD с обновленными возможностями RemoteFX (об этом уже упоминалось выше).

На текущий момент единственный способ развернуть PSD – PowerShell. Опцию GUI планируют добавить позже.

Для целей демонстраций и тестирования можно использовать тип развертывания Quick Start на базе сессий. При этом будут установлены RD Connection Broker, RD Web Access и RD Session Host на одном физическом сервере. Для реального использования рекомендуется сформировать распределенную архитектуру. Не забываем, что каждый компонент RDS поддерживает виртуализацию (к примеру, 1 VM RDSH <-> 1 PSD User) и высокую доступность (например, RD Connection Broker имеет высокодоступную конфигурацию).

На всякий случай привожу шаги по конфигурации «фундамента».

 

 

Переходим к созданию коллекции PSD. New-RDSessionCollection был дополнен свитчем -PersonalUnmanaged, который используется для создания коллекции типа Personal Session Desktop.

#Переменная для имени RDSH

$rdshost="tp4-root.democorp.ru" 

 

#Создание PSD-коллекции с административными привилегиями для пользователя

New-RDSessionCollection -CollectionName Personal -ConnectionBroker $rdshost -SessionHost $rdshost -GrantAdministrativePrivilege -PersonalUnmanaged

 

#Привязка пользователя rdsuser к коллекции PSD с именем Personal

Set-RDPersonalSessionDesktopAssignment -CollectionName Personal -User democorp\rdsuser -Name $rdshost

 

#Проверяем

Get-RDPersonalSessionDesktopAssignment -CollectionName Personal

 

CollectionName DesktopName User

-------------- ----------- ----

Personal TP4-ROOT.DEMOCORP.RU DEMOCORP\rdsuser


Если RDSH уже находится в одной из PSD-коллекций, то на его основе нельзя создать новую коллекцию. Только после удаления данного RDSH из текущей коллекции появится возможность определить его в новую.

New-RDSessionCollection -CollectionName Personal -ConnectionBroker $rdshost -SessionHost $rdshost -GrantAdministrativePrivilege -PersonalUnmanaged

WARNING: The RD Session Host server tp4-root.democorp.ru already exists in another collection.

New-RDSessionCollection : Unable to create the session collection.

 

#Выводим список коллекций

Get-RDSessionCollection

 

CollectionName Size ResourceType CollectionType CollectionDescription

-------------- ---- ------------ -------------- ---------------------

QuickSessionCollection 1 RemoteApp programs PooledUnmanaged

 

#Удаляем коллекцию 

Get-RDSessionCollection|Remove-RDSessionCollection


После создания коллекции PSD и привязки к ней пользователя перейдем в узел RD Web Access (https://hostfqdn/rdweb) для дополнительной проверки, используя учетные данные нашего пользователя. Должен появиться список коллекций, доступных пользователю.

 

Отмечу, что в привычном для администратора списке коллекций (Server Manager –> RDS –> Collection List) данный вид коллекций не отображается, поскольку он создается и управляется только с помощью PowerShell.

Вот такой вид имеет панель «Пуск» в сессии PSD:

 

Наша коллекция была создана с ключом -GrantAdministrativePrivilege, поэтому пользователь автоматически был добавлен в группу администраторов на выделенном сервере RDSH.

 

Но на этом важные нововведения RDS в Windows Server 2016 не заканчиваются. Двигаемся дальше.

Интегрированные Windows MultiPoint Services


MultiPoint-сервер (MPS) является технологией и решением на базе Windows Server и служб RDS для предоставления базовой функциональности удаленных рабочих столов. Позиционируется для использования в учебных классах или учреждениях, где нет больших требований к нагрузке и масштабируемости. Особенность заключается в том, что пользовательские станции могут состоять только из монитора, клавиатуры и мыши («нулевые» клиенты) и подключаться непосредственно к серверу MPS через USB-хабы, видеокабели или LAN (RDP-over-LAN, если клиентом является, к примеру, ноутбук или тонкий клиент). В итоге конечный потребитель получает решение low-cost для предоставления функциональности рабочих столов с абсолютно минимальными затратами на пользовательские конечные станции.

Первая версия MPS, выпущенная в феврале 2010-го, имела возможность подключать станции только через специализированные USB-хабы и видеопорты.

Привычная нам всем возможность подключения через RDP была добавлена только в следующей версии MPS 2011, релиз которой состоялся в марте 2011. Помимо RDP-over-LAN, MPS 2011 обновился следующим образом:

          Поддержка RemoteFX.

          Поддержка виртуализации.

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

          Возможность ограничения интернет-доступа на базе фильтров.

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


В следующей и на данный момент последней версии MPS 2012 были добавлены:

          Новая консоль для централизованного управления столами.

          Защита системного раздела от нежелательных изменений.

          Клиент MPS Connector для мониторинга и управления станций, включая планшеты.

Как уже было сказано выше, MPS поддерживает не только классический RDP, но и дает возможность подключать «нулевые» клиенты (примером может служить Wyse 1000) следующими способами.

          Прямое подключение к видеокарте головной станции

          На рисунке к главной станции подключаются напрямую четыре клиентские станции через USB и, к примеру, VGA-порты. Очевидно, что подобный тип подключения подразумевает соответствующие требования к аппаратной конфигурации головной станции и в некоторых сценариях неприменим (масштабы, расстояние, мобильность).

          Подключение через USB

          На рисунке ниже показано взаимодействие первичной станции (станция, которая подключена напрямую к MPS и используется для первичной конфигурации вне зависимости от сценария) и двух «нулевых» клиентов, подключенных через USB-хабы (пример: Wise 1000). В отличии от первого способа, нам не нужно дополнительно рассчитывать конфигурацию видеоподсистемы сервера MPS для формирования требуемого количества видеовыходов. Но из-за ограничения по расстоянию между станциями и MPS (для Dell Wise 1000 ~ 5 метров) рекомендуется использовать в малых комнатах при небольшом количестве конечных пользователей.

          Использование USB-Over-Ethernet

          Более масштабируемый тип подключения. Вместо USB-to-USB используется проброс USB через LAN, тем самым предоставляется возможность построения системы MPS в больших по размеру помещениях (пример клиента: Wise 1003)

Описанная выше функциональность полностью перенесена в Windows Server 2016. MultiPoint Services теперь являются новым типом развертывания служб RDS.
 

 

Опытным инженерам или администраторам, которые уже знакомы с процедурой конфигурации RDS в рамках решений VDI или Session-Based, процесс настройки и использования MPS покажется более простым и быстрым. Это тоже является плюсом, если учитывать целевую аудиторию MPS.

Существует три способа установить MultiPoint Services: через Server Manager (role-based), Powershell и через RDS Installation.

Бегло пройдемся по первым двум и потом перейдем к процессу базовой настройки MPS.

  1. Используя Server Manager и установку ролей, выберите MultiPoint Services, согласитесь с установкой дополнительных компонентов и перейдите к следующему шагу.

     

  2. Можно почитать еще раз, что такое MPS. Стоит отметить, что RD Licensing нужно будет активировать после конфигурации MPS.

     

  3. Вместе с основной службой MPS дополнительно разворачиваются службы Print and Document Services, предназначение которых всем, я надеюсь, известно. Ничего интересного, идем далее.

     

  4. Оставляем все по умолчанию.
    • Print Server – необходим для управления «множеством» принтеров.
    • Distributed Scan Server – управление и предоставление доступа к сканерам, поддерживающим Distributed Scan Management.
    • Internet Printing – веб-доступ к printer jobs с возможностью отправки документов на печать через Internet Printing Protocol.
    • LPD Service — служба Line Printer Daemon предоставляет возможность UNIX-клиентам, используя службу Line Printer Remote, отправлять задачи на печать доступным принтерам.

 

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

     

  2. После подтверждения сервер отправится на перезагрузку и, используя первичную станцию, необходимо будет произвести требуемую конфигурацию при первом старте MPS. В момент запуска будет предложено произвести идентификацию первичной станции (путем нажатия клавиши “B”), после чего сервер перейдет в режим конфигурации служб RDS/MPS.

     

    MPS добавит учетную запись WmsShell для поддержки работы в режиме multi-station и создаст группу WmsOperators для формирования доступа к консоли управления (Dashboard).

Все шесть пунктов можно “сжать” до одной команды в PowerShell:

 

Перейдем в диспетчер управления MPS (MPS Manager):

 

Со своей удаленной станции я хочу настроить доступ к MPS через RDP-over-LAN. Для этого добавим новую учетную запись пользователя MPS:

 

С точки зрения MPS существует три вида пользователей: стандартный пользователь для доступа к MPS, пользователь для управления пользовательскими сессиями и администратор. По сути, это имитация полноценного RBAC (Role Based Access Control).

 

Итак, пользователь добавлен. Проверим подключение. Используя MSTSC и возможности RDP, я подключаюсь к серверу MPS с помощью вышеобозначенной учетной записи. При первом подключении каждого пользователя к MPS будет выведено сообщение: «To assist you with your usage of this computer, your activities may be monitored by your system administrator/Для помощи в использовании данного компьютера ваши действия будут отслеживаться системным администратором».

 

После подтверждения будет создана новая терминальная сессия для пользователя, при этом администратор сможет управлять пользовательской сессией в интерактивном режиме, используя консоль MultiPoint Dashboard.

Перейдем к MultiPoint Dashboard (отдельная консоль). Основную часть консоли будут занимать динамически меняющиеся мини-экраны пользовательских сессий. Мне это чем-то напоминает экран службы безопасности для мониторинга видеосигналов с камер, но MultiPoint Dashboard позволяет нам не только наблюдать за тем, что происходит в пользовательских сессиях, но и реально управлять и изменять их (забирать управление, блокировать станции или инициировать log off, отправлять IM выбранным пользователям, блокировать USB-устройства или удаленно запускать/закрывать приложения).

 

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

  • разблокировать/заблокировать станцию и вывести на экран конкретной станции сообщение;

     

  • ограничить веб-доступ путем определения списка разрешенных или запрещенных URLs;

     

  • проецировать свой рабочий стол на клиентские станции;

     


Если вернуться обратно в MPS Manager, то можно увидеть, что подключенная станция отображается во вкладе Stations, где можно дополнительно управлять выбранными станциями.

 

Настройки самого MPS располагаются на стартовой вкладке Home. Мы можем, к примеру, отключить оповещения о том, что сессия не является приватной, чтобы у пользователей не возникало дополнительных вопросов 🙂

 

Режим Multi-Session несет некоторые риски, связанные с безопасностью, поэтому предоставляется возможность защитить системный диск от нежелательных изменений. Для включения функции Disk Protection достаточно одно клика и подтверждения.

 

Если имеется приложение, которое требует клиентскую среду, в некоторых случаях изолированную, то в MPS это достигается за счет включения Virtual Desktops. Принцип работы схож с pooled-коллекцией в полноценном VDI. Каждая «виртуализованная станция» будет создаваться из шаблона и делать откат изменений после каждого выхода пользователя из системы. Как видим, полноценной функциональности VDI не достигается, но все же само наличие подобной возможности расширяет область применения MPS.

 

Выводы


Обновленные RemoteFX и RDP с поддержкой разрешения 4K увеличивают отдачу от ВМ с «тяжелыми» приложениями в рамках VDI и повышают их быстродействие по сравнению с Windows Server 2012/2012 R2 (конечно, необходимо провести тестирование и взглянуть на реальные цифры).

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

Personal Session Desktop (PSD) упрощает для сервис-провайдеров предоставление рабочих столов в рамках DaaS-услуги и расширяет возможности RDS в Azure.

Надеюсь, что было интересно. Всем хорошей виртуализации и RDS-имплементации.

P.S. Если вы планируете переход на новый RDS или настраиваете новую ферму, то полезным будет данный постер, показывающий основные зависимости между сервисами.

Ошибка при подключении по RDP (Исправление шифрования CredSSP)

13 марта Microsoft опубликовал описание уязвимости CVE-2018-0886 в протоколе проверки подлинности CredSSP, который в частности используется при подключении по RDP к терминальным серверам. Позже Microsoft опубликовал, что будет блокировать подключения к необновлённым серверам, где присутствует данная уязвимость. В связи с чем многие заказчики столкнулись с проблемами подключения по RDP.

В частности, в Windows 7 можно увидеть ошибку: «Произошла ошибка проверки подлинности. Указанная функция не поддерживается»


В Windows 10 ошибка расписана более подробно, в частности сказано «Причиной ошибки может быть исправление шифрования CredSSP»:


Для обхода ошибки со стороны клиента многие советуют отключить групповую политику, путём установки значения Encryption Oracle Remediation в Vulnerable:
с помощью gpedit.msc в Конфигурация компьютера / Административные шаблоны / Система / Передача учётных данных, слева выбрать «Исправление уязвимости шифрующего оракула» (забавный конечно перевод), в настройках поставить «Включено» и выбрать «Оставить уязвимость».


или через реестр (т.к., например, в Windows Home нет команды gpedit.msc):

REG  ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2


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

Если доступ к удалённому серверу есть, то ещё, как временная мера, можно отключить требование NLA (Network Level Authentication), и сервер перестанет использовать CredSSP. Для этого достаточно в Свойствах системы, на вкладке удалённые подключения снять соответствующую галку «Разрешить подключения только с компьютеров, на которых работает удалённый рабочий стол с проверкой подлинности на уровне сети»:

Но, это тоже неправильный подход.

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

Список обновлений для всех операционных систем, начиная с Windows 7 и Windows Server 2008 доступен по ссылке: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-0886
Выбираете нужную версию операционной системы, скачиваете соответствующее обновление из каталога, устанавливаете и перезагружаетесь. После этого ошибка должна пропасть.
Например, на Windows Server 2016 ссылка на скачивание будет такой: https://www.catalog.update.microsoft.com/Search.aspx?q=KB4103723

Microsoft Remote Desktop Services CAL в Казани

Лицензионная политика Microsoft для ПО Microsoft Remote Desktop Services предполагает, что в дополнение к покупке лицензий Microsoft Windows Server Client Access License, Microsoft Enterprise CAL Suite или Microsoft Core CAL Suite необходимо приобретать лицензии Microsoft Windows Server RDS CAL для каждого пользователя/устройства, который напрямую или опосредованно обращается к серверному ПО для взаимодействия с удаленным графическим пользовательским интерфейсом (для запуска функционала Microsoft Remote Desktop Services или других технологий).

Функционал RDS определяется как набор характеристики или сервисов, который запускается при обращении к ролям RDS на сервере Windows. Заказчикам доступны следующие виды лицензий клиентского доступа Microsoft Remote Desktop Services CAL:

  • Лицензия на устройство позволяет любому числу пользователей осуществлять доступ к серверному ПО с одного устройства. Этот тип наиболее подходит для тех организаций, где несколько пользователей работают на одном устройстве, например посменно.
  • Лицензия на пользователя позволяет одному пользователю осуществлять доступ к серверному ПО с любого числа устройств. Этот тип наиболее подходит для тех организаций, где много мобильных сотрудников, которым необходим доступ к корпоративной сети с произвольных устройств, или сотрудников, применяющих несколько устройств для доступа к сети.
  • External Connector предназначена только для доступа внешних пользователей или устройств. Она не может применяться для оказания услуг коммерческого хостинга, а также не распространяется на сотрудников организации (необходима покупка клиентских лицензий). Лицензия приобретается для каждой копии сервера Windows, к которому планируется открывать доступ внешним пользователям. External Connector не требует учета и отслеживания текущего количества партнеров или конечных заказчиков. Каждая лицензия предоставляет неограниченный доступ к лицензионной копии сервера Windows. При наличии большого числа партнеров или заказчиков приобретени External Connector более выгодно, чем покупка индивидуальных клиентских лицензий.

Варианты поставки

Microsoft Open License Program (OLP) – программа корпоративного лицензирования OLP предоставляет бессрочные права на использование текущих и предыдущих версий продуктов. Вместе с лицензиями можно приобрести подписку на программу поддержки Microsoft Software Assurance (SA), предоставляющую право обновлять ПО до новых версий и некоторые дополнительные преимущества (пакеты бесплатных услуг и инструментов) на срок 24 месяца. По окончании 24-х месяцев можно приобрести отдельные лицензии на продление SA.

Права на использование продуктов, предоставляемые лицензиями OLP изложены в официальном документе Microsoft Product Use Rights (PUR). Минимальный первичный заказ – 5 лицензий OLP на любые продукты. Последующие заказы в течение двух лет могут быть на любое количество лицензий.

После приобретения OLP-лицензии для Microsoft Office Word на сайте Microsoft VLSC покупателю предоставляется доступ к ключам и установочному файлу текущих и предыдущих версий продукта (доступ открывается примерно через 2 рабочих дня).

Подробная информация по лицензированию доступна на сайте Microsoft.

Методы

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

По умолчанию в продукте Windows Server Удаленное управление Windows (WinRM) включено, но удаленный рабочий стол (RDP) отключен. В операционных системах рабочих станций ни один из них не включен по умолчанию.

Информацию об обучении Windows Server под руководством инструктора см. В нашем расписании занятий.

Включение RDP локально.

Метод 1: Графический интерфейс

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

  1. Запустите Свойства системы и щелкните Удаленные настройки на левой панели.
  2. Выберите Разрешить удаленные подключения к этому компьютеру радиальная кнопка.
  3. Щелкните Выберите «Пользователи» , чтобы добавить пользователей для подключения через RDP.

ПРИМЕЧАНИЕ: По умолчанию локальной группе администраторов будет разрешено подключаться по RDP. Также пользователю, который в настоящее время вошел в систему, также будет разрешено подключиться.

  1. Щелкните OK , чтобы закрыть интерфейс, RDP теперь включен на вычислении.

ПРИМЕЧАНИЕ. Включение RDP через GIU также настроит брандмауэр Windows с соответствующими портами для разрешения подключений RDP.

ПРИМЕЧАНИЕ. Чтобы отключить удаленный рабочий стол, выберите Не разрешать удаленные подключения к этому компьютеру Радиальная кнопка .

Метод 2: Реестр

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

  1. Запустите инструмент редактирования реестра, набрав REGEDIT при запуске.
  2. Перейдите к следующему узлу: HKEY_LOCAL_MACHINE \ SYSTEM \ CurRentControlSet \ Control \ Terminal Server
  3. Выберите имя fDenyTSConnections

  1. Измените значение данных с 1 на 0, нажмите OK.

ПРИМЕЧАНИЕ. Включение RDP через реестр не приведет к настройке брандмауэра Windows с соответствующими портами для разрешения подключений RDP.

Введите в административной командной строке следующее:

Брандмауэр Netsh advfirewall устанавливает группу правил = «удаленный рабочий стол» новое включение = да

Брандмауэр Netsh advfirewall устанавливает группу правил = «удаленный рабочий стол» новое включение = да

ПРИМЕЧАНИЕ: По умолчанию локальные администраторы группе будет разрешено подключиться к RDP.Также пользователю, который в настоящее время вошел в систему, также будет разрешено подключиться.

ПРИМЕЧАНИЕ. Чтобы отключить удаленный рабочий стол, введите 1 вместо 0.

Метод 3: Командная строка

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

  1. Запустите командную строку от имени администратора.
  2. Введите следующую команду:

Reg добавить «HKEY_LOCAL_MACHINE \ SYSTEM \ CurentControlSet \ Control \ Terminal Server» / v fDenyTSConnections / t REG_DWORD / d 0 / f

Reg добавить «HKEY_LOCAL_MACHINE \ SYSTEM \ Curent TerminalSet / Control \ Curent Terminal Server» REG_DWORD / d 0 / f

ПРИМЕЧАНИЕ. Включение RDP через командную строку не приведет к настройке брандмауэра Windows с соответствующими портами для разрешения подключений RDP.

Введите следующее:

Брандмауэр Netsh advfirewall устанавливает группу правил = «удаленный рабочий стол» новое включение = да

Брандмауэр Netsh advfirewall устанавливает группу правил = «удаленный рабочий стол» новое включение = да

ПРИМЕЧАНИЕ: По умолчанию локальные администраторы группе будет разрешено подключиться к RDP. Также пользователю, который в настоящее время вошел в систему, также будет разрешено подключиться.

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

  1. Запустите командную строку от имени администратора.
  2. Введите следующую команду:

Reg добавить «HKEY_LOCAL_MACHINE \ SYSTEM \ CurRentControlSet \ Control \ Terminal Server» / v fDenyTSConnections / t REG_DWORD / d 1 / f

Reg добавить «HKEY_LOCAL_MACHINE \ SYSTEM \ CurRent TerminalSet / Control \ CurRent TerminalSet / Control \ CurRent Terminal Server» REG_DWORD / d 1 / f

Метод 4: Использование PowerShell

Чтобы включить RDP с PowerShell, выполните следующие действия.

  1. Запустите PowerShell от имени администратора.
  2. Введите следующую команду:

Set-ItemProperty -Path «HKLM: \ System \ CurrentControlSet \ Control \ Terminal Server» -Name «fDenyTSConnections» –Value 0

Set-ItemProperty -Path «HKLM: \ System \ CurrentControlSet \ Control \ Terminal Server» -Name «fDenyTSConnections» –Значение 0

ПРИМЕЧАНИЕ: Включение RDP через командную строку не приведет к настройке брандмауэра Windows с соответствующими портами для разрешения подключений RDP.

Введите следующее:

Enable-NetFirewallRule -DisplayGroup «Удаленный рабочий стол»

Enable-NetFirewallRule -DisplayGroup «Удаленный рабочий стол»

ПРИМЕЧАНИЕ. По умолчанию группе локальных администраторов разрешено подключаться через RDP. Также пользователю, который в настоящее время вошел в систему, также будет разрешено подключиться.

Чтобы отключить RDP с помощью PowerShell, выполните следующие действия.

  1. Запустите PowerShell от имени администратора.
  2. Введите следующую команду:

Set-ItemProperty -Path «HKLM: \ System \ CurrentControlSet \ Control \ Terminal Server» -Name «fDenyTSConnections» –Value 1

Set-ItemProperty -Path «HKLM: \ System \ CurrentControlSet \ Control \ Terminal Server» -Название «fDenyTSConnections» –Значение 1

До следующего раза — Безопасная езда!

Rick Trader
Windows Server Instructor — Interface Technical Training
Phoenix, AZ

Подпишитесь на канал сообщений этого автора через RSS

Что такое терминальный сервер? — Определение от WhatIs.com

Терминальный сервер, также иногда называемый коммуникационным сервером, представляет собой аппаратное устройство или сервер, который предоставляет терминалам, таким как ПК, принтеры и другие устройства, общую точку подключения к локальной или глобальной сети (WAN). Терминалы подключаются к терминальному серверу через их последовательный порт RS-232C или RS-423. Другая сторона терминального сервера подключается через сетевые интерфейсные карты (NIC) к локальной сети (LAN), обычно к локальной сети Ethernet или Token Ring, через модемы к глобальной сети с коммутируемым входом / выходом или к X.25 или шлюз 3270. (Различные марки терминальных серверов предлагают разные виды межсоединений. Некоторые из них могут быть заказаны в различных конфигурациях в зависимости от потребностей клиента.) Использование терминального сервера означает, что каждому терминалу не нужна собственная сетевая карта или модем. Ресурсы подключения внутри терминального сервера обычно динамически распределяются между всеми подключенными терминалами.

Некоторые терминальные серверы могут использоваться сотнями терминалов. Терминалами могут быть ПК, терминалы, имитирующие 3270-е, принтеры или другие устройства с интерфейсом RS-232/423.Терминалы могут использовать TCP / IP для Telnet-соединения с хостом, LAT для хоста Digital Equipment Corporation или TN3270 для Telnet-соединения с хостом IBM с приложениями 3270. С некоторыми серверами терминалов конкретный пользователь терминала может иметь несколько подключений хоста к различным типам операционных систем хоста, таким как UNIX, IBM и DEC.

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

Как работает терминальный сервер

Принцип работы терминального сервера может варьироваться от одного поставщика к другому. В случае терминального сервера Windows операционная система Windows настроена на поддержку нескольких пользовательских сеансов. Это отличается от других многосессионных сред, таких как файловый сервер Windows, потому что операционная система визуализирует пользовательский интерфейс (UI) для каждого из сеансов.

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

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

Терминальный сервер и удаленный рабочий стол

Терминальный сервер и удаленный рабочий стол служат схожей цели. Они позволяют пользователю взаимодействовать с удаленным сеансом через RDP-клиент. Основное отличие состоит в том, что терминальные серверы работают на Windows Server, и поэтому пользователю предоставляется рабочий стол Windows Server.И наоборот, в средах удаленных рабочих столов обычно есть настольные операционные системы, такие как Windows 10, работающие на виртуальных машинах (ВМ). Таким образом, пользователю предоставляется настоящая настольная операционная система, а не сеанс, запущенный на сервере.

AADS WorldWide | Терминальный сервер

Сервер терминалов AADS доступен у торговых посредников в вашей стране:

Для этой процедуры требуется Javascript

Visa Mastercard

Условия лицензии Сервер терминалов AADS

Положения и условия

Политика возврата

Отгрузка / Доставка продукции


Оформить заказ на AADS

Новый клиент

Постоянный покупатель / торговый посредник

Обновление / изменение лицензии на сервер терминалов AADS


Enterprise Terminal Server

AADS Enterprise Terminal Server — Windows Server 2016/2019, Server 2016/2019 Essentials — 64 бит — без ограничений для пользователей — v16.0

€ 535,00

AADS Enterprise Terminal Server — Windows Server 2012, Server 2012 Essentials — 64-разрядная версия — без ограничений для пользователей — v12.0

€ 535,00

Корпоративный терминальный сервер AADS — Windows Server 2008-R2, SBS 2008, SBS 2011 — 64 бит — без ограничений для пользователей — v6.1

€ 535,00

AADS Enterprise Terminal Server — Windows Server 2008 — 32 бита — без ограничений для пользователей — v6.0

€ 535,00

AADS Enterprise Terminal Server — Windows Server 2003 — 32-разрядная версия — без ограничений для пользователей — v3.0

€ 535,00

AADS Enterprise Terminal Server — Windows 10 — 32-разрядная версия — без ограничений для пользователей — v10.2

€ 535,00

AADS Enterprise Terminal Server — Windows 10 — 64-разрядная версия — без ограничений для пользователей — v10.3

€ 535,00

AADS Enterprise Terminal Server — Windows 8.x — 32-разрядная версия — без ограничений для пользователей — v8.2

€ 535,00

AADS Enterprise Terminal Server — Windows 8.x — 64 бит — без ограничений для пользователей — v8.3

€ 535,00

AADS Enterprise Terminal Server — Windows 7 — 32-разрядная версия — без ограничений для пользователей — v7.2

€ 535,00

AADS Enterprise Terminal Server — Windows 7 — 64-разрядная версия — без ограничений для пользователей — v7.3

€ 535,00

AADS Enterprise Terminal Server — Windows Vista — 32 бита — без ограничений для пользователей — v5.0

€ 535,00

AADS Enterprise Terminal Server — Windows Vista — 64-разрядная версия — без ограничений для пользователей — v5.1

€ 535,00

AADS Enterprise Terminal Server — Windows XP Prof SP2 или выше — 32 бита — без ограничений на количество пользователей v2.2

€ 535,00


Малый терминальный сервер

Малый терминальный сервер AADS — Windows 10 — 32 бита — 5 пользователей — v10.0

€ 185,00

Малый терминальный сервер AADS — Windows 10 — 32 бита — 10 пользователей — v10.0

€ 210,00

Малый терминальный сервер AADS — Windows 10 — 32-разрядная версия — без ограничений для пользователей — v10.0

€ 260,00

Малый терминальный сервер AADS — Windows 10 — 64 бит — 5 пользователей — v10.1

€ 185,00

Малый терминальный сервер AADS — Windows 10 — 64-разрядная версия — 10 пользовательских — v10.1

€ 210,00

Малый терминальный сервер AADS — Windows 10 — 64-разрядная версия — без ограничений для пользователей — v10.1

€ 260,00

Малый терминальный сервер AADS — Windows 8.x — 32 бита — 5 пользователей — v8.0

€ 185,00

Малый терминальный сервер AADS — Windows 8.x — 32 бита — 10 пользователей — v8.0

€ 210,00

Малый терминальный сервер AADS — Windows 8.x — 32 бита — без ограничений для пользователей — v8.0

€ 260,00

Малый терминальный сервер AADS — Windows 8.x — 64 бит — 5 пользователей — v8.1

€ 185,00

Малый терминальный сервер AADS — Windows 8.x — 64 бит — 10 пользователей — v8.1

€ 210,00

Малый терминальный сервер AADS — Windows 8.x — 64 бит — без ограничений для пользователей — v8.1

€ 260,00

Малый терминальный сервер AADS — Windows 7 — 32-разрядная версия — 5 пользователей — v7.0

€ 185,00

Малый терминальный сервер AADS — Windows 7 — 32 бита — 10 пользователей — v7.0

€ 210,00

Малый терминальный сервер AADS — Windows 7 — 32-разрядная версия — без ограничений для пользователей — v7.0

€ 260,00

Малый терминальный сервер AADS — Windows 7 — 64-разрядная версия — 5 пользователей — v7.1

€ 185,00

Малый терминальный сервер AADS — Windows 7 — 64-разрядная версия — 10 пользователей — v7.1

€ 210,00

Малый терминальный сервер AADS — Windows 7 — 64-разрядная версия — без ограничений для пользователей — v7.1

€ 260,00

Малый терминальный сервер AADS — Windows Vista — 32 бита — 5 пользователей — v4.0

€ 185,00

Малый терминальный сервер AADS — Windows Vista — 32 бита — 10 пользователей — v4.0

€ 210,00

Малый терминальный сервер AADS — Windows Vista — 32 бита — без ограничений для пользователей — v4.0

€ 260,00

AADS Small Terminal Server — Windows Vista — 64 бит — 5 пользователей — v4.1

€ 185,00

Малый терминальный сервер AADS — Windows Vista — 64 бит — 10 пользователей — v4.1

€ 210,00

Малый терминальный сервер AADS — Windows Vista — 64 бит — без ограничений для пользователей — v4.1

€ 260,00

Малый терминальный сервер AADS — Windows XP Prof SP2 или выше — 32 бита — 5 пользователей — v1.9

€ 185,00

Малый терминальный сервер AADS — Windows XP Prof SP2 или выше — 32 бита — 10 пользователей — v1.9

€ 210,00

AADS Small Terminal Server — Windows XP Prof SP2 или выше — 32 бита — без ограничений для пользователей — v1.9

€ 260,00


Дом

© 2012- 2021 | Терминальный сервер | Сервер приложений | Решения для удаленного рабочего стола | Межсетевой экран.

Устранение распространенных проблем удаленного рабочего стола Windows — Учебник

Проблемы с подключением

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

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

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

Параметры удаленного рабочего стола Windows

Если вы вошли в систему, и кажется, что сервер работает, но удаленный рабочий стол по-прежнему не может подключиться, убедитесь, что удаленное подключение разрешено. Самый простой способ добраться до этой опции — открыть sysdm.cpl, выполнив поиск в меню «Пуск». Затем перейдите на вкладку Remote.

Для работы этой функции удаленному рабочему столу необходимо разрешить подключения с других компьютеров. Если ваш сервер был настроен на удаленное управление с аутентификацией на уровне сети, убедитесь, что ваш собственный компьютер поддерживает это, или разрешите любое соединение. Дополнительную информацию об аутентификации на уровне сети можно найти на сайте Microsoft TechNet.

Не выходя из настроек RDP, проверьте разрешенных пользователей, щелкнув Select Users или нажав S.Всем пользователям с правами администратора автоматически разрешается подключение. В этот список необходимо добавить всех обычных пользователей. Если вы пытались подключиться с учетными данными пользователя, у которых нет прав администратора, добавьте имя пользователя, с которым вы хотите подключиться, в список разрешенных пользователей.

Межсетевой экран

Брандмауэр Windows может быть немного ограничен, например, входящий протокол ICMP, который используют соединения ping, по умолчанию отключен. Откройте брандмауэр Windows в режиме повышенной безопасности, выполнив поиск «брандмауэра» в меню «Пуск».Перейдите к списку правил для входящих подключений и прокрутите вниз до правил удаленного рабочего стола, нажав R.

Windows Server 2008 должен отображать два правила: удаленный рабочий стол (входящий TCP) и удаленный рабочий стол — RemoteFX (входящий TCP). Оба эти параметра в большинстве случаев будут включены, если сервер по-прежнему использует стандартный порт TCP 3389 для подключений RDP.

В Windows Server 2012 правила разделены между доменными и частными или общедоступными профилями, а также протоколами TCP и UDP, что переводится в 4 отдельных правила удаленного рабочего стола — пользовательского режима, все из которых обычно включены.

При желании в настройках брандмауэра вы можете включить ICMP для проверки связи. Нажмите F, чтобы найти правила, которые называются Общий доступ к файлам и принтерам (Echo Request — ICMPv4 — In) и v6 для обеих версий IP.

Если вы уверены, что брандмауэр Windows разрешает подключения к удаленному рабочему столу, также проверьте настройки брандмауэра для конкретного сервера на панели управления UpCloud. Если вы установили правило для входящего трафика по умолчанию на отклонение, не забудьте добавить правило, разрешающее трафик на порт, который прослушивает сервер Remoter Desktop, по умолчанию 3389.Узнайте больше о брандмауэре UpCloud в руководствах.

Сетевое подключение

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

 пинг 8.8.8.8 

Если вы включили эхо-запросы из брандмауэра Windows, вы также можете попытаться проверить связь с вашим сервером со своего компьютера.Найдите общедоступный IP-адрес сервера на панели управления UpCloud в разделах «Сеть» и «Общедоступная сеть».

Если подключение к Интернету не работает, проверьте конфигурацию IP в командной строке с помощью следующей команды.

 ipconfig 

В выводе будут перечислены все сетевые подключения ваших серверов, вы должны увидеть 3 адаптера Ethernet: частную сеть, общедоступный IPv4 и общедоступный IPv6. Убедитесь, что они совпадают с сетевой информацией в сведениях о вашем сервере на вкладке «Сеть» на панели управления UpCloud.

Если вы видите различия в выводе ipconfig и на странице сведений о сети вашего сервера, убедитесь, что все сетевые интерфейсы настроены на автоматическое получение IP-адресов. Для этого найдите «Сетевые подключения» в меню «Пуск» и нажмите клавишу «Ввод», чтобы открыть его. Откройте свойства одного из адаптеров Ethernet, выберите Интернет-протокол версии 6 или 4 и нажмите кнопку «Свойства» внизу. Убедитесь, что обе радиальные кнопки настроены на автоматический режим, и нажмите OK для сохранения. Таким же образом проверьте все сетевые адаптеры на сервере.

Медленное соединение

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

После загрузки файла ISO на ваш сервер в Windows Server 2008 вам потребуется программа, например 7zip, для его распаковки. В Server 2012 вы можете просто смонтировать файл как диск.

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

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

Конфликт портов

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

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

 netstat -a -o 

Netstat распечатает список используемых IP-адресов и номеров портов. Найдите строки с номером порта удаленного рабочего стола (по умолчанию 3389) и проверьте идентификатор программы (PID) в конце этих строк.Один PID будет принадлежать службе RDP. Если вы видите другой PID, который использует тот же порт, они будут конфликтовать друг с другом.

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

 список задач / svc 

Remote Desktop указан как svchost.exe TermService, любой другой PID, использующий тот же номер порта, вызывает проблемы.

Изменить номер порта RDP

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

Измените номер порта, потому что это также может помочь уменьшить попытки вторжения за счет обфускации. Это не должно быть вашим единственным методом защиты.

Чтобы изменить номер порта, вам сначала нужно выбрать свободный порт, который больше не используется на вашем сервере. Проверьте используемые в настоящее время порты с помощью netstat -a -o, как описано ранее.Новый номер порта может быть любым от 1024 до 49151.

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

  • Тип правила: Порт
  • Протокол и порты: TCP, определенные локальные порты, <номер порта>
  • Действие: Разрешить подключение
  • Профиль: отмечены все опции
  • Имя: Удаленный рабочий стол — TCP <номер порта>

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

Номер порта для удаленного рабочего стола не предназначен для изменения, и единственный способ сделать это — отредактировать реестр. Мы настоятельно рекомендуем вам сделать резервную копию вашего сервера, прежде чем вносить какие-либо изменения.

Откройте редактор, выполнив поиск regedit в начальном меню и нажав клавишу ВВОД.

Найдите следующий раздел в файловой системе реестра.

 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal SErver \ WinStations \ RDP-Tcp \ PortNumber 

Откройте раздел реестра PortNumber для редактирования, измените отображение на Decimal, введите новый номер порта и нажмите OK, чтобы сохранить изменения.

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

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

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

 windows.server.example.com:34567 

С новым портом вы получите бесперебойный и надежный удаленный доступ.

Получение помощи

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

Как мне включить Windows 7, 8, 8.1, 10 RDS / RDP Multi-Session как терминальный сервер? — Brainiac Center (база знаний)

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

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

Другой пользователь вошел в систему. Если вы продолжите, он будет отключен. Вы все равно хотите войти?

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

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

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

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

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

Важно . Изначально, в самой первой версии этого поста, основным рабочим вариантом, позволяющим снять ограничение на количество одновременных подключений пользователей RDP, было изменение и замена файла termsrv.dll в папке% SystemRoot% \ Папка System32. Однако при установке новой сборки Windows 10 или некоторых обновлений безопасности этот файл можно обновить.

В результате вам придется каждый раз редактировать этот файл с помощью Hex-редактора, что довольно утомительно.Следовательно, вы можете использовать инструмент RDP Wrapper Library в качестве основного способа развертывания бесплатного сервера RDS в Windows 10.

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

RDP Wrapper: включить несколько сеансов RDP в Windows 10

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

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

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

Вы можете загрузить RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия библиотеки RDP Wrapper — v1.6.2). Судя по информации на странице разработчика, поддерживаются все версии Windows.Windows 10 поддерживается вплоть до сборки 1809 (хотя все также отлично работает в Windows 110 1909, см. Решение ниже).

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

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

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

После завершения установки запустите RDPConfig.exe . Убедитесь, что все элементы в разделе Диагностика зеленые.

Запустите RDPCheck.exe и попробуйте открыть второй сеанс RDP (или подключить несколько сеансов RDP с удаленных компьютеров). Получилось хорошо! Теперь ваша Windows 10 позволяет двум (и более) пользователям одновременно использовать разные сеансы RDP.

Утилита RDPWrap поддерживает все редакции Windows: Windows 7, Windows 8.1 и Windows 10. Таким образом, вы можете создать свой собственный терминальный сервер (RDS) на любом настольном экземпляре Windows.

Также интересные особенности RDP Wrapper:

RDP Wrapper не работает в Windows 10

Давайте посмотрим, что делать, если вы не можете использовать несколько подключений RDP в Windows 10 даже с установленным инструментом RDP Wrapper.

В моем случае, поскольку на компьютере нет прямого доступа в Интернет, RDPWrap не смог получить новую версию rdpwrap.ini с GitHub с настройками для последних версий Windows. Таким образом, служебная программа RDConfig показала состояние [не поддерживается].

Загрузите файл rdpwrap.ini со страницы разработчика и поместите его в папку установки (C: \ Program Files \ RDP Wrapper \ rdpwrap.ini). Перезапустите TermService и убедитесь, что состояние [не поддерживается] изменено на [полностью поддерживается].

Если утилита RDP Wrapper не работает должным образом после обновления rdpwrap.ini, проблема может возникнуть из-за новой сборки Windows 10, которую вы используете. Попробуйте загрузить новый файл rdpwrap.ini для сборки с версией Windows 10 здесь https://github.com/fre4kyC0de/rdpwrap.

Кроме того, если у вас есть проблемы с RDPWrap, вы можете открыть проблему на https://github.com/stascorp/rdpwrap/issues. Здесь вы можете найти актуальный файл rdpwrap.ini перед его обновлением в официальном репозитории.

Для замены файла rdpwrap.ini:

  1. Остановить termservice: get-service termservice | стоп-сервис
  2. Заменить rdpwrap.ini в каталоге C: \ Program Files \ RDP Wrapper \;
  3. Перезагрузите компьютер;
  4. Запустите RDPConf.exe и убедитесь, что все статусы становятся зелеными.

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

Попробуйте обновить C: \ Program Files \ RDP Wrapper \ rdpwrap.ini с помощью скрипта update.bat (или вручную) и переустановите службу:

rdpwinst.exe -u
rdpwinst.exe -i

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

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

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

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

Изменение файла Termsrv.dll для разрешения нескольких сеансов RDP

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

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

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

Перед тем, как редактировать файл termsrv.dll, вы должны стать его владельцем и предоставить группе администраторов полные права доступа к нему.Самый простой способ сделать это — из командной строки. Чтобы изменить владельца файла с TrustedInstaller на группу локальных администраторов, используйте команду:

takeown / F c: \ Windows \ System32 \ termsrv.dll / A

 УСПЕХ: файл (или папка): c: \ Windows \ System32 \ termsrv.dll теперь принадлежит группе администраторов 

Теперь предоставьте группе локальных администраторов разрешение «Полный доступ» для файла termsrv.dll:

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

Обработано
 файла: c: \ Windows \ System32 \ termsrv.dll Успешно обработано 1 файл; Не удалось обработать 0 файлов. 

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

Чистая остановка TermService

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

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

На моем компьютере установлена ​​Windows 10 build 1909.

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

Windows 10 сборка Найдите строку Заменить на
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00

В8 00 01 00 00 89 81 38 06 00 00 90

Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00

Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00

Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

Например, для Windows 10 x64 RTM (10240) с termrv.dll версии 10.0.10240.16384, нужно найти строку:

39 81 3C 06 00 00 0F 84 73 42 02 00

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

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

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

Уже пропатченный файл termsrv.dll для Windows 10 Pro x64 можно скачать здесь: termsrv_for_windows_10_x64_10240.zip

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

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

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

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

Спасибо http://woshub.com/how-to-allow-multiple-rdp-sessions-in-windows-10/ за прекрасное и полезное руководство. Скопируйте и вставьте приведенное ниже в ini-файл Wrapper и замените то, что там есть. Его обновлено. в качестве альтернативы вы можете получить обновление со страницы github. Получил это 1 апреля 2020 года.

; Конфигурация библиотеки RDP Wrapper
; Не модифицируйте без специальных знаний

[Основная]
Обновлено = 16.02.2020
LogFile = \ rdpwrap.txt
SLPolicyHookNT60 = 1
SLPolicyHookNT61 = 1

[SLPolicy]
TerminalServices-RemoteConnectionManager-AllowRemoteConnections = 1
TerminalServices-RemoteConnectionManager-AllowMultipleSessions = 1
TerminalServices-RemoteConnectionManager-AllowAppServerMode = 1
TerminalServices-RemoteConnectionManager-AllowMultimon = 1
TerminalServices-RemoteConnectionManager-MaxUserSessions = 0
TerminalServices-RemoteConnectionManager-ce0ad219 -4670-4988-98fb-89b14c2f072b-MaxSessions = 0
TerminalServices-RemoteConnectionManager-45344fe7-00e6-4ac6-9f01-d01fd4ffadfb-MaxSessions = 2
TerminalServices-RDP-7-Advanced-Compression-Compression-45 разрешено = 1 -00e6-4ac6-9f01-d01fd4ffadfb-LocalOnly = 0
TerminalServices-RemoteConnectionManager-8dc86f1d-9969-4379-91c1-06fe1dc60575-MaxSessions = 1000
TerminalServices-DeviceRedirection-LicensesSirection-Licenses 1-Низкий-TSEasy-1
TerminalServices-DeviceRedirection-Licen ses-TSMFPluginAllowed = 1
TerminalServices-RemoteConnectionManager-UiEffects-DWMRemotingAllowed = 1

[PatchCodes]
NOP = 90
Ноль = 00
jmpshort = ЕВ
nopjmp = 90E9
CDefPolicy_Query_edx_ecx = BA0001000089

300005E90
CDefPolicy_Query_eax_rcx_jmp = B80001000089813806000090EB
CDefPolicy_Query_eax_esi = B80001000089862003000090
CDefPolicy_Query_eax_rdi = B80001000089873806000090
CDefPolicy_Query_eax_ecx = B80001000089812003000090
CDefPolicy_Query_eax_ecx_jmp = B800010000898120030000EB0E
CDefPolicy_Query_eax_rcx = B80001000089813806000090
CDefPolicy_Query_edi_rcx = BF0001000089B9380600000

[6.0.6000.16386]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 160BF
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 65E3E
SingleUserCode.x64 = ZeroPatch. = 15CD8
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 5C88F
DefPolicyCode.x64 = CDefPolicy_Query_eax_

_j

[6.0.6001.18000]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 185E4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 70DBA
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x8630_DefPolicyPatch.x86 = 1
DefPolicyOffset.x8630 = 17FatchD8 1
DefPolicyOffset.x64 = 65BD7
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx_jmp

[6.0.6002.18005]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FA8
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 70FF6
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 179C0
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicy_Query_edx_ecx
DefPolicy_Query_edx_ecx
DefPolicy_Query_edx_ecx
DefPolicyPatch_30.x64 = 1

[6.0.6002.19214]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FC4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 712AA
.Offset
.Offset_Defset.x64 .x86 = 179B8
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 65FF7
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx3

[6.0.6001.22286]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 185E4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 70DDE
. .x86 = 17FD8
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 65C01
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx_jmp

[6.0.6001.22323]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 185E4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 70DFA
. .x86 = 17FD8
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 65C1D
DefPolicyCode.x64 = CDefPolicy_Query_eax_r

[6.0.6001.22357]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 185E4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 70DFA
SingleUserCode.x64 = Zero230 SingleUserCode.x64 = Zero230 по умолчанию
. = 17FD8
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 65C1D
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx3

[6.0.6001.22801]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 185F8
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 71ADA
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 1808610 DefPolicyPatch.x86 = 180230 DefPolicyPatch.x86 = 180230 DefPolicyCode.x86 = 180230 DefPolicyCode. 1
DefPolicyOffset.x64 = 666AD
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx_jmp

[6.0.6002.22515]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FA8
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 71AFA
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 179C0
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicy_Query_edx_ecx
DefPolicy_Query_edx_ecx
DefPolicyPatch_30.x64 = 1

[6.0.6002.22641]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FA8
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 71AFA
. .x86 = 179C0
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 6675D
DefPolicyCode.x64 = CDefPolicy_Query_eax_rc000

[6.0.6002.22790]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FA8
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 71B02
.Offset ZeroCode.x64 = 71B02
. .x86 = 179C0
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 66765
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx_jmp

[6.0.6002.23521]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FB4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 71EAA
.Offset ZeroCode.x64 = 71EAA
. .x86 = 179CC
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 669CB
DefPolicyCode.x64 = CDefPolicy_Query_eax_rc000

[6.0.6003.20482]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 17FC4
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 71F8A
SingleUserCode.x64 = Offset
SingleUserCode. = 179DC
DefPolicyCode.x86 = CDefPolicy_Query_edx_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 66B65
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx_j

[6.1.7600.16385]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 19E25
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17D96
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86302 DefPolicyPatch.x86 = 1
DefPolicyOffset. 1
DefPolicyOffset.x64 = 17AD2
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7600.20621]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 19E1D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17DC2
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 196EB
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicy_Query_eax_esi
DefPolicy_Query_eax_esi
DefPolicy64Patch_ffolicy.x64 = 1
DefPolicyPatch_ffolicy.x64 = 1
DefPolicyPatch_ffset.x64 = 1 902

[6.1.7600.20890]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 19E2D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17DF2
SingleUserOffset. .x86 = 196FB
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17B0E
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7600.21316]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 19E2D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17E3E
.Offset_Defset_Defset.x64 = 17E3E
.Offset_Defset.x64 .x86 = 196FB
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17B5E
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7600.21420]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 19EF5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17D56
SingleUserPeroCode
Defset .x86 = 19761
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17B3E
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi 9000

[6.1.7601.17514]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A49D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 180E2
SingleUserCode.x64 = Zerox86. = 19D53
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D8A
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.18540]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A4E5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 18006
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 19D9F
DefPolicyCode.x86 = 19D9F
DefPolicyCode. 17C82
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.18637]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A4DD
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 180FA
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 19DBB
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64.x64 = 17DC6

[6.1.7601.21650]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A49D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 180BE
.Offset ZeroCode.x64 = 180BE
. .x86 = 19D53
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D5A
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.21866]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A49D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 180BE
.Offset ZeroCode.x64 = 180BE
. .x86 = 19D53
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D5A
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.22104]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A49D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 180C6
SinglePeroPatch
Defset
Defset
. .x86 = 19D53
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D5E
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi 9000

[6.1.7601.22213]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A5AD
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F26
SingleUserCode.x64 = Zerox86. = 19DB1
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D06
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.22435]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A5BD
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F36
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 19DB1
DefPolicyOffset.x86 = 19DB1
DefPolicyCode. 17D16
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.22476]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A5CD
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F56
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 19DC1
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x6430.xPolicy_Offset.x6430.x64 = 17D52

[6.1.7601.22750]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A655
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17E8E
SingleUserCode.x230 SingleUserCode.x2 .x86 = 19E21
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17C92
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.22843]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A655
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F96
.Offset ZeroCode.x64 = 17F96
. .x86 = 19E25
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D6E
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.23403]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A65D
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F62
SingleUserPatch =
SingleUserCode.x64 .x86 = 19E29
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17CE2
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi 9000

[6.1.7601.24234]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A675
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F56
SingleUserOffset.x64 = Zerox86. = 19E41
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17D2E
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.24326]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A675
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F1E
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 19E41
DefPolicyOffset.x86 = 19E41
DefPolicyCode.x86 = DefPolicyCode.x86 = CDefuserPolicyCode. 17CEE
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi

[6.1.7601.24402]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1A675
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17F26
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 19E41
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x6430.x64 = 17CFEPolicyOffset.x6430 = 17CFE

[6.2.8102.0]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = F7E9
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = D840
SingleUserOffset.x64 = D840
SingleUserPeroCode.x302 Defset .x86 = E47C
DefPolicyCode.х86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 D3E6
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi
SLPolicyInternal.x86 = 1 =
SLPolicyOffset.x86 1B909
SLPolicyFunc.x86 = New_Win8SL
SLPolicyInternal.x64 = 1 =
SLPolicyOffset.x64 1A484
SLPolicyFunc.x64 = New_Win8SL

[6.2.8250.0]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 159C9
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 11E74
SingleUserCode.64 = ноль
DefPolicyPatch.x86 = 1 =
DefPolicyOffset.x86 13520
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 1187A
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi
SLPolicyInternal.x86 = 1 =
SLPolicyOffset.x86 1A0A9
SLPolicyFunc.x86 = New_Win8SL_CP
SLPolicyInternal.x64 = 1
SLPolicyOffset.x64 = 18FAC
SLPolicyFunc.x64 = New_Win8SL

[6.2.8400.0]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 15482
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 20824
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 13E48
DefPolicyOffset.x86 = 13E48
DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode.x86 = DefPolicyCode. 1F102
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi
SLPolicyInternal.x86 = 1
SLPolicyOffset.x86 = 19629
SLPolicyFunc.x86 = New_Win8SL
SLPolicyFunc.x86 = New_Win8SL
SLPolicyInternal.

[6.2.9200.16384]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 15552
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 2BAA8
SingleUserOffset.x64 = 2BAA8
SingleUserCode.x64ffset.x64ffset по умолчанию = 902 = 13F08
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 2A31A
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi
SLPolicyInternal.x86 = 1 =
SLPolicyOffset.x86 19559
SLPolicyFunc.x86 = New_Win8SL
SLPolicyInternal.x64 = 1
SLPolicyOffset.x64 = 21FA8
SLPolicyFunc.x64 = New_Win8SL

[6.2.9200.17048]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 20592
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 20948
SingleUserPolicy. .x86 = 1F408
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 1F206
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi.x86 = 1
SLPolicyOffset.x86 = 17059
SLPolicyFunc.x86 = New_Win8SL
SLPolicyInternal.x64 = 1
SLPolicyOffset.x64 = 24570
SLPolicyFunc.x64 = New_Win8SL

[6.2.9200.21166]
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 1557A
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 2BAF8
SingleUserOffset. .x86 = 13F30
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 2A3B6
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi
SLPolicyInternal.x86 = 1
SLPolicyOffset.x86 = 19581
SLPolicyInc. New_Win8SL

[6.2.9200.22715]
; x86-Offset небезопасны (определяются без символов)
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 155B2
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.64 =
2BAE4 SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1 =
DefPolicyOffset.x86 13F68
DefPolicyCode.x86 = CDefPolicy_Query_eax_esi
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 2A396
DefPolicyCode.x64 = CDefPolicy_Query_eax_rdi
SLPolicyInternal.x86 = 1
SLPolicyOffset.x86 = 195B9
SLPolicyFunc.x86 = New_Win8SL
SLPolicyInternal.x64 = 1
SLPolicyOffset.x64 = 21F90
SLPolicyFunc.x64 = New_Win8SL

[6.3.9431.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = 8A611
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 9F721
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1
8SingleUserPatch.x86 = 1
8SingleUserOffset = 1
8SingUserOffset = 1
8SingleUserOffset 1
SingleUserOffset.x64 = 367F9
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 2EA25
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecxolicy.x86 = CDefPolicy_Query_eax_ecxolicy.x
DefsetCode = 1
DefSetx64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 196B0
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1c.

[6.3.9600.16384]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A2729
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffatch.x64 = 81824
LocalOnlyOffset.x64 = 81824
LocalOnlyOffset.x64 = 81824
SingleOffset.x64 = 81824
SingleOffset.x64 = 81824
SingleOffset.x64 = 81824
SingleOffset.x64 = 81824
.x86 = 18028
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 20241
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 16115
DefPolicyOffset.x86 = 16115
DefPolicyCode. 57829
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 1CEB0
SLInitFunc.x86 = New_CSLQuery_InitializeOc.

[6.3.9600.17095]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A36D1
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = B9159
86xOnlyOffset.x64 = B9159
86xSingleCode 2 = 36BA9
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 21829
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 37530CefuserPatch.x64 = 1
DefPolicyOffset.x64 = 1F6A1
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 117F1
SLInitFunc. New_CSLQuery_Initialize

[6.3.9600.17415]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B33F8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8B2xd9.x86 = 1
SingleUserOffset.x86 = 37115
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 33CE9
SingleUserCode.x64 = ноль
DefPolicyPatch.x86FF = 1
DefPolicyPatch.x86FF = 1
DefPolicyPatch.x86FF = 1
DefPolicyPatch.x86FF = 1
Defset.9 CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 45825
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 18478
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 5DBC0
SLInitFunc.x64 = New_CSLQuery_Initialize

[6.3.9600.18692]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B3458
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8B2EnlyConlyCode2. .x86 = 37105
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 37039
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.х86 = 3CFE9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 45835
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 18488
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 5DBD0
SLInitFunc.x64 = New_CSLQuery_Initialize

[6.3.9600.18708]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B35D8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8B376
LocalOnlyCode.x64 = nopjmp
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 370F5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1 Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 3CFD9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64230.DefPolicyPatch.x64 = 1
DefPolicyOffset.x64230.x86 = 18308
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 5DB70
SLInitFunc.x64 = New_CSLQuery_Initialize

[6.3.9600.18928]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B39D8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8Batch2Udset.x64 = 8Batch230 SingleUpset.x64 = 8Batch2Uset
SingleOffset. .x86 = 37D25
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.64 =
36C09 SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1 =
DefPolicyOffset.x86 3D6F9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 45495
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 18328
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 5D830
SLInitFunc.x64 = New_CSLQuery_Initialize

[6.3.9600.19093]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B3958
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8AE4E
LocalOnlyxode.x64 = nopjmp
86×1 SingleUserPatch = 1UserPatch = 1 nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 36BC9
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 3D899
DefPolicyCode.x86 = CDefceryPolicy.x64 =
DefPolicyCode. DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 18288
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SL_3000c.

[6.3.9600.19318]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = B43E8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlympOffset.x64 = 89EAC230 SingleUdset. .x86 = 3ED25
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 35779
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 3D579
DefPolicyCode.x86_DefpolicyCode.x86 = DefPolicyCode.x86 = CDefueryPolicyCode.x86_Def 43CE5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 180F8
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitOffset.x86 = New_CSLQuery_Initialize
SLInitHook2.x86

[6.3.9600.19628]
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8A07D
LocalOnlyCode.x64 = nopjmp
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 358E9
SingleUserCode. = 43EF5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x64 = 1
SLInitOffset.x64 = 5C2E0
SLInitFunc.x64 = New_CSLQuery_Initialize

[6.4.9841.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = 956A8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 81141
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 30125
SingleUserPatch. 12159
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 3B989
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch64.x64 = 1
DefPolicyPatch.x64.x86 = 1
SLInitOffset.x86 = 46A68
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 1EA50
SLInitFunc.x64 = New_CSLizeuery_3000

[6.4.9860.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = 962C8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 81091
SingleOffset.x64 = 81091
SingleOffset.x64 = 81091
SingleOffset = 81091
SingleOffset .x86 = 30845
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 11AA9
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 3BEC9
DefPolicyCode.x86 = CDefPolicy_Query_eax2ffolicy.x86. CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 46F18
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitc.OffsetBitery.

[6.4.9879.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A9CC8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 95611
LocalserOnlyOffset.
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 16A34
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 2DAB9
DefPolicyOffset.x64 = 1
DefPolicyOffset.x64 = 1BDC5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 41132
SLInitFunc. New_CSLQuery_Initialize

[10.0.9926.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A8C28
LocalOnlyCode.x86 = jmpshort
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 31725
x86Defset.x86 = 31725
x86.х86 = 1 =
DefPolicyOffset.x86 3CF99
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
SLInitHook.x86 = 1 =
SLInitOffset.x86 3F140
SLInitFunc.x86 = New_CSLQuery_Initialize
LocalOnlyPatch.x64 = 1 =
LocalOnlyOffset.x64 95FF1
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 12A34
SingleUserCode.x64 = Ноль
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = BE05
DefPolicyOffset.x64 = BE05
DefPolicyCode.x64_cituserPolicyCode.x64_RefueryPolicyCode.x64 = 24EC0
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.10041.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A9D88
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 97142 jmpshort LocalOnlyOffset.x64 = 97141
SingleUdset. .x86 = 32215
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 15C64
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.х86 = 2DFC9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 B795
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 46960
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 22E40
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.10240.16384]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A7D38
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 96901
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 32A95
SingleUserCode.x86 = nop
SingleUserPatch. Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 2F5B9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64.x64.x86 = 46581
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 250F0
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.10240.18036]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A7E18
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOnlyPatch.x64 = 1
LocalOnlyOffset.x6486 = 96961 jsset2 .x86 = 32715
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.64 = 17264
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1 =
DefPolicyOffset.x86 2F299
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 EDC5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 3F968
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 24C30
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.10240.18186]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A8048
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 96A41
LocalOnlyCode.x64 = jmpshort
86. SingleUserPatch = 1. nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 17264
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 2F699
DefPolicyCode.x86 = CDefcolicyPolicy.x86 =
DefPolicyCode.x64 = EDC5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 3FA58
SLInitFunc.x86 = New_CSLQuery_Initialize
. SLInitial_Initialize
. SLInitial_Initialize.

[10.0.10586.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A7C18
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = LocalServerOffset.x64 = 96AAnlyCode2
SingleUnlyOffset. .x86 = 353B5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 190D4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffsetPatch.x86 = 1
DefPolicyOffset.x86_olicyPatch =
DefPolicyOffset.x86 = 3086BatchPolicyOffset.x86 = 3086BatchPolicyOffset.x86 = 3086BatchB69 1
DefPolicyOffset.x64 = 229A5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 469DE
SLInitFunc.x86 =
.InitOffset.x86 = 902_C20xSLitOffset.x64 = New_CSLQuery_Initialize

[10.0.10586.589]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A7BE8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 1×0230 SingleOffset.x64 = 96A51 jsset2 .x86 = 353B5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 190D4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 30B69х86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 229A5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 469DE
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1 =
SLInitOffset.x64 25220
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.11082.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A7C98
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 96AB1
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 35405
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffserPatch. 1
DefPolicyOffset.x86 = 30BB9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 229A5
DefPolicyOffset.x64 = 229A5
DefPolicyCode.x230.x64_cefpolicyCode.x64_refindex1x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = 25220
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.11102.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A5D58
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 1
LocalOnlyOffset. .x86 = 35A85
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 2A9C4
SingleUserCode.64 = ноль
DefPolicyPatch.x86 = 1 =
DefPolicyOffset.x86 30159
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 1B5D5
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 44FD2
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = D160
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.14251.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A5D58
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 95CD1
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1 902serpatch
SingleUserPatch. 1
SingleUserOffset.x64 = 2A9C4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 30159
DefPolicyCode.x86 = CDefPolicy_Query_eaxBecx5.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 44FD2
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SL_330SLInitOffset.x64 = 1
SL_330SLInitialOffset

[10.0.14271.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A4CE8
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 941EnlyOffset.x64 = 941EnlyCatch1
SingleUnlyOffset.x64 = 941EnlyCset
SingleUnlyOffset. .x86 = 35915
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 263F4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 2FF79
DefPolicyCode.x86_DefuserPolicyCode.x86_DefuserPolicyCode.x86_Defuser_set 1C185
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 47725
SLInitFunc.x86 = New_CSLQuery_Initialize64c.

[10.0.14279.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A4D28
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 94191
LocalserOnlyOffset. = 35915
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 263F4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 2FF8630 DefPolicyCode.x86 = 2FF8630_defpatch_expolicycefolicyxx64 = 1
DefPolicyOffset.x64 = 1C185
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 47725
SLInitFunc.InitOffset.x86 = 47725
SLInitFunc. New_CSLQuery_Initialize

[10.0.14295.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A4D28
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8D691 jmpshort.x86 = 1
SingleUserOffset.x86 = 35925
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 25514
SingleUserCode.x64 = ноль
DefPolicyPatch.x86 = 1
DefPolicyPatch.x86 = 1 902ffolicyPatch.x86 = 1 902ffset.x CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 1BA35
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 47748
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = C860
SLInitFunc. x64 = New_CSLQuery_Initialize

[10.0.14300.1000]
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8F5F1
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 26B04 DefserCode. .x64 = 1D125
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x64 = 1
SLInitOffset.x64 = CC60
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.14316.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A8E88
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8F5F1
86.OnlyOffset.x64 = 8F5F1
86. = 32B55
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 26B04
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 3C1xPolicyPatch_DefPolicyPatch.x86 = 3C1x86C9.x64 = 1
DefPolicyOffset.x64 = 1D295
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 46ABD
SLInitFunc.Init =
SLInitFunc. New_CSLQuery_Initialize

[10.0.14328.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A8E88
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8F5Fnly.x86 = 1
SingleUserOffset.x86 = 32B55
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 26B04
SingleUserCode.x64 = ноль
DefPolicyPatchOffset.x86 = 186
DefPolicyPatch.x86 = 186
DefSetCode. CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 1D365
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 46ABD
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = CC60
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.14332.1001]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A8E98
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8F60natch2
LocalOnlyOffset. .x86 = 357E5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 2AE44
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.х86 = 316A9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 1C025
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1 =
SLInitOffset.x86 4755F
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = CAD0
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.14342.1000]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A8E98
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8EF31
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x86 = 1
SingleUserOffset.x86 = 357E5
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1 Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 316A9
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64c2ext SLI =
DefPolicyOffset.x64cefuery.x64 = 1CEFr86_DefPolicyOffset.x64 = 1CEFr05x86 = 4755F
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = CA20
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.14352.1002]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A4478
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8D911 jmpshort для одного пользователя. .x86 = 35465
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.64 = 24474
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1 =
DefPolicyOffset.x86 30099
DefPolicyCode.x86 = CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64 = 1 =
DefPolicyOffset.x64 1AC05
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 44792
SLInitFunc.x86 = New_CSLQuery_Initialize
SLInitHook.x64 = 1
SLInitOffset.x64 = CDB0
SLInitFunc.x64 = New_CSLQuery_Initialize

[10.0.14366.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A9088
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 8FB01
LocalOnlyCode.x64 = jmpshort
. SingleUserPatch = 1 nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 21DE4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = 316E9
DefPolicyCode.x86 = CDefceryPolicy_Offset.x64 = 1A855
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 4793E
SLInitFunc.x86 = New_CSLQuery_Initialc.x86 = New_CSLQuery_Initialize
. SLInitial_Initialize
. SLInitial_CSLQuery_Initialize
.SLInit

[10.0.14367.0]
LocalOnlyPatch.x86 = 1
LocalOnlyOffset.x86 = A9088
LocalOnlyCode.x86 = jmpshort
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64. .x86 = 34F65
SingleUserCode.x86 = nop
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 21DE4
SingleUserCode.x64 = Ноль
DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = DefPolicyPatch.x86 = 1
DefPolicyOffset.x86 = DefPolicyPolicy.x86 =
_Defset.x86 = DefPolicy.x86_86_Defset.x86 1
DefPolicyOffset.x64 = 1A855
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x86 = 1
SLInitOffset.x86 = 4793E
SLInitFunc.x86 = 902CSLitialQuery =
.LitialQuery 1

Как установить службы удаленных рабочих столов (службы терминалов) на сервере 2016/2012.- wintips.org

Эта статья содержит пошаговые инструкции по установке и настройке служб удаленных рабочих столов на Windows Server 2016 или 2012. В Windows Server 2016 и 2012 роль служб терминалов была заменена службой роли узла сеансов удаленного рабочего стола (RDSH). и является частью служб удаленных рабочих столов (RDS). Сервер узла сеанса удаленного рабочего стола (RDSH) предоставляет удаленным пользователям возможность доступа к приложениям на сервере узла RDS и ресурсам компании из любого места с помощью клиента RDP.

В этом руководстве вы узнаете, как установить и настроить Windows Server 2016 или 2012 в качестве сервера узла сеанса удаленного рабочего стола (терминала) для обеспечения сеансов удаленного рабочего стола в зависимости от количества лицензий клиентского доступа к службам удаленных рабочих столов ( RDS CAL), установленный на сервере RDSH.

Как установить и настроить Windows Server 2016/2012 в качестве хост-сервера сеанса удаленного рабочего стола (сервер терминалов).

Примечания:
1. Указанные ниже шаги могут применяться либо на контроллере домена, либо на автономном сервере 2016/2012.
2. Если службы терминалов установлены на сервере, который также будет действовать как контроллер домена, сначала установите службу роли доменной службы Active Directory (AD DS) и повысите уровень сервера до контроллера домена перед установкой сеанса удаленного рабочего стола. Служба роли хоста (RDSH) (служба терминалов).
3. Помните, что приведенная ниже конфигурация обеспечивает доступ к программам RemoteApp или сайту RDWeb, поскольку служба роли посредника подключений к удаленному рабочему столу не будет установлена.

Шаг 1. Установите службы удаленных рабочих столов на сервере 2016/2012.
Шаг 2. Активируйте сервер лицензий удаленного рабочего стола.
Шаг 3. Установите лицензии на сервер лицензий удаленного рабочего стола.
Шаг 4. Настройте роль узла сеанса удаленных рабочих столов для использования локального сервера лицензирования удаленного рабочего стола и установите режим лицензирования удаленного рабочего стола.
Шаг 5. Добавьте клиентов (пользователей) удаленного рабочего стола в группу пользователей удаленного рабочего стола.
Шаг 6. Разрешите вход через службы удаленного рабочего стола.
Шаг 1. Установите службы роли «Лицензирование удаленных рабочих столов» и «Узел сеансов удаленных рабочих столов».

1. Откройте «Диспетчер серверов» и щелкните Добавить роли и компоненты .

2. На первом экране мастера добавления ролей и компонентов оставьте Установка на основе ролей или функций и нажмите Далее.

3. На следующем экране оставьте параметр по умолчанию « Выбрать сервер из пула серверов » и нажмите Далее.

4. Выберите Службы удаленных рабочих столов и щелкните Далее .

5. Оставьте настройки по умолчанию и нажмите Далее на Функции и Экраны служб удаленных рабочих столов .
6. На экране Role Services выберите службу роли Remote Desktop Licensing и затем щелкните Add Features .

7. Затем выберите службу роли Узел сеанса удаленного рабочего стола и снова нажмите «Добавить компоненты».

8. Когда закончите, нажмите Next , чтобы продолжить.

9. Наконец, нажмите «Установить», чтобы установить службы удаленного рабочего стола: лицензирование удаленного рабочего стола и узел сеанса удаленного рабочего стола.

10. После завершения установки закройте «Мастер добавления ролей и компонентов» и перезапустите сервер.

Шаг 2. Активируйте сервер лицензий удаленного рабочего стола.

1. Одновременно нажмите клавиши Windows + R , чтобы открыть окно команд запуска.
2. Введите licmgr.exe и нажмите Введите , чтобы открыть диспетчер лицензирования удаленных рабочих столов *

* Примечание. Вы также можете запустить диспетчер лицензирования удаленных рабочих столов, выбрав Панель управления -> Администрирование -> Службы удаленных рабочих столов -> Диспетчер лицензирования удаленных рабочих столов.

3. На правой панели щелкните правой кнопкой мыши имя сервера и выберите Активировать сервер.

4. Щелкните Next на экране приветствия, а затем снова щелкните Next в разделе Connection method options.

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

6. Когда активация будет завершена, оставьте галочку напротив «Start Install Licenses Wizard» и нажмите Next .

7. Перейти к следующему шагу.

Шаг 3. Установите лицензии на сервер лицензий удаленного рабочего стола.

1. В разделе «Добро пожаловать в мастер установки лицензий» щелкните Далее

2. На странице License Program выберите соответствующую программу, с помощью которой вы приобрели клиентские лицензии RDS, а затем щелкните Next .

3. В соответствии с программой лицензирования , выбранной на предыдущей странице, введите либо код лицензии, либо номер соглашения, предоставленный при покупке клиентских лицензий RDS, а затем щелкните Далее .

4. На странице «Версия продукта и тип лицензии » выберите соответствующую версию продукта, тип лицензии и количество клиентских лицензий RDS в соответствии с вашим соглашением о покупке RDS CAL, а затем щелкните Next .

5. Когда RDS CAL будут установлены на сервере, щелкните Finish . *

СОВЕТ: Если вы не можете активировать сервер RDS автоматически, попробуйте активировать его с помощью веб-браузера или по телефону. Для этого:

а. Щелкните правой кнопкой мыши имя сервера и выберите Properties.
г. Измените способ подключения с на Веб-браузер или на Телефон . Когда закончите, нажмите OK.
г. Наконец, щелкните правой кнопкой мыши имя сервера, выберите Activate Server и следуйте инструкциям на экране, чтобы завершить активацию.

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

1. Откройте редактор групповой политики. Для этого:

1. Одновременно нажмите клавиши Windows + R , чтобы открыть окно команд запуска.
2. Введите gpedit.msc и нажмите . Введите .

2. В редакторе групповой политики перейдите к:

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

3. На правой панели дважды щелкните по Использовать указанные удаленные серверы лицензий .

4. Щелкните Включено , а затем в поле «Сервер лицензий для использования » введите имя сервера лицензий RDS и щелкните OK .

5. Затем откройте Установите режим лицензирования удаленного рабочего стола .

6. Щелкните Включено , затем укажите режим лицензирования (на пользователя или на устройство) для хост-сервера RDS, а затем снова щелкните OK .

7. Закройте редактор групповой политики .
8. Проверьте конфигурацию лицензирования удаленных рабочих столов, перейдя в: Панель управления Windows -> Администрирование -> Службы удаленных рабочих столов -> Диагностика лицензирования удаленных рабочих столов.

Шаг 5. Добавьте клиентов (пользователей) удаленного рабочего стола в группу пользователей удаленного рабочего стола.

1. Откройте Server Manager .
2. В меню Инструменты выберите Пользователи и компьютеры Active Directory . *

* Примечание. Если служба хоста сеансов удаленных рабочих столов не установлена ​​на контроллере домена, используйте оснастку «Локальные пользователи и группы» или вкладку «Удаленный» в «Свойства системы» на хост-сервере RDS, чтобы добавить пользователи удаленного рабочего стола.

3. Дважды щелкните свой домен слева и выберите Builtin.
4.
Откройте Пользователи удаленного рабочего стола на правой панели.

5. На вкладке Элементы щелкните Добавить .

6. Введите имена пользователей, которым вы хотите предоставить удаленный доступ к серверу RDS, и щелкните OK .

7. После выбора пользователей удаленного рабочего стола нажмите OK еще раз, чтобы закрыть окно.

8. Перейдите к шагу 6 ниже.

Шаг 6. Разрешите вход через службы удаленного рабочего стола.

1. Откройте редактор локальной групповой политики. Для этого:

1. Одновременно нажмите клавиши Windows + R , чтобы открыть окно команд запуска.
2. Введите gpedit.msc и нажмите . Введите .

2. В редакторе групповой политики перейдите к: Конфигурация компьютера > Параметры Windows > Параметры безопасности > Локальные политики > Назначение прав пользователя .

3. На правой панели: дважды щелкните Разрешить вход через службы удаленных рабочих столов.

4. Щелкните Добавить пользователя или группу .

5. Щелкните Типы объектов , проверьте все доступные объекты (Пользователи, Группы и участники встроенной безопасности), а затем щелкните OK.

6. Введите пользователи удаленного рабочего стола и затем щелкните OK .

7. Наконец, снова нажмите OK и закройте редактор групповой политики .

8. Теперь вы готовы подключиться к серверу узла сеанса удаленного рабочего стола 2016/2012 с любого клиента удаленного рабочего стола.

Вот и все! Сообщите мне, помогло ли вам это руководство, оставив свой комментарий о своем опыте. Пожалуйста, поставьте лайк и поделитесь этим руководством, чтобы помочь другим.

Если эта статья была для вас полезной, поддержите нас, сделав пожертвование. Даже 1 доллар может иметь огромное значение для нас в наших усилиях продолжать помогать другим, сохраняя при этом этот сайт бесплатным: Если вы хотите, чтобы постоянно защищал от вредоносных угроз, существующих и будущих , мы рекомендуем вам установить Malwarebytes Anti-Malware PRO , нажав ниже (мы действительно зарабатываете комиссию от продаж, произведенных по этой ссылке, но без каких-либо дополнительных затрат для вас. У нас есть опыт работы с этим программным обеспечением, и мы рекомендуем его, потому что оно полезно и полезно):

Полная защита домашнего ПК — Защитите до 3 ПК с помощью НОВОГО ПО Malwarebytes Anti-Malware Premium!

Запуск / остановка / включение / отключение служб терминалов из командной строки

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

 чистый старт TermService 

Если служба уже запущена, вы получите сообщение « Запрошенная служба уже запущена.
Иногда вы можете получить сообщение об ошибке, что служба не может быть запущена.

 C: \> net start termservice
Служба служб терминалов запускается.
Не удалось запустить службу служб терминалов.
Сервис не сообщил об ошибке.
Дополнительную помощь можно получить, набрав NET HELPMSG 3534. 

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

 reg add "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server" / v TSEnabled / t REG_DWORD / d 1 / f 

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

Как остановить службы терминалов?

Службы терминалов

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

 C: \> net stop termservice
Запрошенная пауза или остановка недействительна для этой службы. 

Как перезапустить Терминальные службы?

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

Сначала получите идентификатор процесса службы терминала

 список задач / svc | findstr / C: TermService 

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

В моей системе я получил следующий результат.

 C: \> список задач / svc | findstr / C: TermService
свчост.exe 1708 DcomLaunch, TermService
C: \>
Как видите,  DcomLaunch  и  TermService  используют один и тот же процесс svchost. В этом случае я не могу убить процесс, так как он также останавливает другую службу. (Обратите внимание, что DcomLaunch является важной службой в системе, и ее отключение может даже привести к выключению системы)
В случае, если svchost не используется какой-либо другой службой, вы можете продолжить и убить процесс TermService с помощью следующей команды. 
 taskkill / F / PID process_id 

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

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

 sc config TermService start = disabled 

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

 sc config TermService start = auto 

(или)

 sc config TermService start = require 
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *