Powershell Як перенести в певну OU комп'ютери зі списку

Є список імен комп'ютерів в xls файлі. Потрібно перенести їх в окремий контейнер (OU) домену Active Directory. Як я розумію, найпростіше це зробити за допомогою PowerShell. Знайшов командлет для перенесення об'єктів в AD - Move-ADObject, але як йому згодувати Excel файл - не зрозумію. Як я зрозумів можна якось подати на вхід команди Move-ADObject конвеєр з імен комп'ютерів в csv файлі. Підкажіть будь ласка.

відповідь

Створіть простий текстовий файл зі списком комп'ютерів (в стовпчик), які потрібно перенести (просто скопіюйте стовпець з Excel).

Імпорт модуль PoSh для праці з Active Directory:

Import-Module ActiveDirectory

Отримаємо вміст текстового файлу і дамо його змінної.

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

Задамо цільову OU, в яку потрібно перемістити облікові записи комп'ютерів.

$ TargetOU = "OU = Buhgalteriya, OU = Computers, DC = corp, DC = winitpro, DC = ru"

Потім в циклі для кожного рядка з текстового файлу знайдемо об'єкт комп'ютера в AD за допомогою командлета Get-ADComputer і конвеєром перемістимо його в цільову OU за допомогою командлета Move-ADObject.

foreach ($ PC in $ PCs)
Get-ADComputer -Identity $ PC | Move-ADObject -TargetPath $ TargetOU

Щоб подивитися, що вийде, але не переносити об'єкти в AD, у комадлета Move-ADObject можна додати параметр -WhatIf.