Modul ActiveDirectory

Übersicht über die Cmdlets / Techniken des Moduls ActiveDirectory

AD Modul

PowerShell ActiveDirectory Modul

Bereitstellungen des Moduls ActiveDirectory:

Domaincontroller:

Einfach über den Server-Manager – Tools – Active Directory-Modul für Windows PowerShell direkt aufrufen oder automatisch (AutoLoading für Module) oder manuell (Import-Module) laden.

Alternativ einfach mal die Hilfe für ein Cmdlet aus dem Modul „ActiveDirectory“ aufrufen:

Get-Help Get-ADUser

Und schon listet Get-Module unser gewünschtes Modul!

Memberserver:

Die entsprechenden Feature nachinstallieren mittels Server-Manager (GUI) oder natürlich mit der PowerShell:

Import-Module servermanager
Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

Windows 10/11 Clients:

Bitte die passenden RSAT-Tools für Ihre Windows Versionen installieren!

Das macht man in den letzten Jahren natürlich auch wieder über die PowerShell:

Get-WindowsCapability -online |
   Where { $_.name -like "*rsat*" } |
   Add-WindowsCapability -online

In der GUI heißt das irgendwie … Features - ich merke mir das immer nicht, wo Windows die Sachen versteckt ;-). Wir haben ja die PowerShell!

Dann kann man mit den AD-Werkzeugen loslegen.

Hinweis zu den LDAP-Pfaden - das klären wir auch immer per Praxis in den Seminaren.

Set-Location 'DC=dom2012r2,DC=local'

Anm.: da stört die Vervollständigung mit Tab! Am Besten nutzt man wieder die Vervollständigung durch den Tabulator und entfernt einfach den letzten Backslash, bevor man den Set-Location Befehl mit Return abschließt:

Set-Location '.\DC=dom2012r2,DC=local'

Das letzte Beispiel zeigt die Vervollständigung durch Tab und den gelöschten Backslash am Ende. Das wird im Seminar in diversen Praxisbeispielen gezeigt und trainiert.

Hinweis

Tipp: Recherche zur AD-Verwaltung mit dem Active Directory-Verwaltungscenter (engl. Active Directory Administrative Center - ADAC; Tool: dsac.exe):

Dort kann man mittels der unten eingeblendeten Windows PowerShell-Verlauf History die nötigen PowerShell Aufrufe durch Tests mit AD-Objekten protokollieren lassen und für eigene Umsetzungen entnehmen.

Mit dem Modul Active Directory kann man auch AD LDS verwalten und - wie schon erwähnt - basiert das ADAC komplett auf der PowerShell. Das ADAC stellt quasi ein GUI für die PowerShell-Zugriff auf das AD dar.

Der Zugriff auf das AD findet mittels Webservices (genauer: ADWS - Active Directory Web Services) statt und nicht per LDAP!

Hierzu sind natürlich die entsprechenden Dienste und technische Zugriffsmöglichkeiten (TCP-Port 9389) nötig.

Das Modul stellt eigene Cmdlets (147 Windows Server 2016 Cmdlets) und mit einem PSProvider (ActiveDirectory) auch gleich ein PSDrive (AD:) bereit.

Hinweis

Übung: Bewegen im PSDrive AD: mit richtigen Bezeichner - also den LDAP-DN (Distinguished Name) statt der Namen!

Die Attribute („Eigenschaften“) im AD-Modul weichen von den LDAP-Namen ab.

Beispiel: LDAP „L“ ist im AD „City“

in Praxisbuch Schwichtenberg (PS 5.0) gibt es S.779 eine Gegenüberstellung mit weiteren Beispielen.

Das Modul „ActiveDirectory“ wurde immer wieder mal Überarbeitungen unterworfen und verhält sich bei der Benutzung teilweise anders als die Standard-PowerShell-Cmdlets und Techniken.

  • die Cmdlets laden nicht alle Eigenschaften automatisch; man kann es aber mit „*“ versuchen

  • benutzen von -recursive (statt sonst -Recurse)

  • Bestätigungen vermeiden / Vorgänge „erzwingen“ mit -confirm:$false (statt sonst -force)

  • für Set-Location im PSDrive AD: - bitte die LDAP-Pfade sauber in Zeichenketten (Tipp: hier mal Tab vermeiden oder korrigieren)

  • Cmdlets für neue Objekt (New-) geben das erstellte Objekt nur mit -PassThru zurück

  • Parameter -Server für Domänencontroller

  • Berechtigungen (Authentifizierungen) mit -Credentials und vormaligem Get-Credentials

Zu allen Techniken werden in „PowerShell - Active Directory“- Seminaren Beispiele und Vertiefungen angeboten.

Erste beispielhafte Aufrufe:

Get-ADUser –Filter { name –like "*joe*" }
Get-ADDomain
Get-ADDomainController

Wir werden weitere (und ausführlichere) Codebeispiele hierzu kennenlernen und in den Seminaren intensiven praktischen Tests unterziehen.