PowerShell Remoting aktivieren
# WinRM (PowerShell Remoting) aktivieren
Enable-PSRemoting -Force
# WinRM-Status
Test-WSMan -ComputerName server01
# Verbindung herstellen
Enter-PSSession -ComputerName server01 -Credential firmaadmin
# Befehl remote ausfuehren
Invoke-Command -ComputerName server01 -ScriptBlock {
Get-Service | Where-Object Status -eq "Stopped"
}
# Mehrere Server gleichzeitig
Invoke-Command -ComputerName server01, server02, server03 -ScriptBlock {
Get-WindowsUpdateLog
}
JEA Session Configuration
# JEA: Helpdesk darf nur spezifische Befehle ausfuehren
# Ohne vollstaendige Admin-Rechte!
# Role Capability File (.psrc) erstellen
New-PSRoleCapabilityFile `
-Path "C:JEARolesHelpdesk.psrc" `
-Description "Helpdesk: Passwort reset und Account-Verwaltung" `
-VisibleCmdlets @(
"Get-ADUser",
@{Name="Set-ADAccountPassword"; Parameters = @{Name="Identity"}, @{Name="Reset"}},
@{Name="Enable-ADAccount"; Parameters = @{Name="Identity"}},
@{Name="Disable-ADAccount"; Parameters = @{Name="Identity"}},
"Get-ADGroupMember"
) `
-VisibleFunctions "Get-LocalUserInfo" `
-ScriptsToProcess "C:JEAScriptslogging.ps1"
# Session Configuration (.pssc) erstellen
New-PSSessionConfigurationFile `
-Path "C:JEAConfigHelpdesk.pssc" `
-SessionType RestrictedRemoteServer `
-RunAsVirtualAccount `
-RoleDefinitions @{
"firmaHelpdesk" = @{ RoleCapabilityFiles = "C:JEARolesHelpdesk.psrc" }
} `
-TranscriptDirectory "C:JEALogs"
# JEA-Endpoint registrieren
Register-PSSessionConfiguration `
-Path "C:JEAConfigHelpdesk.pssc" `
-Name "JEA-Helpdesk" `
-Force
JEA nutzen (als Helpdesk-Benutzer)
# Helpdesk verbindet mit JEA-Endpoint (kein Domain Admin!)
Enter-PSSession -ComputerName dc01 `
-ConfigurationName JEA-Helpdesk `
-Credential firmahelpdesk-user
# Nur erlaubte Befehle funktionieren:
Get-ADUser max.mustermann
Set-ADAccountPassword -Identity max.mustermann -Reset
Enable-ADAccount -Identity max.mustermann
# NICHT erlaubt:
Get-ADGroupMember "Domain Admins"
# → Error: "The term 'Get-ADGroupMember' is not recognized"
# (Gruppe war nicht fuer Helpdesk freigegeben)
Transcript-Logs auswerten
# Alle Aktionen werden automatisch geloggt!
# C:[email protected]
Get-Content "C:JEALogs*.psTranscript" |
Where-Object {$_ -like "*Set-ADAccountPassword*"}
FAQ
Kann JEA fuer Nicht-AD-Aufgaben genutzt werden?
Ja. JEA funktioniert fuer jede PowerShell-Sitzung: IIS-Verwaltung, Dienst-Neustarts, Datei-Berechtigungen vergeben.
Fazit
JEA ist das wichtigste Werkzeug fuer das Prinzip "Least Privilege" in Windows: Helpdesk erledigt Aufgaben ohne Domain Admin - alle Aktionen geloggt.
JEA und Windows Sicherheit fuer KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.