A Microsoft Active Directory az adminisztráció, az engedélyezés és a hitelesítés központi pontjaként szolgál. Az AD-ben a hálózati erőforrásokhoz való hozzáférést a biztonsági megbízók, például felhasználói fiókok és számítógépfiókok kapják, és ezek a jogosultságok idővel változhatnak. A hozzáférés kezelésének egyszerűsítése és a biztonság javítása érdekében a közepes és nagyvállalatok gyakran használnak Active Directory biztonsági csoportokat, amelyek felhasználói fiókokat, számítógépfiókokat és egyéb csoportokat tartalmazhatnak. Gyakran használnak terjesztési csoportokat is az e-mail terjesztési listák kezelésére. Mind a biztonsági, mind a terjesztési csoportok egyedi biztonsági azonosítókkal (SID) és globálisan egyedi azonosítókkal (GUID) rendelkeznek.

Az ADUC MMC beépülő modul mindkét csoporttípus kezelésére kiválóan alkalmas, de a PowerShell sokkal hatékonyabb módja a csoportok tömeges kezelésének.

Ha még nem ismeri az AD-csoportokat és a csoportkezelést, kérjük, olvassa el az Active Directory csoportkezelés legjobb gyakorlata című útmutatót, mielőtt továbblépne.

Még ne feledje, hogy a PowerShell szkriptek használatához importálnia kell az AD-vel való interakcióhoz szükséges modult – az Active Directory Module for Microsoft Windows PowerShell modult. Ezt a modult a Windows Server 2008 R2-ben vezették be, és a Windows Server 2012 és újabb verziókban alapértelmezés szerint engedélyezve van. Az AD-modul cmdletjeinek teljes listáját a következő parancs futtatásával kaphatja meg:

Get-Command -Module ActiveDirectory

A teljes lista 147 cmdletet tartalmaz; azonban csak ez a tizenegy kapcsolódik az Active Directory-csoportokhoz:

  • Add-ADGroupMember
  • Add-ADPrincipalGroupMembership
  • Get-ADAccountAuthorizationGroup
  • Get-ADGroup
  • Get-ADGroupMember
  • Get-ADPrincipalGroupMembership
  • New-ADGroup
  • Remove-ADGroup
  • Remove-ADGroupMember
  • Remove-ADPrincipalGroupMembership
  • Set-ADGroup

Az Active Directory csoport létrehozása PowerShell segítségével

Az AD csoport létrehozása, a New-ADGroup cmdletet használja. Szintaxisát a következő parancs futtatásával kaphatjuk meg:

Get-Command New-ADGroup –Syntax

A csoport létrehozásának legegyszerűbb módja a következő rövid szkript futtatása:

New-ADGroup "Group Name"

A rendszer megkéri a “GroupScope” paraméter megadására, majd létrehoz egy új csoportot. Ez a csoport azonban alapértelmezett értékekkel fog rendelkezni, például:

  • A “Users” nevű alapértelmezett LDAP tárolóban lesz létrehozva.
  • A csoport típusa “Security” lesz.
  • A members, member of, description, email és notes mezők mind üresek lesznek.

Tegyük fel, hogy egy “Quality” nevű biztonsági csoportot szeretnénk létrehozni az AD DC-nkben. Használjuk a következő paramétereket: Legyen a “Production” OU-ban (-Path), legyen biztonsági csoport (-GroupCategory), és legyen globális (-GroupScope).

New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose

Ha univerzális elosztási csoportot szeretnénk létrehozni, egyszerűen módosítsuk a -GroupCategory paramétert “Distribution”-re, a -GroupScope paramétert pedig “Universal”-ra. Az LDAP-útvonalat is megváltoztathatja a -Path paraméter módosításával.

Az Active Directory-csoport törlése a PowerShell segítségével

Az AD-csoport törléséhez használja a Remove-ADGroup cmdletet. A legegyszerűbb szkript ehhez így néz ki:

Remove-ADGroup -Identity Quality

A csoport törlésének megerősítését kéri a rendszer.

Felhasználók és számítógépek hozzáadása egy csoporthoz a PowerShell segítségével

Az Add-AdGroupMember cmdlet segítségével adhatunk hozzá felhasználókat egy AD-csoporthoz. Ha például két felhasználót, B.Jackson és E.Franklin, a “Quality” csoporthoz, a szkript így nézne ki:

Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin

Ha már hozzáadott felhasználókat egy biztonsági csoporthoz, az alábbi szkriptet futtatva ellenőrizheti, hogy a felhasználók tagként szerepelnek-e a listán:

Get-ADGroupMember -Identity Quality

