Войти

Показать полную графическую версию : [решено] Изменение имени пользователей в AD


ratibor79
21-11-2012, 12:03
Здравствуйте,

Прошу помощи в решении следующей задачи:
Имеется домен на основе Windows Server 2008 R2. Имеется куча объектов Active Directory типа User и Contact
Форма именования этих объектов - Имя Фамилия
Требуется осуществить переименование атрибутов "Name" и "displayName" для объектов типа User и Contact, расположенных в конкретном Подразделении (OU) - в формате Фамилия Имя

Как это можно безболезненно осуществить при помощи PowerShell?

Kazun
21-11-2012, 12:39
$ou = "OU=Users,DC=Contoso,DC=Com"
Get-ADObject -LDAPFilter "objectcategory=person" -SearchBase $ou | Foreach {
$user = $_
try {
$NewName = "{1} {0}" -f $user.Name.split(" ")
Rename-ADObject -Identity $user -NewName $NewName -PassThru | Set-ADUser -DisplayName $NewName
}
catch {
Write-Host -Fore Yellow Аттрибут Name $user.name не соответствует шаблону
}
}

ratibor79
21-11-2012, 19:28
Kazun Большое человеческое тебе спасибо! :yahoo: )

ratibor79
16-02-2013, 09:02
К сожалению вынужден вновь открыть тему.

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

Возвращает ошибку
Аттрибут Name <имя пользователя> не соответствует шаблону

Что не так с атрибутом Name? Куда копать?
Руками переименовывать (менять расположение Фамилия - Имя) ой как не хочется!
Прошу помощи!!!

Iska
16-02-2013, 09:14
ratibor79, основным условием является сообщение достаточных сведений для воспроизведения ошибки. У Вас их крайне мало. Где именно, на какой строке кода Вы получаете ошибку? Какое именно:
<имя пользователя> »
использовалось в момент возникновения ошибки?

ratibor79
16-02-2013, 09:53
Iska, прошу прощения, я не совсем правильно выразился. Речь не идёт об ошибки при выполнении скрипта. Сам скрипт возвращает информацию - вот эту "Write-Host -Fore Yellow Аттрибут Name $user.name не соответствует шаблону".

И естественно изменение порядка Имя - Фамилия не происходит.
Куда копать? Что с атрибутом Name? Почему он не соответствует шаблону?

Конкретно скрипт выдаёт, к примеру
Аттрибут Name Vasya Pupkin не соответствует шаблону

Iska
16-02-2013, 10:01
Речь не идёт об ошибки при выполнении скрипта. Сам скрипт возвращает информацию - вот эту "Write-Host -Fore Yellow Аттрибут Name $user.name не соответствует шаблону". »
Это-то понятно.
к примеру »
А если не «к примеру», а то, что реально?

ratibor79
16-02-2013, 10:26
А если не «к примеру», а то, что реально? »

Аттрибут Name Morea Sandrine не соответствует шаблону
Аттрибут Name Gur Yanki не соответствует шаблону
Аттрибут Name Abilpanova Madina не соответствует шаблону
и так далее "по списку" из контейнера (OU)

Ах, да! и ещё если это имеет значение
Учётные записи типа User и Contact создавались путём Импорта из CSV в Exchange Management Shell при помощи командлета New-Mailbox

Kazun
16-02-2013, 12:27
Вывод переменной $error приведите

ratibor79
16-02-2013, 16:46
Iska, Kazun СПАСИБО! Вопрос снят.

Не могу объяснить в чем дело. В общем запустил скрипт на сервере с Exchangе, скрипт прекрасно отработал. Единственно заменил командлет Set-ADUser на Set-ADObject, для того чтобы скрипт отработал не только на объектах типа User, но и на и на объектах типа Contact

ещё раз спасибо!




© OSzone.net 2001-2012