Добър ден.
Започнах да се движат на потребителите към съответната ОУ. След 15-ия потребителя да разбере, че процесът ще се забави за дълго време, а дори и разсейва от други "неотложни въпроси» 🙂. Реших да се автоматизира със скрипт. Реших да напиша сценарий за PowerShell'e. Той разполага с всички необходими komandletty да работи с АД обекти. Опитът с komandlettami имал, например, тук и тук.
Базови данни бяха предоставени като файл на Excel, където имаше за осигуряване на персонал, любезно предоставени от отдел персонал. С помощта на Excel филтри, изберете служители дивизия. Този списък се копира върху отделен лист. Резултатът е колона от имена. Колона нарича екранно.
След това, този лист се е запазила, като същевременно се поддържа "тип файл" изберете "Unicode Text (* .txt)»
Когато се опитате да импортирате файла, открих, че българските символи са внесени от файл във формата на въпросителен знак. Да, и в конзолата на руската клавиатура оформление за въвеждане на знаци въпроси. Решението на този проблем е бил намерен в Интернет. Необходимо е да се промени кода оформлението на конзолата команда CHCP на 1251 и промените шрифта на Светъл Console.
След тези стъпки, през цялото чудесно тя работи.
Така готов файл със списък на имената на желаната мерна единица се поставя в папката Scripts на диск C: \. Име usermove.txt
Така че по-долу, прилагани към самия скрипт:
# Connect Powershell модул за работа с AD
Внос-Модул ActiveDirectory -ErrorAction SilentlyContinue
# Промяна на страницата код, за да се промени достатъчно 1 пъти
CHCP 1251
# OU Къде мигрират потребители
$ TargetOU = «ОУ = Podrazdelenie_1, ОУ = Departament_1, ОУ = CompanyName_Users, DC = офис, DC = местно»
Местоположение #OU вземе потребители
$ SourceOU = »OU = CompanyName_Users, DC = офис, DC = местно»
# Присвояване на името на файла път до точните потребители
$ Impfile = «C: \ Scripts \ usermove.txt»
# Създаване на потребителите масив $ и се зарежда с потребители
$ Потребители = Внос-CSV $ impFile
# Старт на цикъла и обработва всеки ред от масива.
foreach ($ в потребителския $)
# Присвоява на променливата стойност $ dplname низ от колона на масива $ потребители DISPLAYNAME
$ Dplname = $ user.displayname
# В масив $ usermove на буксуване атрибути на потребителя, чието име дисплей (име на атрибут) сега е в променливата $ dplname.
# Търси се провежда в ОУ, съдържащ име, изброени в променливата $ sourceOU. Дълбочина на търсенето (избираем параметър -SearchScope OneLevel), само текущия ОУ, всички по-ниско ниво ОУ не видите.
$ Usermove = оформление aduser -f -SearchBase $ sourceOU -SearchScope OneLevel
# Е отпечатан за да се провери на променливите
пиша-домакин «Потребителят $ dplname»
отписване домакин
пиша-домакин «Прехвърлянето на $ usermove.distinguishedname»
отписване домакин
# Прехвърляне на употреба до желаната OU
Преместване ADObject -Identity $ usermove.distinguishedname -TargetPath $ targetOU
>
# Аз извод на екрана, за да се провери кои роуминг на потребителите.
$ targetOU
Това е всичко. Плановете на запълване на потребителя атрибути, като например:
Свързани статии