PowerShell Windows Server

6 Kernbereiche
Die wichtigsten PowerShell-Cmdlets für Windows Server Administration: Active Directory · Hyper-V · DNS · IIS · DHCP · Windows Updates PowerShell ist das zentrale Verwaltungstool für Windows Server. Diese Cmdlets decken die wichtigsten Serverrollen und Administrationsaufgaben ab.

Active Directory – Benutzer, Gruppen, Computer

Get-ADUser · New-ADUser · Set-ADUser · Get-ADGroup
Get-ADUser -Identity "max" New-ADUser -Name "Anna Schmidt" -SamAccountName "aschmidt" Get-ADGroup -Filter * | Select Name, GroupCategory

Active Directory Cmdlets ermöglichen die Verwaltung von Benutzern, Gruppen, Computern und Organisations-Einheiten (OUs). Das Modul ActiveDirectory muss importiert werden.

Wichtige AD-Cmdlets

Cmdlet Beschreibung
Get-ADUser Benutzer abrufen (mit -Filter, -Identity)
New-ADUser Neuen Benutzer erstellen
Set-ADUser Benutzer-Eigenschaften ändern
Disable-ADUser / Enable-ADUser Benutzer aktivieren/deaktivieren
Get-ADGroup Gruppen abrufen
Add-ADGroupMember Benutzer zu Gruppe hinzufügen
Get-ADComputer Computer abrufen
Get-ADOrganizationalUnit OUs abrufen
Beispiele
# Benutzer mit bestimmten Eigenschaften abrufen
Get-ADUser -Filter {Enabled -eq $true} -Properties EmailAddress, Department
# Neuen Benutzer erstellen
New-ADUser -Name "Ben Müller" -SamAccountName "bmueller" -UserPrincipalName "bmueller@domain.local" -GivenName "Ben" -Surname "Müller" -Enabled $true
# Benutzer zu Gruppe hinzufügen
Add-ADGroupMember -Identity "Domain Admins" -Members "bmueller"
# Alle Benutzer einer OU abrufen
Get-ADUser -Filter * -SearchBase "OU=Mitarbeiter,DC=domain,DC=local"
Tipp: Für AD-Cmdlets muss das Modul ActiveDirectory installiert sein (Install-WindowsFeature RSAT-AD-PowerShell). Verwenden Sie -Properties, um zusätzliche Attribute abzurufen.

Hyper-V – VMs verwalten

Get-VM · New-VM · Start-VM · Stop-VM
Get-VM -Name "WebServer" New-VM -Name "TestVM" -MemoryStartupBytes 2GB Start-VM -Name "TestVM"

Hyper-V Cmdlets ermöglichen die vollständige Verwaltung von virtuellen Maschinen – von der Erstellung über das Starten/Stoppen bis zur Konfiguration von Netzwerk und Speicher.

Wichtige Hyper-V-Cmdlets

Cmdlet Beschreibung
Get-VM VMs auflisten (mit -Name, -All)
New-VM Neue VM erstellen
Start-VM / Stop-VM VM starten/stoppen
Restart-VM / Suspend-VM VM neu starten/anhalten
Get-VMNetworkAdapter Netzwerkadapter der VM anzeigen
Get-VHD / New-VHD VHD-Dateien verwalten
Checkpoint-VM Checkpoint (Snapshot) erstellen
Remove-VM VM löschen
Beispiele
# Alle VMs mit Status anzeigen
Get-VM | Select Name, State, MemoryAssigned, ProcessorCount
# Neue VM mit VHDX erstellen
New-VM -Name "WebServer" -MemoryStartupBytes 4GB -NewVHDPath "C:\VHDs\WebServer.vhdx" -NewVHDSizeBytes 100GB
# VM starten und Checkpoint erstellen
Start-VM -Name "WebServer"
Checkpoint-VM -Name "WebServer" -SnapshotName "VorUpdate"
# VM herunterfahren
Stop-VM -Name "WebServer" -Force
Tipp: Hyper-V-Cmdlets erfordern Administrator-Rechte und das Hyper-V-Modul. Mit Get-VM | Where-Object State -eq 'Running' filtern Sie laufende VMs.

