Имена пользователей Active Directory: почему каноническое имя меняется? Могу ли я сделать что-то, чтобы сделать их униформы?

10

Я - самоучка-администратор рабочей сети Active Directory, используемой для входа в Windows на ~ 30 ПК. Я унаследовал систему от кого-то другого, у кого также не было никакого прямого обучения Microsoft, и в результате я нахожусь в неведении относительно пары вещей.

В самой сети есть один компьютер под управлением Windows Server 2008 R2, выполняющий роль контроллера домена, DNS, общих файловых ресурсов и т. Д. Логины работают нормально, но я искал список пользователей, отключая старые учетные записи, и заметил кое-что, чего я не совсем понимаю. ,

Вот несколько примеров учетных записей пользователей:

  1. Имя для входа: Джон
    Имя: Джон
    Фамилия: Смит
    Отображаемое имя: Джон Смит
    Каноническое имя объекта: domain.com/Users/john

  2. Имя для входа: bob
    Имя: Bob
    Фамилия: French
    Отображаемое имя: Bob French
    Каноническое имя объекта: domain.com/Users/Bob French

Текущий контроллер домена был заменен на другой, который использовался для запуска Windows Server 2003. Первый образец учетной записи был создан, когда для блока Server 2003 установлен DC, а второй - для более новой версии Server 2008 R2. Почему каноническое имя отличается и имеет ли это какое-то значение?

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

Могу ли я сделать что-то, чтобы сделать их одинаковыми, не ломая рабочие счета?

evilspoons
источник
Вы действительно храните пользователей в domain.com/UsersOU? Или это просто пример?
Матиас Р. Йессен
Да, все они находятся в domain.com/Users/ вместе с несколькими группами безопасности. Это плохая практика? Должен ли я переместить их? Могу ли я переместить их, не разрушая все?
злые ложки
2
Если у вас нет внешних приложений, использующих простые привязки для аутентификации, да - вы можете безопасно перемещать их - и вам следует. Это дает намного лучший контроль над устройством групповой политики, чтобы отделить их от известных групп безопасности. Я обновлю ответ, чтобы покрыть это также
Mathias R. Jessen
2
Это зависит от того, сколько объектов в вашей AD и как вы хотите их организовать; как правило, лучше размещать их в подразделениях, чтобы лучше организовывать их и применять к ним объекты групповой политики, и рекомендуется оставлять контейнеры по умолчанию (например, «Пользователи» в одиночку).
Massimo

Ответы:

8

Active Directory на самом деле не заботится о том, как RDN объекта учетной записи пользователя (последняя часть канонического имени) относится к другим свойствам, таким как отображаемое имя или имя входа в систему - до тех пор, пока значение каждого отдельного атрибута не нарушает определение схемы.

Поведение формы «Новый пользователь» в Active Directory - пользователи и компьютеры (а также ряд других диалогов) значительно изменилось между Windows Server 2003 и Windows Server 2008 R2 - и, вероятно, поэтому они не согласованы

Вы можете использовать PowerShell для перемещения несистемных учетных записей, а затем просматривать пользователей и переименовывать их в любое отображаемое имя:

# Create new OU named RegularUsers
New-ADOrganizationalUnit -Name RegularUsers -Path "dc=domain,dc=com"

# Retrieve all users that are not critical system objects
$users = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter {-not(isCriticalSystemObject -like '*')}

# Go through each and move to the new OU
foreach($user in $users){
    Move-ADObject $user -TargetPath "OU=RegularUsers,DC=domain,DC=com"
}

# Retrieve all users in the new OU
$movedUsers = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter '*'

foreach($user in $movedUsers){
    # Test if Display Name and object Name is the same, if not - rename
    if($user.DisplayName -ne $user.Name)
    { 
        Rename-ADObject $user -NewName "$($user.DisplayName)" 
    }
}

На первом этапе вы также можете просто выделить все учетные записи пользователей в ADUC и перетащить их в другое место.

Матиас Р. Ессен
источник
2

CN / DN объекта не так уж важен, так как он используется только внутри AD и в запросах LDAP; конечные пользователи (и администраторы) очень редко видят это. На самом деле он изменяется сам по себе, когда вы перемещаете объекты, поскольку включает полный путь LDAP объекта.

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

Чтобы изменить его, вы можете использовать консоль ADUC или команду PowerShell Rename-ADObject .

Massimo
источник
2
Я бы сказал, что CN / DN важен для интеграции с приложениями. Интеграция с AD обычно не обнаруживается там, где обычно находится LDAP. Приятно, чтобы ваш CN / DN следовал стандарту. Это выглядит красивее тоже :) Отличная информация о том, как на самом деле изменить его, хотя.
Стив Батлер
1

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

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

DKNUCKLES
источник
Если функциональный уровень домена и леса находится на Server 2008 R2, может ли старый сервер Server 2003 выступать в качестве вторичного контроллера домена или нам нужно обновить операционную систему этого компьютера?
злые ложки
2
Невозможно повысить функциональный уровень домена / леса до версии X, если только все DC в домене / лесу не имеют хотя бы эту версию ОС.
Массимо
@evilspoons да, вы можете, но, как говорит Массимо, для этого потребуется уровень домена 2003 года.
Стив Батлер
4
@SteveButler Поскольку DFL / FFL 2008R2 не может быть возвращен дальше уровня 2008 года, «да», безусловно, не является ответом здесь
Матиас Р. Джессен
Хорошо, так что я могу перестроить домен на уровне 2003 года (не произойдет) или обновить ящик 2003 года до 2008 R2 (также, вероятно, этого не произойдет, мой босс скорее потратит деньги на новую машину, чем будет играть с Старый). Тем не менее, я сделаю все возможное, чтобы наши резервные копии были хорошими, на случай, если что-то умирает ...
evilspoons