Рейтинг:1

Программно предоставить пользователю возможность входа в систему с помощью удаленного рабочего стола

флаг pl

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

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

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

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

joeqwerty avatar
флаг cv
Для входа через RDP требуются права пользователя И разрешения. См. связанную статью о том, как предоставить разрешения с помощью WMI... НО... не проще ли программно добавить пользователей в группу пользователей удаленного рабочего стола? - https://docs.microsoft.com/en-us/troubleshoot/windows-server/remote/add-user-services-rdp-permissions#:~:text=Open%20Terminal%20Services%20Configuration.%20требуется %20пользователей%20и%20групп.
Ritmo2k avatar
флаг pl
На этих хостах нет ни графического интерфейса, ни класса wmi, я полагаю, что документ ссылается на терминальные службы Windows (многопользовательский режим), а не на удаленный рабочий стол.
joeqwerty avatar
флаг cv
Службы терминалов и службы удаленных рабочих столов — это одно и то же. Microsoft переименовала службы терминалов в службы удаленных рабочих столов. Я хочу сказать, что одного назначения прав пользователя недостаточно. Пользователи также должны иметь соответствующие разрешения. Добавление пользователей в локальную группу пользователей удаленного рабочего стола выполняет обе задачи.
Ritmo2k avatar
флаг pl
Я смог добавить учетную запись (и права пользователя) и войти в систему. Однако я согласен, и вы правы, что использование группы значительно упрощает правильную настройку, и я обновил подход к использованию этого средства. Я открыл случай поддержки только для академического аспекта знания.
Рейтинг:0
флаг cn

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

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

Большой! Однако, как вы видели, пользователи по-прежнему получают сообщение об ошибке, если они не являются пользователями удаленного рабочего стола. Это тоже задокументировано:

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

Ну, это потому, что есть (как минимум) два слоя:

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

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

Вы можете увидеть Дескриптор безопасности службы удаленных рабочих столов в Win32_TSPermissionsSetting класс WMI (StringSecurityDescriptor для RDP-TCP). Например, вы можете передать StringSecurityDescriptor командлету Powershell. ConvertFrom-SddlString чтобы увидеть его содержимое в более красивом формате:

$sddl = Get-WmiObject -class win32_tspermissionssetting -Namespace root\cimv2\terminalservices | где {$_.TerminalName -eq "RDP-Tcp"} |выбрать StringSecurityDescriptor

ConvertFrom-SddlString -Sddl $sddl.StringSecurityDescriptor | выберите -ExpandProperty DiscretionaryAcl

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

[...]
Пользователи удаленного рабочего стола: AccessAllowed
[...]

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

Вы можете вручную добавить пользователей или группы в дескриптор безопасности служб удаленных рабочих столов с помощью Добавить аккаунт метод: SDDL будет изменен, и вы увидите в нем свою учетную запись/группу. Если вы предоставили Серемотеинтерактивлогонрайт привилегия, то вы сможете войти в систему (если, конечно, другие ограничения не действуют на этом компьютере или пользователе).

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

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

И вот что нам сообщают журналы аудита безопасности в данном случае (если вы проводите аудит):

Идентификатор события 4625 не удалось войти в систему RDP

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

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

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

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