Actieve Directory Groepen Beheren met PowerShell: De Ultieme Gids

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
  • 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:

    1. Gebruik altijd `-Filter` in plaats van `-Identity` bij het opvragen van meerdere groepen – het is efficiënter

    1. Vergeet niet dat de groepsreikwijdte niet kan worden gewijzigd als de groep leden heeft – verwijder eerst de leden

    1. Gebruik de `-WhatIf` parameter bij het aanbrengen van wijzigingen om te bekijken wat er zou gebeuren

    1. 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:

Source: https://adamtheautomator.com/powershell-ad-groups-guide/