DNS – DNS-Zonen und Einträge verwalten

Get-DnsServerZone · Add-DnsServerResourceRecordA
Get-DnsServerZone Add-DnsServerResourceRecordA -Name "www" -ZoneName "domain.local" -IPv4Address "192.168.1.10"

DNS Cmdlets ermöglichen die Verwaltung von DNS-Zonen, Resource Records und Servereinstellungen auf Windows DNS-Servern.

Wichtige DNS-Cmdlets

Cmdlet Beschreibung
Get-DnsServerZone Alle DNS-Zonen anzeigen
Add-DnsServerPrimaryZone Primäre Zone erstellen
Add-DnsServerResourceRecordA A-Record hinzufügen (IPv4)
Add-DnsServerResourceRecordAAAA AAAA-Record hinzufügen (IPv6)
Add-DnsServerResourceRecordCName CNAME-Record (Alias) hinzufügen
Add-DnsServerResourceRecordMX MX-Record (Mailserver) hinzufügen
Remove-DnsServerResourceRecord Resource Record entfernen
Get-DnsServerResourceRecord Resource Records anzeigen
Beispiele
# Alle DNS-Zonen anzeigen
Get-DnsServerZone
# A-Record für www.domain.local erstellen
Add-DnsServerResourceRecordA -Name "www" -ZoneName "domain.local" -IPv4Address "192.168.1.10" -CreatePtr
# CNAME-Record erstellen
Add-DnsServerResourceRecordCName -Name "ftp" -ZoneName "domain.local" -HostNameAlias "server01.domain.local"
# Alle A-Records einer Zone anzeigen
Get-DnsServerResourceRecord -ZoneName "domain.local" -RRType "A"
# DNS-Eintrag löschen
Remove-DnsServerResourceRecord -ZoneName "domain.local" -RRType "A" -Name "www" -Force
Tipp: DNS-Cmdlets erfordern das DNS-Server-Modul (Install-WindowsFeature DNS). Für erweiterte Optionen verwenden Sie Get-DnsServerResourceRecord mit -Node und -ZoneName.

IIS – Websites und App-Pools verwalten

Get-IISSite · New-IISSite · Get-IISAppPool
Get-IISSite New-IISSite -Name "MeineWebsite" -PhysicalPath "C:\inetpub\wwwroot\meinewebsite" -BindingInformation "*:80:www.meineseite.de"

IIS Cmdlets ermöglichen die Verwaltung von IIS-Websites, Anwendungspools und virtuellen Verzeichnissen – ideal für die Web-Server-Administration.

Wichtige IIS-Cmdlets

Cmdlet Beschreibung
Get-IISSite IIS-Websites anzeigen
New-IISSite Neue Website erstellen
Start-IISSite / Stop-IISSite Website starten/stoppen
Remove-IISSite Website löschen
Get-IISAppPool Anwendungspools anzeigen
New-IISAppPool Anwendungspool erstellen
Set-IISAppPool Anwendungspool konfigurieren
Get-IISVirtualDirectory Virtuelle Verzeichnisse anzeigen
Beispiele
# Alle Websites anzeigen
Get-IISSite | Select Name, State, Bindings
# Neue Website erstellen
New-IISSite -Name "Intranet" -PhysicalPath "C:\inetpub\intranet" -BindingInformation "*:80:intranet.domain.local"
# Website starten und stoppen
Start-IISSite -Name "Intranet"
Stop-IISSite -Name "Intranet"
# Anwendungspool mit .NET CLR Version erstellen
New-IISAppPool -Name "AppPoolV4" -ManagedRuntimeVersion "v4.0" -ManagedPipelineMode "Integrated"
Tipp: IIS-Cmdlets erfordern das IIS-Modul (Install-WindowsFeature Web-Server). Verwenden Sie Set-WebConfiguration für erweiterte Einstellungen.

DHCP – Scopes und Reservierungen verwalten

Get-DhcpServerv4Scope · Add-DhcpServerv4Reservation
Get-DhcpServerv4Scope Add-DhcpServerv4Reservation -ScopeId "192.168.1.0" -IPAddress "192.168.1.50" -ClientId "AA-BB-CC-DD-EE-FF"

