Powershell Jak przenosić komputery z listy do określonej jednostki organizacyjnej

W pliku xls znajduje się lista nazw komputerów. Musisz przenieść je do osobnego kontenera (OU) w domenie Active Directory. Jak rozumiem, najłatwiej to zrobić za pomocą PowerShell. Znaleziono polecenie cmdlet do przesyłania obiektów do AD - Move-ADObject, ale nie rozumiem, jak nakarmić go plikiem Excela. Jak rozumiem, możesz w jakiś sposób przesłać przenośnik z nazw komputerów w pliku csv na dane wejściowe polecenia Move-ADObject. Powiedz mi proszę.

Odpowiedź

Utwórz prosty plik tekstowy z listą komputerów (w kolumnie), które chcesz przenieść (po prostu skopiuj kolumnę z Excela).

Zaimportuj moduł PoSh do pracy z Active Directory:

Moduł importu ActiveDirectory

Pobierz zawartość pliku tekstowego i przypisz go do zmiennej.

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

Ustaw docelową jednostkę organizacyjną, do której chcesz przenieść konta komputerów.

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

Następnie w pętli dla każdej linii z pliku tekstowego znajdujemy obiekt komputerowy w AD za pomocą polecenia cmdlet Get-ADComputer i przenosimy go do docelowej jednostki organizacyjnej za pomocą polecenia cmdlet Move-ADObject za pomocą potoku.

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

Aby zobaczyć, co się stanie, ale nie przenieść obiektów do AD, możesz dodać parametr do polecenia cmdlet Move-ADObject -Whatif.