Powershell Как да прехвърляме компютрите от списък в конкретен OU

Във файла xls има списък с имена на компютри. Трябва да ги прехвърлите в отделен контейнер (OU) в домейна на Active Directory. Както разбирам, най-лесният начин да направите това е с PowerShell. Намерен командлет за прехвърляне на обекти в AD - Move-ADObject, но не разбирам как да го храня в Excel файл. Както го разбирам, можете по някакъв начин да изпратите конвейер от имената на компютрите в csv файла до входа на командата Move-ADObject. Кажи ми, моля.

Отговорът

Създайте прост текстов файл със списък на компютрите (в колона), които искате да прехвърлите (просто копирайте колоната от Excel).

Импортирайте модула PoSh за работа с Active Directory:

Импорт-модул ActiveDirectory

Вземете съдържанието на текстовия файл и го присвойте на променлива.

$ PCs = gc "C: \ ps \ buh-pc.txt"

Задайте целевия OU, към който искате да преместите компютърните акаунти.

$ TargetOU = "OU = Buhgalteriya, OU = Компютри, DC = corp, DC = winitpro, DC = ru"

След това в цикъла за всеки ред от текстовия файл намираме компютърния обект в AD с помощта на командлета Get-ADComputer и го преместваме в целевия OU с помощта на командлета Move-ADObject с помощта на тръбопровода.

foreach ($ PC в $ PC)
Get-ADComputer -Identity $ PC | Преместване-ADObject -TargetPath $ TargetOU

Можете да добавите параметър към командлета Move-ADObject, за да видите какво се случва, но не и да прехвърляте обекти в AD -WhatIf.