W tym artykule przyjrzymy się zdolności PowerShell do zarządzania grupami domen Active Directory. Przyjrzymy się, jak utworzyć nową grupę w AD, dodać do niej użytkowników (lub ją usunąć), wymienić użytkowników grupy i kilka innych przydatnych działań z grupami domen, które są niezwykle przydatne w codziennej administracji. Dostępne są następujące podstawowe polecenia cmdlet do zarządzania grupami AD w PowerShell dla Active Directory:
Treść
- Nowa grupa reklam - utwórz nową grupę reklam
- Add-AdGroupMember - dodaj użytkowników do grupy AD
- Remove-ADGroupMember - usuwa użytkowników z grupy
- Get-ADGroup - uzyskaj informacje o grupie AD
- Get-ADGroupMember - wyświetl listę użytkowników grupy AD
Aby użyć tych poleceń cmdlet w sesji PowerShell, należy załadować specjalny moduł interakcji AD - Moduł Active Directory dla Windows PowerShell. Ten moduł został po raz pierwszy wprowadzony w systemie Windows Server 208 R2. W systemie Windows Server 2012 i nowszych moduł ten jest domyślnie włączony. Można go zainstalować i włączyć na komputerach klienckich jako jeden ze składników RSAT. Możesz sprawdzić, czy moduł jest załadowany w następujący sposób:
Get-module -listavailable
Jak widać moduł ActiveDirectory jest załadowany. Jeśli nie, zaimportuj go za pomocą polecenia:
Aktywowany katalog Import-Module
Pełną listę poleceń modułu można uzyskać w następujący sposób:
Get-Command -Moduł ActiveDirectory
Moduł zawiera łącznie 147 cmdletów, z których 11 może współpracować z grupami.
Get-Command -Moduł ActiveDirectory -Nazwa „* Grupa *”
Oto ich lista:
- Dodaj ADGroupMember
- Dodaj ADPrincipalGroupMembership
- Get-ADAccountAuthorizationGroup
- Pobierz grupę reklam
- Get-ADGroupMember
- Get-ADPrincipalGroupMembership
- Nowa grupa reklam
- Usuń ADGroup
- Usuń ADGroupMember
- Usuń ADPrincipalGroupMembership
- Ustaw grupę reklam
Nowa grupa reklam - utwórz nową grupę reklam
Utwórz nową grupę w określonym kontenerze usługi Active Directory (OU) za pomocą polecenia Nowa grupa reklam:
Nowa grupa AD „TestADGroup” -path „OU = Grupy, OU = Moskwa, DC = corp, dc = winitpro, DC = ru” -GroupScope Global -PassThru -Verbose
Za pomocą atrybutu Opis możesz podać opis grupy i za pomocą Nazwa wyświetlana zmień wyświetlaną nazwę.
Parametr Zakres grupowy Możesz określić jeden z następujących typów grup:
- 0 = DomainLocal
- 1 = globalny
- 2 = Uniwersalny
Możesz utworzyć grupę dystrybucyjną w następujący sposób:
Nowa grupa AD „TestADGroup-Distr”-ścieżka „OU = grupy, OU = Moskwa, DC = corp, dc = winitpro, DC = ru” -GroupCategory Dystrybucja -GroupScope Global -PassThru -Verbose
Add-AdGroupMember - dodaj użytkowników do grupy AD
Możesz dodać użytkowników do grupy Active Directory za pomocą polecenia cmdlet Dodaj.-AdGroupMember. Dodaj dwóch użytkowników do nowej grupy:
Add-AdGroupMember -Identity TestADGroup -Members użytkownik1, użytkownik2
Jeśli lista użytkowników, których chcesz dodać do grupy, jest dość duża, możesz zapisać listę kont w pliku CSV, a następnie zaimportować ten plik i dodać każdego użytkownika do grupy.
Format pliku CSV jest następujący (lista użytkowników po jednym w wierszu, nazwa kolumny - użytkownicy)
Import-CSV. \ Users.csv - Użytkownicy nagłówka | ForEach-Object Add-AdGroupMember -Identity 'TestADGroup' -members $ _. Użytkownicy
Aby uzyskać wszystkich członków jednej grupy (grupy A) i dodać ich do innej grupy (grupy B), użyj tego polecenia:
Get-ADGroupMember „Grupa A” | Get-ADUser | ForEach-Object Add-ADGroupMember -Identity „Group-B” -Members $ _
Jeśli chcesz skopiować członków wszystkich grup zagnieżdżonych (rekurencyjnie) do nowej grupy, musisz użyć następującego polecenia:
Get-ADGroupMember -Identity „GroupA” -Recursive | Get-ADUser | ForEach-Object Add-ADGroupMember -Identity „GroupB” -Members $ _
Remove-ADGroupMember - usuwa użytkowników z grupy
Aby usunąć użytkowników z grupy AD, musisz użyć polecenia Remove-ADGroupMember. Usuwamy dwóch użytkowników z grupy:
Remove-ADGroupMember -Identity TestADGroup -Members użytkownik1, użytkownik2
Potwierdź usunięcie użytkowników z grupy:
Jeśli chcesz usunąć z grupy użytkowników listę z pliku CSV, użyj tego polecenia:
Import-CSV. \ Users.csv - Użytkownicy nagłówka | ForEach-Object Remove-ADGroupMember -Identity 'TestADGroup' -members $ _. Użytkownicy
Get-ADGroup - uzyskaj informacje o grupie AD
Polecenie cmdlet pomoże ci uzyskać informacje o grupie. Pobierz grupę reklam:
Get-ADGroup „TestADGroup”
To polecenie wyświetla informacje o podstawowych atrybutach grupy (DN, typ grupy, nazwa, SID). Aby wyświetlić wartość wszystkich atrybutów grupy domen AD, uruchom następujące polecenie:
Get-ADGroup „TestADGroup” -properties *
Jak widać, teraz atrybuty takie jak czas tworzenia grupy i modyfikacji, opis itp..
Za pomocą polecenia cmdlet Get-ADGroup możesz znaleźć wszystkie interesujące Cię grupy według określonego szablonu. Na przykład musisz znaleźć wszystkie grupy AD, których nazwa zawiera frazę administratorzy :
Get-ADGroup -LDAPFilter „(name = * admins *)” | Tabela formatów
Get-ADGroupMember - wyświetl listę użytkowników grupy AD
Wyświetl listę użytkowników grupy:
Get-ADGroupMember „TestADGroup”
Aby pozostawić tylko nazwy użytkowników w wynikach, wykonaj:
Get-ADGroupMember „TestADGroup” | nazwa ft
Jeśli w tej grupie znajdują się inne grupy domen, aby wyświetlić pełną listę członków, w tym wszystkie grupy zagnieżdżone, użyj parametru Rekurencyjne.
Get-ADGroupMember „server-admins” -recursive | nazwa ft
Aby przesłać listę kont należących do określonej grupy do pliku CSV (do dalszego użytku w programie Excel), uruchom następujące polecenie:
Get-ADGroupMember „server-admins” -recursive | ft samaccountname | Plik wyjściowy c: \ ps \ admins.csv
Aby dodać dane konta użytkownika w AD do pliku tekstowego, użyj polecenia cmdlet Get-ADUser. Na przykład oprócz konta musisz wyświetlić pozycję i numer telefonu użytkownika grupy:
Get-ADGroupMember -Identity 'server-admins' -recursive | foreach Get-ADUser $ _ -properties tytuł, OfficePhone | Select-Object title, OfficePhone
Możesz obliczyć liczbę użytkowników w grupie takiej jak ta:
(Get-ADGroupMember -Identity „administratorzy domeny”)
Okazało się, że w grupie „administratorzy domeny” mamy 7 kont administratora.
Aby znaleźć listę pustych grup w określonej jednostce organizacyjnej, użyj tego polecenia:
Get-ADGroup -Filter * -Properties Members -searchbase „OU = Moskwa, DC = corp, dc = winitpro, DC = en” | gdzie -nie $ _. członkowie | wybierz Nazwa