Zarządzaj grupami AD za pomocą PowerShell

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