Se deplasează utilizatorii din listă la adresa dorită

Tot timpul zilei.

A început să trimită utilizatorii la OU adecvat. După ce al 15-lea utilizator a dat seama că procesul se va trage mult timp și chiar va distrage alte "probleme urgente" 🙂. Am decis să automatizez munca cu scenariul. Scenariul a decis să scrie pe PowerShell. Are toate cmdlet-urile necesare pentru a lucra cu obiecte AD. Experiența cu cromele a fost disponibilă, de exemplu aici și aici.







Datele originale au fost sub forma unui fișier Excel, unde a fost furnizată lista de personal a companiei, prin amabilitatea departamentului de personal. Folosind filtrele Excel, am selectat angajații unității. Această listă a fost copiată într-o foaie separată. A fost obținută o coloană cu nume. Coloana a fost numită nume de afișare.

Se deplasează utilizatorii din listă la adresa dorită

După aceea, această listă a fost salvată, în timp ce a fost salvat "Tipul fișierului" a fost selectat "Unicode Text (* .txt)"

Când am încercat să import acest fișier, am descoperit că caracterele rusești sunt importate din fișier ca semne de întrebare. Da, și în consolă cu structura rusă pune semne de întrebări. Soluția la această problemă a fost găsită pe Internet. Trebuie să modificați aspectul codului consolei cu chcp 1251 și să schimbați fontul în Lucida Console.

Se deplasează utilizatorii din listă la adresa dorită






După aceste acțiuni, totul a funcționat în mod miraculos.

Deci, fișierul finit cu lista de nume a subdiviziunii dorite a fost plasat în directorul Scripts de pe unitatea C: \. Numele fișierului usermove.txt

Deci, mai jos este scriptul în sine:


# Conectați modulul Powershell pentru a lucra cu AD
Modul de import ActiveDirectory -ErrorAction SilentlyContinue

# Modificați pagina de cod, schimbați o dată
chcp 1251

# OU Unde să transferați utilizatorii
$ targetOU = "OU = Subdiviziunea 1, OU = Departamentul_1, OU = CompaniaNumeleUtilizatoare, DC = birou, DC = local"

#OU De unde primim utilizatorii?
$ sourceOU = »OU = CompanyName_Users, DC = birou, DC = local»

# Atribuiți calea fișierului cu numele complet al utilizatorilor potriviți
$ impfile = "C: \ Scripts \ usermove.txt"

# Creați $ matricea utilizatorilor și încărcați utilizatorii în el
$ users = import-CSV $ impFile

# Rulați bucla și procesați fiecare linie a matricei.
foreach ($ user in $ users)
# Atribuiți $ dplname la valoarea șirului din coloana de afișare a utilizatorilor $
$ dplname = $ user.displayname

# În array $ usermove, introducem atributele utilizatorului cu care numele afișat (atributul name) este acum în variabila $ dplname.
# Căutarea are loc în OU, conținând numele introdus în variabila $ sourceOU. Adâncimea căutării (specificată de parametrul -SearchScope OneLevel) este numai OU curent, toate UU din aval nu sunt vizualizate.

$ usermove = obține-aduser -f -SearchBase $ sourceOU -SearchScope OneLevel

# Imprimați variabilele pentru verificare
write-host "User $ dplname"
scrie-gazdă
write-host "Transfer $ usermove.distinguishedname"
scrie-gazdă

# Transferarea utilizatorului la OU dorit
Mutați-ADObject -Identity $ usermove.distinguishedname -TargetPath $ targetOU
>

# Am afișat ecranul pentru a verifica unde mut utilizatorii.
$ targetOU

Asta e tot. Există planuri de completare a atributelor utilizatorilor, cum ar fi:







Articole similare

Trimiteți-le prietenilor: