Войти

Показать полную графическую версию : [решено] Скрипт для поиска и удаления лишних пробелов


SergKrylo1
19-09-2017, 16:35
Доброго времени суток!
Прошу помощи в написание скрипта на powershell

Цель: в домене есть куча учеток (в одной из OU) с лишним пробелом в "firstname" из-за него не работает определенная синхронизация. Требуется пройтись по OU и найти все эти уз и убрать у них лишний пробел.

Уже долго парюсь с этим, и к решению не пришел, а сроки поджимают.
Буду рад любой помощи!
Заранее спасибо!

Виденье такое было:
1 - выгружаем все УЗ
2 - фильтруем на наличие лишнего проблема
3- заносим отфильтрованные в переменную
4 - Оставляем только информацию в firstname с 0 по n-1 знак
5 - Результат еще в одну переменную
6 - из второй переменной переносим уже в саму необходимую "графу"
7 - profit все гуд.
Может быть в чем-то не прав.

Iska
19-09-2017, 17:17
1 - выгружаем все УЗ »
Не нужно. Либо перебираем по одной, либо зараз фильтруем при запросе.

4 - Оставляем только информацию в firstname с 0 по n-1 знак »
Проверяем, что последним символом в «firstname» является пробел. Если да — то делаем .TrimEnd() (я не думаю, что у Вас должны быть там не лишние пробелы). Обновляем учётную запись. Это если напрямую через ADSI делать. Ну, а если через командлеты вида Get/Set-ADUser, тогда на пару шагов больше будет.

SergKrylo1
19-09-2017, 17:56
Если честно я все равно не понял, как это реализовать

Iska
19-09-2017, 18:22
SergKrylo1, ну, а у меня не на чем пробовать/отлаживать. Так что, могу токмо так. Ждите коллег, обладающими доступом к AD.

register01
21-09-2017, 20:25
Get-ADUser V.Pupkin| % {Set-ItemProperty "AD:\$_" -Name GivenName -Value $_.GivenName.Trim()}

register01
22-09-2017, 13:23
Вот еще решение:
Get-ADUser V.Pupkin | % {Set-ADUser -GivenName ($_.GivenName.Trim()) -Identity $_}




© OSzone.net 2001-2012