Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо огромное за скрипт. Всё заработало (была ошибка - разобрался - дело было в csv, пропущено поле).

Вопрос теперь вот какой,сработает ли скрипт, если в csv будет 700 пользователей? (на 5-10 пробовал - всё ок, разницы никакой по-идее, но всё же...)
Можно ли сделать, чтобы он, как критерий отбора, выбирал не displayName, а Mail? (т.е. выбирал по полю email и если оно совпадает с полем email в списке - менял всю несоответствующую информацию).
И ещё такой вопрос, если будут пустые поля, будет ли отрабатывать скрипт дальше, или будет останавливаться и дальше юзверя с ошибкой не пойдёт?

так?
читать дальше »

$users = Import-Csv users.csv -Delimiter ";"
$props = $users | Get-Member -MemberType NoteProperty | Select -Expand Name

foreach ($user in $users)
{
$objuser = ([adsisearcher]"(mail=$($user.mail))").FindOne().GetDirectoryEntry()
$props | Foreach {
$prop = $_.ToLower()
if ($user.$prop -ne $objuser.InvokeGet($prop))
{
$objuser.Put("$prop",$user.$prop)
}
}
$objuser.SetInfo()
}

Последний раз редактировалось rox33, 04-07-2012 в 10:40.


Отправлено: 10:23, 04-07-2012 | #3