DHCP Cmdlets ermöglichen die Verwaltung von DHCP-Scopes, Leases, Reservierungen und Serveroptionen auf Windows DHCP-Servern.

Wichtige DHCP-Cmdlets

Cmdlet Beschreibung
Get-DhcpServerv4Scope Alle IPv4-Scopes anzeigen
Add-DhcpServerv4Scope Neuen Scope erstellen
Get-DhcpServerv4Lease DHCP-Leases anzeigen
Add-DhcpServerv4Reservation Reservierung für eine MAC-Adresse erstellen
Remove-DhcpServerv4Reservation Reservierung löschen
Set-DhcpServerv4OptionValue Server-Optionen setzen (z.B. DNS, Gateway)
Get-DhcpServerv4OptionValue Server-Optionen anzeigen
Beispiele
# Alle Scopes anzeigen
Get-DhcpServerv4Scope | Select Name, ScopeId, State, StartRange, EndRange
# Neue Reservierung erstellen
Add-DhcpServerv4Reservation -ScopeId "192.168.1.0" -IPAddress "192.168.1.50" -ClientId "AA-BB-CC-DD-EE-FF" -Name "Drucker1"
# DHCP-Optionen setzen (DNS, Gateway)
Set-DhcpServerv4OptionValue -ScopeId "192.168.1.0" -DnsServer "192.168.1.10" -Router "192.168.1.1"
# Alle Leases eines Scopes anzeigen
Get-DhcpServerv4Lease -ScopeId "192.168.1.0"
Tipp: DHCP-Cmdlets erfordern das DHCP-Server-Modul (Install-WindowsFeature DHCP). Nach der Installation muss die DHCP-Konsole autorisiert werden.

Windows Updates – Updates installieren und verwalten

Get-WUList · Install-WindowsUpdate · Get-WUHistory
Get-WUList -IsInstalled $false Install-WindowsUpdate -AcceptAll Get-WUHistory -MaxHistory 20

Windows Update Cmdlets (PSWindowsUpdate) ermöglichen die vollständige Verwaltung von Windows Updates – von der Suche über die Installation bis zur Historie.

Wichtige Update-Cmdlets

Cmdlet Beschreibung
Get-WUList Verfügbare Updates anzeigen
Install-WindowsUpdate Updates installieren
Get-WUHistory Update-Historie anzeigen
Get-WURebootStatus Neustart-Status prüfen
Hide-WindowsUpdate Bestimmte Updates ausblenden
Show-WindowsUpdate Ausgeblendete Updates einblenden
Beispiele
# PSWindowsUpdate Modul installieren
Install-Module PSWindowsUpdate -Force -Scope CurrentUser
# Verfügbare Updates anzeigen
Get-WUList -IsInstalled $false -Verbose
# Alle verfügbaren Updates installieren
Install-WindowsUpdate -AcceptAll -AutoReboot
# Nur kritische Updates installieren
Install-WindowsUpdate -Category "Critical" -AcceptAll
# Update-Historie anzeigen
Get-WUHistory -MaxHistory 10 | Select Title, Date, Result
Tipp: Das Modul PSWindowsUpdate muss zuerst installiert werden (Install-Module PSWindowsUpdate -Force). Verwenden Sie -AutoReboot mit Vorsicht – planen Sie Neustarts außerhalb der Arbeitszeiten.

PowerShell Windows Server im Überblick

AD Active Directory
Benutzer, Gruppen, OUs
Hyper-V Virtuelle Maschinen
VMs, VHDs, Checkpoints
DNS DNS-Server
Zonen, Records
IIS Web-Server
Sites, AppPools
DHCP DHCP-Server
Scopes, Reservierungen
Updates Windows Updates
PSWindowsUpdate

Quick Summary

AD
Benutzer & Gruppen
VM
Hyper-V
DNS
DNS-Zonen
IIS
Websites
DHCP
Scopes
Updates
Windows Updates
Get-ADUser -Filter * · Get-VM | Start-VM · Install-WindowsUpdate -AcceptAll