Als Windows-systeembeheerder is het waarschijnlijk iets wat je elke dag doet om Active Directory (AD) groepen te beheren. Terwijl je gebruik kunt maken van de Active Directory Users and Computers (ADUC) MMC-snap-in, wat gebeurt er als je groepen over meerdere domeinen moet beheren of taken voor groepsbeheer moet automatiseren? Daar komt PowerShell van pas.
In deze praktische tutorial ga je leren hoe je PowerShell kunt gebruiken om AD-groepen als een professional te beheren. Je leert hoe je groepen kunt opvragen, nieuwe kunt maken en bestaande groepen kunt wijzigen met praktische voorbeelden uit de echte wereld.
Vereisten
Als je deze tutorial wilt volgen, zorg dan dat je aan de volgende vereisten voldoet:
- Een Windows-computer (Windows 10/11 of Windows Server) die is aangesloten op een Active Directory-domein
- De PowerShell Active Directory-module geïnstalleerd
- Een gebruikersaccount met rechten om AD-groepen te beheren
AD-groepen opvragen met PowerShell
Laten we beginnen met een veelvoorkomend scenario – je bent de nieuwe IT-beheerder bij een bedrijf en moet de AD-groepstructuur auditen. Je manager wil weten welke groepen er zijn in verschillende afdelingen. De Get-ADGroup
cmdlet zal je beste vriend hier zijn.
Groepen vinden op naam
Misschien is de eenvoudigste taak het vinden van groepen met specifieke tekst in hun naam. Bijvoorbeeld, om alle groepen te vinden met “Sales” in de naam:
Get-ADGroup -Filter 'Name -like "Sales"'
De asterisken (*) zijn jokertekens die overeenkomen met elk teken voor of na “Sales”. Dit commando retourneert alle groepen die “Sales” ergens in hun naam hebben.
Filteren op Groepstype
Misschien wilt u alleen beveiligingsgroepen zien (geen distributiegroepen). U kunt extra filtercriteria toevoegen met de -and
operator:
Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'
Nu ziet u alleen beveiligingsgroepen die “Sales” in hun naam hebben.
Zoeken in Specifieke OU’s
Moet u groepen in een bepaalde organisatie-eenheid (OU) vinden? Gebruik de SearchBase
parameter:
Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'
Dit commando vindt alle groepen binnen de Engineering OU en zijn kind-OU’s.
Onlangs Gecreëerde Groepen Vinden
Wilt u zien welke groepen zijn gemaakt na een bepaalde datum? Filter op het whenCreated
attribuut:
Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'
Dit retourneert alle groepen die op of na 1 januari 2023 zijn gemaakt.
Nieuwe AD Groepen Aanmaken
Laten we nu kijken naar het aanmaken van nieuwe groepen. Misschien is uw bedrijf aan het herstructureren en moet u groepen voor nieuwe afdelingen aanmaken.
Een Beveiligingsgroep Aanmaken
Hier is hoe u een nieuwe beveiligingsgroep voor IT-ondersteunend personeel aanmaakt:
New-ADGroup -Name "IT_Support" `
-GroupScope Global `
-GroupCategory Security `
-Description "Group for IT support staff" `
-Path "OU=IT,DC=company,DC=local"
Dit maakt een globale beveiligingsgroep genaamd “IT_Support” in de IT-organisatie-eenheid.
Een Distributiegroep Aanmaken
Heeft u een e-maildistributiegroep nodig? Wijzig gewoon een paar parameters:
New-ADGroup -Name "Marketing_News" `
-GroupScope DomainLocal `
-GroupCategory Distribution `
-Description "Group for receiving marketing updates" `
-Path "OU=Marketing,DC=company,DC=local"
Meerdere Groepen Tegelijkertijd Aanmaken
Heeft u meerdere vergelijkbare groepen te creëren? Gebruik een lus:
$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
New-ADGroup -Name "Sales_$region" `
-GroupScope Global `
-GroupCategory Security `
-Description "Sales team for $region region" `
-Path "OU=Sales,DC=company,DC=local"
}
Bestaande Groepen Wijzigen
Dingen veranderen in organisaties. Groepen moeten worden hernoemd, beschrijvingen bijgewerkt en reikwijdtes aangepast. Laten we eens kijken hoe we deze taken kunnen aanpakken.
Groepen Hernoemen
Om een groep te hernoemen, moet je zowel de naam als de samAccountName wijzigen:
# Hernoem eerst het groepsobject
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam
# Werk daarna de samAccountName bij
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam
Groepsbeschrijvingen Bijwerken
Moet je de beschrijving van een groep bijwerken? Eén regel met Set-ADGroup
:
Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'
Groepsreikwijdte Wijzigen
Als je de reikwijdte van een groep moet wijzigen (bijvoorbeeld van Globaal naar Universeel):
Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal
Pro Tips
Hier zijn enkele tips om je AD-groepbeheer nog efficiënter te maken:
-
- Gebruik altijd `-Filter` in plaats van `-Identity` bij het opvragen van meerdere groepen – het is efficiënter
-
- Vergeet niet dat de groepsreikwijdte niet kan worden gewijzigd als de groep leden heeft – verwijder eerst de leden
-
- Gebruik de `-WhatIf` parameter bij het aanbrengen van wijzigingen om te bekijken wat er zou gebeuren
- Test altijd eerst uw groepswijzigingen in een niet-productieomgeving
Samenvatting
U zou nu een solide basis moeten hebben voor het beheren van AD-groepen met PowerShell. Terwijl de Active Directory Gebruikers en Computers snap-in geweldig is voor eenmalige taken, geeft PowerShell u de kracht om groepen op schaal te automatiseren en te beheren.
Vergeet niet – de hier getoonde voorbeelden zijn slechts het begin. PowerShell’s AD-cmdlets zijn ongelooflijk krachtig en flexibel. Naarmate u meer vertrouwd raakt met deze basisprincipes, kunt u complexere oplossingen bouwen die passen bij de behoeften van uw organisatie.
Moet u meer leren over Active Directory PowerShell? Bekijk onze andere tutorials: