Ostatnio dostałem zadanie – przekopiować przynależności do grup z jednego użytkownika w Active Directory na innego. O ile dla jednego usera należącego do dwóch-trzech grup nie ma problemu, to jednak przy większej ilości użytkowników (i/lub grup) wyklikanie tego może trwać wieki. Z pomocą przyszedł Powershell 🙂
Kopiowanie przynależności do grup innemu użytkownikowi – Powershell
Pomógł mi poniższy skrypt:
$srcUsr = Read-Host "Konto źródłowe" $dstUsr = Read-Host "Konto docelowe" foreach ($group in (Get-ADUser -Identity $srcUsr -Properties MemberOf).MemberOf) { Add-ADGroupMember -Identity $group -Members $dstUsr; }
Wadą może być konieczność ręcznego wprowadzania konta źródłowego i docelowego, jednak zmiana tego, aby np. pobierał wartości z przygotowanego pliku csv nie jest trudna. Nie robiłem tego, aby na bieżąco sprawdzać poprawność działania skryptu. Kolejną „wadą” jest także wyświetlany błąd, jeżeli użytkownik docelowy już należy do danej grupy. Nie wpływa to jednak na działanie skryptu, reszta grup skopiuje się bezproblemowo. Celowo nie zrobiłem kontroli, czy dany użytkownik już jest w danej grupie, aby usunąć ten komunikat, ponieważ była to dla mnie dodatkowa kontrola poprawności działania skryptu (wiedziałem ile dla konkretnego usera błędów powinno się wyświetlić).
Kopiowanie przynależności do grup innemu użytkownikowi - Powershell,