Ha a felhasználókat egy másik biztonsági vagy elosztási csoporthoz, például a “Domain Admins” csoporthoz kell hozzáadni, adja meg a “Domain Admins” értéket a -Identity paraméterhez. Ha egy csoportnak egy másik csoport tagjának kell lennie, adja meg a -Members paraméter értékeként a csoport nevét. Ugyanez az elv vonatkozik a számítógépfiókokra is, de a számítógépfiók nevének végére egy dollárjelet ($) kell illesztenie. Ha például a “WKS043” számítógépet szeretné felvenni egy csoportba, adja meg a -Members paraméter értékeként a “WKS043$” szót:

Add-AdGroupMember -Identity Quality -Members WKS043$

Felhasználó felvétele több csoportba

A felhasználó egyszerre több csoportba történő felvételéhez futtassa a következő parancsfájlt.

"Managers","Quality" | Add-ADGroupMember -Members ` (Read-Host -Prompt "Enter User Name")

A program felszólítja a felhasználónév megadására.

Felhasználók hozzáadása egy csoporthoz CSV-fájlból

Ha nagyszámú felhasználót szeretne hozzáadni egy csoporthoz, megadhatja őket egy CSV-fájlban, majd importálhatja ezt a fájlt. Ne feledje, hogy a CSV-fájlban szereplő felhasználónevek listájának tartalmaznia kell a SamAccountNeveket a “users” oszlopban, az alábbiak szerint:

A CSV-fájlból történő felhasználók csoporthoz való hozzáadásához futtassa a következő PowerShell szkriptet:

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}

Felhasználók másolása egyik csoportból egy másikba

Ha az összes tagot át akarja másolni egy csoportból egy másik csoportba, futtassa a következő szkriptet:

Get-ADGroupMember "Quality" | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity "QualityControl" -Members $_}

Felhasználók vagy számítógépek eltávolítása egy csoportból

Használók vagy számítógépek eltávolításához egy csoportból a Remove-ADGroupMember cmdlet használatával:

Remove-ADGroupMember -Identity Quality -Members J.Robinson

A számítógépfiók eltávolításához egy csoportból a -Members paraméter értékeként adja meg a számítógép nevét dollárjellel ($) a végén.

Másik felhasználói fiók eltávolítása egy csoportból

A több felhasználó eltávolításának egyszerű módja egy AD-csoportból az, hogy létrehoz egy CSV-fájlt a felhasználónevek listájával, majd ezzel a szkripttel eltávolítja ezeket a felhasználókat a csoportobjektumból:

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}

Felhasználó eltávolítása az összes csoportból

A felhasználónak az összes csoportból való eltávolításához futtassa ezt a szkriptet:

Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object { $_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false}

Figyeljen arra, hogy a felhasználó elveszíti az összes csoporttagságát, kivéve a “Domain Users” csoportot, amelyet szükség esetén manuálisan is eltávolíthat.

Az Active Directory-csoportok jelentése

Most, hogy tudjuk, hogyan lehet a PowerShell segítségével számos gyakori Active Directory-kezelési feladatot elvégezni a csoportokkal kapcsolatban, nézzük meg, hogyan lehet jelentést készíteni arról, hogy milyen csoportok léteznek az AD-ben:

Az AD-ben lévő összes csoport listázásához használjuk az alábbi szkriptet:

Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory

Az AD-csoporttagok és az AD-csoporttagság változásainak áttekintésére természetesen szintén szükségünk lesz. Itt találja az ezen összetettebb feladatok elvégzéséhez szükséges utasítások linkjeit:

  • Hogyan követhetjük nyomon az Active Directory csoporttagsági változásokat
  • Hogyan kaphatunk AD felhasználói csoporttagsági jelentéseket
  • Hogyan exportálhatjuk egy adott AD csoport tagjait
  • OU-k kezelése és objektumaik áthelyezése a PowerShell segítségével

Következtetés

Most már megtanulta, hogyan kezelhet csoportokat és csoporttagságot az Active Directoryban a PowerShell parancsfájlok segítségével, próbáljon meg néhány csoportkezelési feladatot saját maga elvégezni. Legyen azonban óvatos, és ne felejtse el engedélyezni az Active Directory újrahasznosító kuka funkcióját, hogy könnyen visszaállíthassa a módosításokat, ha valami rosszul sülne el. Ne feledje, az ADUC MMC beépülő modul nagyszerű a csoportok és a csoporttagság kezelésére, de a PowerShell sokkal jobb a csoportok tömeges kezelésére.

Jeff a Netwrix globális megoldásfejlesztési igazgatója. Régóta a Netwrix bloggere, előadója és előadója. A Netwrix blogjában Jeff olyan életre szóló trükköket, tippeket és trükköket oszt meg, amelyekkel drámaian javíthatja a rendszergazdai tapasztalatokat.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.