Показать полную графическую версию : [решено] Изменение имени пользователей в AD
ratibor79
21-11-2012, 12:03
Здравствуйте,
Прошу помощи в решении следующей задачи:
Имеется домен на основе Windows Server 2008 R2. Имеется куча объектов Active Directory типа User и Contact
Форма именования этих объектов - Имя Фамилия
Требуется осуществить переименование атрибутов "Name" и "displayName" для объектов типа User и Contact, расположенных в конкретном Подразделении (OU) - в формате Фамилия Имя
Как это можно безболезненно осуществить при помощи PowerShell?
$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? Куда копать?
Руками переименовывать (менять расположение Фамилия - Имя) ой как не хочется!
Прошу помощи!!!
ratibor79, основным условием является сообщение достаточных сведений для воспроизведения ошибки. У Вас их крайне мало. Где именно, на какой строке кода Вы получаете ошибку? Какое именно:
<имя пользователя> »
использовалось в момент возникновения ошибки?
ratibor79
16-02-2013, 09:53
Iska, прошу прощения, я не совсем правильно выразился. Речь не идёт об ошибки при выполнении скрипта. Сам скрипт возвращает информацию - вот эту "Write-Host -Fore Yellow Аттрибут Name $user.name не соответствует шаблону".
И естественно изменение порядка Имя - Фамилия не происходит.
Куда копать? Что с атрибутом Name? Почему он не соответствует шаблону?
Конкретно скрипт выдаёт, к примеру
Аттрибут Name Vasya Pupkin не соответствует шаблону
Речь не идёт об ошибки при выполнении скрипта. Сам скрипт возвращает информацию - вот эту "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
Вывод переменной $error приведите
ratibor79
16-02-2013, 16:46
Iska, Kazun СПАСИБО! Вопрос снят.
Не могу объяснить в чем дело. В общем запустил скрипт на сервере с Exchangе, скрипт прекрасно отработал. Единственно заменил командлет Set-ADUser на Set-ADObject, для того чтобы скрипт отработал не только на объектах типа User, но и на и на объектах типа Contact
ещё раз спасибо!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.