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

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

SergKrylo1 19-09-2017 16:35 2765584

Скрипт для поиска и удаления лишних пробелов
 
Доброго времени суток!
Прошу помощи в написание скрипта на powershell

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

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

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

Iska 19-09-2017 17:17 2765591

Цитата:

Цитата SergKrylo1
1 - выгружаем все УЗ »

Не нужно. Либо перебираем по одной, либо зараз фильтруем при запросе.

Цитата:

Цитата SergKrylo1
4 - Оставляем только информацию в firstname с 0 по n-1 знак »

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

SergKrylo1 19-09-2017 17:56 2765594

Если честно я все равно не понял, как это реализовать

Iska 19-09-2017 18:22 2765601

SergKrylo1, ну, а у меня не на чем пробовать/отлаживать. Так что, могу токмо так. Ждите коллег, обладающими доступом к AD.

register01 21-09-2017 20:25 2766022

Get-ADUser V.Pupkin| % {Set-ItemProperty "AD:\$_" -Name GivenName -Value $_.GivenName.Trim()}

register01 22-09-2017 13:23 2766148

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


Время: 06:16.

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