Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Изменение имени пользователей в AD (http://forum.oszone.net/showthread.php?t=247368)

ratibor79 21-11-2012 12:03 2029529

Изменение имени пользователей в AD
 
Здравствуйте,

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

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

Kazun 21-11-2012 12:39 2029552

Код:

$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 2029841

Kazun Большое человеческое тебе спасибо! :yahoo: )

ratibor79 16-02-2013 09:02 2091730

К сожалению вынужден вновь открыть тему.

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

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

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

Iska 16-02-2013 09:14 2091734

ratibor79, основным условием является сообщение достаточных сведений для воспроизведения ошибки. У Вас их крайне мало. Где именно, на какой строке кода Вы получаете ошибку? Какое именно:
Цитата:

Цитата ratibor79
<имя пользователя> »

использовалось в момент возникновения ошибки?

ratibor79 16-02-2013 09:53 2091748

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

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

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

Iska 16-02-2013 10:01 2091754

Цитата:

Цитата ratibor79
Речь не идёт об ошибки при выполнении скрипта. Сам скрипт возвращает информацию - вот эту "Write-Host -Fore Yellow Аттрибут Name $user.name не соответствует шаблону". »

Это-то понятно.
Цитата:

Цитата ratibor79
к примеру »

А если не «к примеру», а то, что реально?

ratibor79 16-02-2013 10:26 2091763

Цитата:

Цитата Iska
А если не «к примеру», а то, что реально? »

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

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

Kazun 16-02-2013 12:27 2091822

Вывод переменной $error приведите

ratibor79 16-02-2013 16:46 2091996

Iska, Kazun СПАСИБО! Вопрос снят.

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

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


Время: 17:17.

Время: 17:17.
© OSzone.net 2001-