У меня есть сервер (Windows Server 2012), на котором установлена Windows AD (Active Directory), который используется как часть поддерживаемого мной приложения. В большинстве случаев мое приложение программно управляет этим сервером, добавляя, редактируя и удаляя пользователей по своему усмотрению. Однако иногда я хочу внести изменения вручную, например, я хочу добавить пользователя.
Обычно я использую оснастку «Пользователи и компьютеры Active Directory» через MMC. Однако, когда я пытаюсь создать пользователя через это приложение, я сталкиваюсь с интересной проблемой:
Windows заставляет меня добавлять суффикс, соответствующий имени моего экземпляра AD.
Если я попробую то же самое через «Центр администрирования Active Directory», у меня возникнет аналогичная проблема:
По какой-то причине Windows не позволяет мне создавать пользователей без этого обязательного суффикса. Однако у меня, похоже, нет этой проблемы, когда я создаю пользователей программно. Приложение, с которым я работаю, зависит от пользователей, не имеющих суффикса.
Как обойти требования AD в пользовательском интерфейсе (добавить пользователя с пустым суффиксом)?
Почему AD даже имеет это требование во внешнем интерфейсе, но не при программном добавлении пользователей?
У всех пользователей в AD есть суффикс UPN независимо от того, добавляете вы его явно или нет. Когда вы создаете пользователей с помощью кода, атрибут userPrincipalName может создаваться автоматически на основе FQDN домена. Но, согласно приведенному ниже комментарию jscott, на самом деле это не требуется.
Однако приложение, с которым вы работаете, скорее всего, не требует от пользователей не иметь суффикс. Скорее всего, это просто запрос атрибута, в котором нет суффикса (например, sAMAccountName).