← Übersicht
Windows

PowerShell Grundlagen

Was ist PowerShell?

PowerShell ist die zentrale Befehlszeilen- und Skriptsprache zur Automatisierung der Windows-Administration. Im Gegensatz zur klassischen Eingabeaufforderung (cmd.exe) arbeitet PowerShell nicht mit reinem Text, sondern mit Objekten auf Basis des .NET-Frameworks. Jeder Befehl liefert strukturierte Objekte zurück, die über die Pipeline weiterverarbeitet werden können.

Es gibt zwei parallele Versionen, die sich gegenseitig nicht beeinflussen:

  • Windows PowerShell 5.1 – fest in Windows integriert, basiert auf dem klassischen .NET Framework. Bleibt für ältere Module relevant.
  • PowerShell 7.x – plattformübergreifend (Windows, Linux, macOS), basiert auf .NET, wird separat installiert und läuft als pwsh.exe neben der 5.1. Aktuelle LTS-Linie ist 7.4/7.6.
Stand 2026: PowerShell 7.6 (LTS) wurde am 18.03.2026 veröffentlicht und baut auf .NET 10 (LTS) auf. Als Long-Term-Support-Version wird sie bis 2028 unterstützt und ist damit eine solide Wahl für Produktionsserver. Neuerungen liegen vor allem in Engine-Stabilität, verbessertem Handling nativer Befehle und konsistenterer Tab-Vervollständigung. Die aktuelle Patch-Version ist 7.6.2.
Tipp: PowerShell 5.1 (powershell.exe) und PowerShell 7 (pwsh.exe) laufen Side-by-Side. Eine in einer Version gesetzte Execution Policy hat keine Auswirkung auf die andere – beide Engines verwalten ihre Richtlinien getrennt.

Cmdlets – das Verb-Substantiv-Prinzip

Befehle in PowerShell heißen Cmdlets (gesprochen „command-lets"). Sie folgen immer dem Schema Verb-Substantiv, z.B. Get-Process, Stop-Service oder New-Item. Diese strikte Namenskonvention macht Befehle erratbar.

VerbBedeutungBeispiel-Cmdlet
GetAbrufen / AnzeigenGet-Service, Get-ChildItem
SetÄndern / KonfigurierenSet-ExecutionPolicy, Set-Location
NewErstellenNew-Item, New-LocalUser
RemoveLöschen / EntfernenRemove-Item, Remove-Service
Start / StopStarten / AnhaltenStart-Service, Stop-Process
Export / ImportAus-/EinlesenExport-Csv, Import-Csv

Hilfe finden: Get-Help & Get-Command

Die zwei wichtigsten Cmdlets für Einsteiger sind Get-Command (Befehle finden) und Get-Help (Befehle verstehen). Kombiniert mit Get-Member erschließt sich jedes Cmdlet selbsterklärend.

# Alle Cmdlets mit einem bestimmten Substantiv finden Get-Command -Noun Service # Alles rund um Dienste Get-Command -Verb Get *Net* # Get-Cmdlets, die "Net" enthalten # Hilfe zu einem Cmdlet (Hilfedateien zuerst aktualisieren) Update-Help # Hilfe aus dem Internet laden (als Admin) Get-Help Get-Process -Full # Vollständige Hilfe Get-Help Get-Process -Examples # Nur Beispiele Get-Help Get-Process -Online # Im Browser öffnen # Eigenschaften und Methoden eines Objekts anzeigen Get-Process | Get-Member # Welche Properties hat ein Prozess-Objekt?

Die Pipeline

Das Herzstück von PowerShell ist die Pipeline (|). Sie übergibt die Objekte eines Cmdlets an das nächste – nicht nur Text. Dadurch lassen sich Daten filtern, sortieren und formatieren, ohne sie neu parsen zu müssen.

Anatomie eines Cmdlets nach dem Verb-Substantiv-Prinzip und der Objektfluss durch die PowerShell-Pipeline
Abb. – Aufbau eines Cmdlets (Verb-Substantiv) und der Objektfluss von Get-Service über Where-Object und Sort-Object bis Select-Object
# Prozesse nach Arbeitsspeicher sortieren, Top 5 anzeigen Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 5 Name, Id, WS # Nur laufende Dienste mit Autostart, nach Namen sortiert Get-Service | Where-Object { $_.Status -eq 'Running' } | Sort-Object DisplayName # Ergebnis als CSV exportieren Get-Service | Where-Object Status -eq 'Stopped' | Export-Csv C:\Temp\dienste.csv -NoTypeInformation
Tipp: Die Platzhaltervariable $_ (bzw. $PSItem) steht in der Pipeline für das jeweils aktuelle Objekt. Where-Object filtert, Select-Object wählt Spalten/Anzahl, Sort-Object sortiert.

Execution Policy

Die Execution Policy ist ein Sicherheitsmechanismus, der steuert, ob und welche Skripte (.ps1) ausgeführt werden dürfen. Sie ist keine echte Sicherheitsgrenze, sondern ein Schutz vor versehentlichem Ausführen. PowerShell 7 (ab 7.4) verwendet unter Windows standardmäßig RemoteSigned.

RichtlinieVerhalten
RestrictedKeine Skripte erlaubt (Standard bei Windows Client älterer Versionen)
RemoteSignedLokale Skripte ohne Signatur erlaubt; aus dem Internet nur signiert (Standard auf Servern & PS7)
AllSignedAlle Skripte müssen signiert sein
UnrestrictedAlle Skripte erlaubt (nur Warnung bei Internet-Quellen) – nicht empfohlen
BypassKeine Blockierung, keine Warnung – nur für automatisierte Aufgaben
# Aktuelle effektive Richtlinie anzeigen Get-ExecutionPolicy Get-ExecutionPolicy -List # Richtlinie je Scope (MachinePolicy, UserPolicy, Process, CurrentUser, LocalMachine) # Richtlinie nur für den aktuellen Benutzer setzen (kein Admin nötig) Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Häufige Admin-Cmdlets

AufgabeCmdlet
Dienste verwaltenGet-Service, Start-Service, Stop-Service, Restart-Service
Prozesse verwaltenGet-Process, Stop-Process
EreignisprotokolleGet-WinEvent, Get-EventLog
DateisystemGet-ChildItem, Copy-Item, Remove-Item, Test-Path
NetzwerkTest-NetConnection, Get-NetIPAddress, Resolve-DnsName
Lokale KontenGet-LocalUser, New-LocalUser, Add-LocalGroupMember
RemoteverwaltungEnter-PSSession, Invoke-Command, New-PSSession
System-InfoGet-ComputerInfo, Get-CimInstance

Remoting – Befehle auf Remote-Servern

Mit PowerShell Remoting (WS-Management/WinRM) werden Befehle auf entfernten Servern ausgeführt – essenziell bei Server Core ohne GUI.

# WinRM auf dem Zielserver einmalig aktivieren Enable-PSRemoting -Force # Interaktive Sitzung auf einem Remote-Server öffnen Enter-PSSession -ComputerName SRV01 -Credential (Get-Credential) # Einen Befehl auf mehreren Servern parallel ausführen Invoke-Command -ComputerName SRV01, SRV02 -ScriptBlock { Get-Service DNS }

Vom Befehl zum Skript: Variablen, Schleifen, Bedingungen

Cmdlets entfalten ihre Stärke erst in kleinen Skripten. Das folgende Praxisbeispiel prüft eine Liste von Servern auf Erreichbarkeit und schreibt das Ergebnis in eine CSV – ein typischer Admin-Einzeiler, der zum Skript wächst.

# Liste der zu prüfenden Server $server = 'SRV01','SRV02','SRV03' $ergebnis = foreach ($s in $server) { $online = Test-Connection -ComputerName $s -Count 1 -Quiet [PSCustomObject]@{ Server = $s Online = if ($online) { 'Ja' } else { 'Nein' } Geprüft = Get-Date -Format 'yyyy-MM-dd HH:mm' } } # Ergebnis tabellarisch anzeigen und exportieren $ergebnis | Format-Table -AutoSize $ergebnis | Export-Csv C:\Temp\serverstatus.csv -NoTypeInformation -Encoding UTF8 # Nur nicht erreichbare Server hervorheben $ergebnis | Where-Object Online -eq 'Nein' | ForEach-Object { Write-Warning "Server $($_.Server) ist NICHT erreichbar!" }
Tipp: Mit [PSCustomObject]@{...} erzeugt man eigene Objekte mit definierten Spalten – ideal für saubere Reports per Export-Csv oder ConvertTo-Html. Der Doppelpunkt-Trick $($_.Server) wertet Eigenschaften innerhalb von Zeichenketten aus.
Windows

Windows Server Rollen & Features

Rollen, Rollendienste und Features

Windows Server stellt seine Funktionen modular über Rollen (Roles), Rollendienste (Role Services) und Features bereit. Eine Rolle beschreibt die Hauptaufgabe eines Servers (z.B. „Domänencontroller"), Features sind ergänzende Funktionen (z.B. .NET Framework, Failover-Clustering). Die Verwaltung erfolgt über den grafischen Server-Manager oder über PowerShell.

Tipp: Das alte servermanagercmd.exe ist Geschichte. Verwende die PowerShell-Cmdlets Install-WindowsFeature, Get-WindowsFeature und Uninstall-WindowsFeature – sie funktionieren lokal und per -ComputerName auch remote.
Windows Server als zentrale Box, umgeben von den Rollen AD DS, DNS, DHCP, IIS, Hyper-V und File Server
Abb. – Windows Server stellt seine Dienste modular über Rollen bereit: AD DS, DNS, DHCP, IIS (Webserver), Hyper-V und Dateiserver

Wichtige Serverrollen im Überblick

RolleFeature-NameAufgabe
AD DSAD-Domain-ServicesActive Directory Domänendienste – zentrale Verzeichnis-/Authentifizierung (Domänencontroller)
DNS-ServerDNSNamensauflösung, eng mit AD verzahnt
DHCP-ServerDHCPAutomatische IP-Vergabe an Clients
Webserver (IIS)Web-ServerInternet Information Services – Hosting von Webseiten/Apps
Hyper-VHyper-VTyp-1-Hypervisor zur Virtualisierung
DateiserverFS-FileServerSMB-Freigaben, DFS, Speicherkontingente
RemotedesktopdiensteRDS-RD-ServerSitzungsbasierte Desktops / RemoteApp

Rollen installieren mit PowerShell

# Verfügbare und installierte Rollen/Features anzeigen Get-WindowsFeature # Übersicht (Status: Available / Installed) Get-WindowsFeature -Name *DNS* # Gezielt suchen # DNS und DHCP gleichzeitig installieren – inkl. Verwaltungstools Install-WindowsFeature -Name DNS, DHCP -IncludeManagementTools # Active-Directory-Domänendienste installieren Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools # Danach: Server zum Domänencontroller heraufstufen (neue Gesamtstruktur) Install-ADDSForest -DomainName "firma.local" -InstallDns # Remote auf einem anderen Server installieren Install-WindowsFeature -Name Web-Server -ComputerName SRV02 -IncludeManagementTools # Rolle wieder entfernen (Neustart ggf. erforderlich) Uninstall-WindowsFeature -Name Web-Server -Restart
Tipp: Mit dem Parameter -IncludeManagementTools werden die zugehörigen Verwaltungswerkzeuge (z.B. die DNS-Konsole) gleich mitinstalliert – auf einem Verwaltungs-PC oft sinnvoll, auf Server Core gibt es jedoch keine grafischen Snap-Ins.

Hardware- & Software-Voraussetzungen

Die Hardwareanforderungen von Windows Server sind gering – die offiziellen Mindestwerte sind eher eine untere Schwelle als eine Praxisempfehlung. Für produktive Rollen (insbesondere AD, Dateiserver) sollte deutlich großzügiger dimensioniert werden, je nach Nutzerzahl und Last.

RessourceMinimumHinweis
Prozessor1,4 GHz (64-Bit)Praktisch jede moderne CPU erfüllt das
Arbeitsspeicher512 MB (Core) / 2 GB (Desktop GUI)Für Produktion deutlich mehr einplanen
Freier Speicherplatz32 GBZzgl. Platz für Rollen, Daten und Auslagerung
Tipp: Zur Ausfallsicherheit und gegen Datenverlust sollte bei AD immer über einen zweiten Domänencontroller nachgedacht werden – ein einzelner DC ist ein Single Point of Failure für die gesamte Anmeldung im Netz.

Server Core vs. Desktop Experience

Bei der Installation von Windows Server wählt man zwischen zwei Varianten. Diese Wahl ist nachträglich nicht mehr umschaltbar und sollte daher bewusst getroffen werden.

MerkmalServer CoreDesktop Experience (GUI)
OberflächeNur Kommandozeile (cmd, PowerShell, sconfig)Vollständige grafische Oberfläche
RessourcenbedarfGering (weniger RAM/Disk)Höher
AngriffsflächeKleiner (weniger Komponenten/Patches)Größer
VerwaltungPowerShell-Remoting, Windows Admin Center, RSATLokal grafisch + remote
EmpfehlungInfrastruktur-Rollen (DNS, DHCP, AD, Hyper-V)Wenn GUI-Tools/Apps zwingend lokal nötig sind

Server Core wird über das Tool sconfig grundkonfiguriert (Computername, Netzwerk, Domänenbeitritt, Updates). Die eigentliche Rollenverwaltung läuft dann über PowerShell oder das Windows Admin Center.

Praxis: Domänenbeitritt & Rollen-Inventar per PowerShell

Zwei wiederkehrende Aufgaben in der täglichen Serveradministration: einen Server einer Domäne hinzufügen und schnell ermitteln, welche Rollen auf einer Maschine aktiv sind.

# Computer umbenennen und in eine Domäne aufnehmen (Neustart inklusive) Rename-Computer -NewName "SRV-FILE01" -Restart:$false Add-Computer -DomainName "firma.local" -Credential (Get-Credential) -Restart # Nur die tatsächlich INSTALLIERTEN Rollen/Features auflisten Get-WindowsFeature | Where-Object Installed | Select-Object Name, DisplayName # Rollen-Inventar über mehrere Server sammeln und exportieren 'SRV01','SRV02' | ForEach-Object { Get-WindowsFeature -ComputerName $_ | Where-Object Installed | Select-Object @{N='Server';E={$_.PSComputerName}}, Name } | Export-Csv C:\Temp\rollen-inventar.csv -NoTypeInformation
Hinweis: Fehlt eine Rolle nach Install-WindowsFeature mit dem Hinweis auf fehlende Quelldateien (entfernte Payload, „Features on Demand"), liefert der Parameter -Source den Pfad zur install.wim des Installationsmediums nach: Install-WindowsFeature -Name Web-Server -Source D:\sources\sxs.
Hinweis: In Server Core werden bei Rolleninstallation zwar die Verwaltungstools (Module/Cmdlets) bereitgestellt, GUI-basierte MMC-Snap-Ins jedoch nicht. Diese verwendet man von einem Verwaltungsrechner aus über RSAT.
Windows

Ereignisanzeige (Event Log)

Was protokolliert Windows?

Die Ereignisanzeige (eventvwr.msc) ist die zentrale Anlaufstelle für Fehlersuche, Sicherheitsanalyse und Audit. Windows schreibt Ereignisse in mehrere Protokolle (Logs). Jedes Ereignis besitzt eine Event-ID, eine Quelle, eine Ebene (Information, Warnung, Fehler, Kritisch) und einen Zeitstempel.

ProtokollInhalt
SystemEreignisse von Windows-Komponenten: Treiber, Dienste, Hardware, Boot/Shutdown
ApplicationMeldungen installierter Anwendungen und Dienste
SecuritySicherheits-Audit: An-/Abmeldungen, Rechteänderungen, Objektzugriffe
SetupInstallation, Updates, Rollenkonfiguration
Forwarded EventsVon anderen Rechnern weitergeleitete Ereignisse (Event Forwarding)

Wichtige Event-IDs für Admins

Event-IDProtokollBedeutung
4624SecurityErfolgreiche Anmeldung. Logon-Typ 10 = RDP, Typ 2 = lokal, Typ 3 = Netzwerk
4625SecurityFehlgeschlagene Anmeldung – Häufung deutet auf Brute-Force-Angriff hin
4740SecurityBenutzerkonto wurde gesperrt (Account Lockout)
4672SecurityAnmeldung mit besonderen (administrativen) Rechten
6005SystemEreignisprotokolldienst gestartet → System wurde hochgefahren (Boot)
6006SystemEreignisprotokolldienst gestoppt → sauberes Herunterfahren
6008SystemUnerwartetes Herunterfahren (kein sauberer Shutdown)
7045SystemNeuer Dienst installiert – wichtig zur Malware-Erkennung
Tipp: Mit 6005 (Start) und 6006 (Stopp) lassen sich Betriebszeiten und ungeplante Neustarts rekonstruieren. Eine 6008 zwischen einem 6005 und dem vorherigen Lauf bedeutet: Das System ist abgestürzt oder wurde hart ausgeschaltet.

Abfragen mit Get-WinEvent

Das moderne Cmdlet Get-WinEvent löst das ältere Get-EventLog ab und kann auch die neuen Crimson-/Operational-Logs lesen. Filtern sollte man möglichst serverseitig über -FilterHashtable, da das performanter ist als nachträgliches Where-Object.

# Fehlgeschlagene Anmeldungen der letzten 24 Stunden (Brute-Force-Check) Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-24) } # Neu installierte Dienste finden (Id 7045) Get-WinEvent -FilterHashtable @{ LogName='System'; Id=7045 } | Select-Object TimeCreated, Message # Mehrere IDs aus dem Security-Log kombiniert Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4624,4634,4672 } -MaxEvents 50 # Letzte Boot-/Shutdown-Ereignisse Get-WinEvent -FilterHashtable @{ LogName='System'; Id=6005,6006,6008 } -MaxEvents 20

Klassisch mit wevtutil & CMD

Auf der Kommandozeile (auch Server Core) hilft wevtutil zum Abfragen, Exportieren und Verwalten von Protokollen.

:: Liste aller verfügbaren Protokolle wevtutil el :: Konfiguration/Größe des Security-Logs anzeigen wevtutil gli Security :: Die letzten 5 System-Ereignisse als lesbaren Text ausgeben wevtutil qe System /c:5 /rd:true /f:text :: Ein Protokoll in eine Datei exportieren (Beweissicherung) wevtutil epl Security C:\Temp\security_backup.evtx :: Ein Protokoll leeren (Vorsicht!) wevtutil cl Application
Tipp: Für wiederkehrende Analysen lohnt sich in der Ereignisanzeige eine benutzerdefinierte Ansicht: Sie filtert protokollübergreifend nach Ebene, Quelle, ID und Zeitraum und bleibt dauerhaft gespeichert.

Felder gezielt auslesen statt im Message-Text suchen

Der angezeigte Message-Text eines Ereignisses ist sprachabhängig und unhandlich zu parsen. Strukturierte Auswertungen greifen stattdessen auf die einzelnen Ereignisdaten (Event Properties) zu. Mit -Property bzw. der Methode ToXml() erschließt man diese sauber.

# Fehlgeschlagene Anmeldungen mit Zielkonto und Quell-IP (Felder statt Message) Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4625 } -MaxEvents 50 | ForEach-Object { $x = [xml]$_.ToXml() [PSCustomObject]@{ Zeit = $_.TimeCreated Konto = ($x.Event.EventData.Data | Where-Object Name -eq 'TargetUserName').'#text' QuellIP = ($x.Event.EventData.Data | Where-Object Name -eq 'IpAddress').'#text' } } | Sort-Object QuellIP | Format-Table -AutoSize # Top-Angreifer: nach Quell-IP gruppieren und zählen Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4625; StartTime=(Get-Date).AddDays(-1) } | Group-Object { ([xml]$_.ToXml()).Event.EventData.Data.Where({$_.Name -eq 'IpAddress'}).'#text' } | Sort-Object Count -Descending | Select-Object Count, Name -First 10

Ereignisweiterleitung (Event Forwarding)

In größeren Umgebungen werden sicherheitsrelevante Ereignisse zentral gesammelt. Windows Event Forwarding (WEF) leitet definierte Ereignisse von vielen Quellrechnern an einen Sammel-Server (Event Collector) ins Protokoll Forwarded Events.

KomponenteRolle
Source ComputerSendet Ereignisse – per winrm quickconfig vorbereitet
Collector ServerSammelt Ereignisse – Dienst per wecutil qc aktiviert
SubscriptionAbonnement legt fest, welche Logs/IDs gesammelt werden
Push vs. PullSource-initiated (Push, GPO-gesteuert) oder Collector-initiated (Pull)
Tipp: WEF ist agentenlos und in Windows integriert – ideal als Vorstufe oder Ergänzung zu einem SIEM. Die gesammelten Ereignisse landen im Log ForwardedEvents und lassen sich dort wie jedes andere Protokoll mit Get-WinEvent abfragen.
Windows

Der Windows-Boot-Prozess

Vom Einschalten bis zum Desktop

Wer weiß, in welcher Reihenfolge Windows startet, kann einen Fehler schnell einordnen: Hängt der PC schon vor dem Windows-Logo, nach dem Logo oder erst nach der Anmeldung? Jede Phase hat eigene Ursachen und eigene Werkzeuge.

Sechs Phasen des Windows-Starts von Firmware über Boot-Manager, OS-Loader und Kernel bis zur Anmeldung
Abb. – Die sechs Phasen des Windows-Starts
PhaseWas passiert?Beteiligte Dateien
1. FirmwarePOST prüft die Hardware. UEFI sucht die EFI-Systempartition (ESP, FAT32); Secure Boot startet nur signierte Bootloader. Beim alten BIOS: MBR → Bootsektor der aktiven Partition.UEFI-Firmware, NVRAM-Booteinträge
2. Boot-Managerliest die BCD (Boot Configuration Data) und startet das gewählte System bzw. zeigt das Startmenü.\EFI\Microsoft\Boot\bootmgfw.efi, …\Boot\BCD (BIOS: bootmgr, \Boot\BCD)
3. OS-Loaderlädt Kernel und HAL, den Registry-Hive SYSTEM und alle Treiber mit Starttyp „Boot“ (0) sowie den ELAM-Treiber des Virenschutzes.C:\Windows\System32\winload.efi
4. Kernelinitialisiert Speicher und Hardware, lädt die „System“-Treiber (1) und startet den Sitzungs-Manager.ntoskrnl.exe, hal.dll, smss.exe
5. SitzungSitzung 0: wininit.exe startet services.exe (alle automatischen Dienste) und lsass.exe (Sicherheit). Sitzung 1: winlogon.exe zeigt über LogonUI.exe den Anmeldebildschirm.csrss.exe, wininit.exe, winlogon.exe
6. Anmeldunglsass prüft das Kennwort (bei Domänen per Kerberos am DC), userinit.exe wendet Gruppenrichtlinien und Anmeldeskripte an und startet die Shell.userinit.exe, explorer.exe

Starttypen von Treibern und Diensten

Wann ein Treiber oder Dienst geladen wird, steht in der Registry unter HKLM\SYSTEM\CurrentControlSet\Services\<Name> im Wert Start:

WertStarttypGeladen von
0Bootwinload (Phase 3) – z. B. Festplatten-Controller
1SystemKernel (Phase 4)
2Automatischservices.exe (Phase 5)
3Manuellbei Bedarf
4Deaktiviertnie

Sicherheit beim Start

  • Secure Boot – die Firmware startet nur Bootloader mit gültiger Signatur. Schützt vor Bootkits.
  • Measured Boot – jede Startkomponente wird im TPM protokolliert. BitLocker gibt den Schlüssel nur frei, wenn die Messwerte stimmen.
  • ELAM (Early Launch Anti-Malware) – der Virenschutz-Treiber startet vor allen anderen Treibern und kann bösartige blockieren.

Wenn Windows nicht startet

Nach zwei fehlgeschlagenen Starts öffnet Windows automatisch die Windows-Wiederherstellungsumgebung (WinRE). Manuell erreichbar über Umschalt + Neu starten oder shutdown /r /o /t 0. Dort gibt es Starthilfe, Systemwiederherstellung, Deinstallation von Updates, die Eingabeaufforderung und unter „Starteinstellungen“ den abgesicherten Modus.

bcdedit /enum # Booteinträge anzeigen bcdedit /set {current} safeboot minimal # beim nächsten Start abgesicherter Modus bcdedit /deletevalue {current} safeboot # wieder normal starten bcdboot C:\Windows /s S: /f UEFI # Bootdateien + BCD auf ESP (S:) neu schreiben bootrec /rebuildbcd # Windows-Installationen suchen, BCD neu aufbauen sfc /scannow # Systemdateien prüfen und reparieren DISM /Online /Cleanup-Image /RestoreHealth # Komponentenspeicher reparieren (vor sfc) chkdsk C: /f # Dateisystem prüfen (beim nächsten Start)
SymptomPhaseErste Maßnahme
„No bootable device“ / sofort Firmware-Menü1Bootreihenfolge, Platte erkannt? ESP vorhanden?
„Boot Configuration Data fehlt“ (0xc000000f)2WinRE → bcdboot / bootrec /rebuildbcd
Bluescreen direkt beim Windows-Logo3–4abgesicherter Modus, zuletzt installierte Treiber/Updates entfernen
„Vorbereitung …“ hängt, schwarzer Bildschirm5Dienste prüfen (msconfig → Systemstart ohne Fremddienste)
Temporäres Profil, langsame Anmeldung6GPO (gpresult /h), Profil-Registry (ProfileList), Netzlaufwerke
Schnellstart beachten: „Herunterfahren“ ist bei aktivem Schnellstart nur ein halber Ruhezustand – der Kernel startet beim nächsten Einschalten nicht neu. Nach Treiber- oder Update-Problemen deshalb immer „Neu starten“ wählen. Ereignis-IDs zum Start: 12 (Start), 13 (Herunterfahren), 41 Kernel-Power (unerwarteter Neustart), 6008 (unerwartetes Herunterfahren). Mehr zu MBR, GPT und ESP im Kapitel Grundlagen.
Windows

Die Windows-Registry

Die zentrale Konfigurationsdatenbank

Die Registry (Registrierungsdatenbank) speichert fast alle Einstellungen von Windows, Treibern, Diensten und Programmen – vom Hintergrundbild bis zum Starttyp eines Dienstes. Gruppenrichtlinien, die Systemsteuerung und viele Installationsprogramme schreiben am Ende in die Registry.

Regedit-Baum von HKEY_LOCAL_MACHINE bis zum Schlüssel Run und die enthaltenen Werte mit Name, Typ und Daten
Abb. – Schlüssel, Unterschlüssel und Werte
  • Schlüssel (Key) – entspricht einem Ordner. Er kann Unterschlüssel und Werte enthalten.
  • Wert (Value) – entspricht einer Datei und besteht aus Name, Typ und Daten.
  • Hive – ein zusammenhängender Teilbaum, der in einer eigenen Datei auf der Platte liegt.

Die fünf Stammschlüssel

Die fünf Stammschlüssel HKLM, HKU, HKCU, HKCR und HKCC mit Speicherort bzw. Verknüpfungsziel
Abb. – Nur HKLM und HKU sind echte Speicherorte, die anderen sind Verknüpfungen
KürzelInhaltTypische Beispiele
HKLMComputerweite Einstellungen – gelten für alle BenutzerDienste, Treiber, installierte Software, Computer-GPOs
HKCUEinstellungen des gerade angemeldeten BenutzersDesktop, Netzlaufwerke, Outlook-Profil, Benutzer-GPOs
HKUAlle geladenen Benutzerprofile, je SID ein UnterschlüsselS-1-5-18 (SYSTEM), .DEFAULT, S-1-5-21-…
HKCRDateitypen, Dateizuordnungen, COM-Objekte.pdf → welches Programm öffnet die Datei?
HKCCAktuelles Hardwareprofilheute kaum noch relevant

Wo liegen die Dateien?

Registry-PfadDatei
HKLM\SAMC:\Windows\System32\config\SAM – lokale Benutzer und Kennwort-Hashes
HKLM\SECURITY…\config\SECURITY – lokale Sicherheitsrichtlinien
HKLM\SOFTWARE…\config\SOFTWARE – installierte Programme, Windows-Einstellungen
HKLM\SYSTEM…\config\SYSTEM – Dienste, Treiber, Startkonfiguration
HKU\.DEFAULT…\config\DEFAULT
HKCU (HKU\<SID>)C:\Users\<Name>\NTUSER.DAT und …\AppData\Local\Microsoft\Windows\UsrClass.dat
HKLM\HARDWAREkeine Datei – wird bei jedem Start neu erkannt

Datentypen

TypInhaltBeispiel
REG_SZTextC:\Tools\agent.exe
REG_EXPAND_SZText mit Umgebungsvariablen, die beim Lesen aufgelöst werden%SystemRoot%\system32
REG_MULTI_SZListe von Textenmehrere DNS-Suffixe
REG_DWORD32-Bit-Zahl – oft als Schalter 0/1fDenyTSConnections = 0
REG_QWORD64-Bit-ZahlZeitstempel
REG_BINARYBinärdatenHardware-Informationen

Wichtige Pfade für Admins

PfadWofür?
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Autostart bei jeder Anmeldung (auch RunOnce) – beliebter Ort für Malware
HKLM\SYSTEM\CurrentControlSet\Servicesalle Dienste und Treiber mit Starttyp und Pfad
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallinstallierte Programme (32-Bit-Programme unter WOW6432Node)
HKLM\SOFTWARE\Policies / HKCU\Software\Policieshier schreiben die Gruppenrichtlinien hin
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListSID → Profilpfad; Reparatur bei „temporärem Profil“ (.bak-Schlüssel)
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonShell und Userinit – bei Malware-Verdacht prüfen

Werkzeuge

# Kommandozeile: reg.exe reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" reg add "HKLM\SOFTWARE\Firma\Agent" /v Server /t REG_SZ /d "srv01.corp.example.com" /f reg export "HKLM\SOFTWARE\Firma" C:\Backup\firma.reg # vor jeder Änderung sichern! reg import C:\Backup\firma.reg reg load HKLM\Offline C:\Users\max\NTUSER.DAT # Hive eines anderen Benutzers bearbeiten reg unload HKLM\Offline # PowerShell: HKLM: und HKCU: sind wie Laufwerke Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Spooler" -Name Start Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name ScreenSaveTimeOut -Value 600 New-ItemProperty -Path "HKLM:\SOFTWARE\Firma\Agent" -Name Port -Value 8443 -PropertyType DWord Remove-ItemProperty -Path "HKLM:\SOFTWARE\Firma\Agent" -Name Port
  • regedit – grafischer Editor. Über Datei → Netzwerkregistrierung verbinden lässt sich ein anderer PC bearbeiten (Dienst „Remoteregistrierung“ muss laufen). Datei → Struktur laden öffnet Hive-Dateien, z. B. aus WinRE.
  • Schlüssel haben wie NTFS-Ordner eigene Berechtigungen (Rechtsklick → Berechtigungen).
  • Registry-Einstellungen im Unternehmen nicht per Hand verteilen, sondern per Gruppenrichtlinie (Administrative Vorlagen oder Einstellungen → Registrierung).
Vorsicht: Änderungen in regedit werden sofort und ohne Rückfrage gespeichert – es gibt kein „Rückgängig“. Vorher den Schlüssel exportieren oder einen Wiederherstellungspunkt anlegen. Ein falscher Wert unter HKLM\SYSTEM kann Windows unstartbar machen; dann hilft WinRE mit reg load oder die Systemwiederherstellung.
Windows

Active Directory installieren (DC-Setup)

Vorbereitung – ohne sie scheitert die Heraufstufung

Ein Domänencontroller (DC) ist das Fundament der gesamten Domäne. Bevor die Rolle AD DS (Active Directory Domain Services) installiert wird, müssen einige Grundlagen zwingend stimmen – sonst bricht die Heraufstufung mit Fehlern ab oder die Domäne arbeitet später instabil.

VoraussetzungWarum?
Statische IP-AdresseEin DC darf seine IP nicht per DHCP wechseln – Clients und DNS müssen ihn dauerhaft unter derselben Adresse erreichen
Statischer DNS-EintragDer DNS-Server des Servers muss auf sich selbst (bzw. den künftigen DNS) zeigen, nicht auf einen Router/Provider-DNS
Eindeutiger HostnameDer Computername (z.B. DC01) muss vor der Heraufstufung gesetzt sein – nachträgliches Umbenennen eines DC ist heikel
Eigenes DomänensuffixInternen Namen mit Suffix .local oder .intern wählen – kein öffentliches Suffix wie .de/.com (verhindert Split-DNS-Konflikte mit echten Internet-Domänen)
Wichtig: Vergib einen Domänennamen mit eigenem, nicht öffentlich routbarem Suffix, z.B. firma.local oder firma.intern. Würde man die echte Internet-Domäne (firma.de) verwenden, kollidiert die interne Namensauflösung mit den öffentlichen DNS-Einträgen (Webseite, Mailserver) – ein klassischer Stolperstein.

Rolle vs. Feature

Bei der Servereinrichtung wird zwischen Rolle und Feature unterschieden: Eine Rolle ist die Primärfunktion eines Servers (z.B. AD DS, DNS, DHCP – „wofür der Server da ist"). Ein Feature ist eine Zusatzfunktion, die eine Rolle ergänzt oder allgemeine Funktionalität bereitstellt (z.B. .NET Framework, die Verwaltungstools RSAT, Failover-Clustering). Bei einem DC installiert man typischerweise die Rolle AD DS gemeinsam mit der Rolle DNS-Server.

Ablauf in der GUI (Server-Manager)

Auf einem Server mit Desktop Experience läuft das DC-Setup zweistufig: erst die Rolle installieren, dann den Server zum Domänencontroller heraufstufen.

  1. Server-Manager öffnen → „Verwalten" → Rollen und Features hinzufügen.
  2. Rollenbasierte oder featurebasierte Installation wählen → Zielserver auswählen.
  3. Rolle Active Directory-Domänendienste (AD DS) aktivieren → zugehörige Features bestätigen → Installieren.
  4. Nach der Installation erscheint im Server-Manager eine Warnung mit dem Link „Diesen Server zu einem Domänencontroller heraufstufen" → anklicken.
  5. Bereitstellungskonfiguration wählen:
    • Neue Gesamtstruktur hinzufügen – allererster DC, neuer Forest (Stammdomäne angeben)
    • Neue Domäne zu einer Gesamtstruktur hinzufügen – untergeordnete/separate Domäne im bestehenden Forest
    • Domänencontroller zu einer vorhandenen Domäne hinzufügen – zweiter/weiterer DC (Redundanz)
  6. DSRM-Kennwort festlegen (Verzeichnisdienst-Wiederherstellungsmodus) – getrennt vom Domänen-Admin-Kennwort, sicher verwahren.
  7. Funktionsebene von Gesamtstruktur und Domäne wählen. Bei Mischbetrieb mit älteren DCs immer die älteste noch vorhandene Ebene wählen.
  8. DNS-/GC-Optionen: „DNS-Server" und „Globaler Katalog (GC)" sind beim ersten DC sinnvoll aktiviert.
  9. NetBIOS-Name bestätigen (z.B. FIRMA) – die Kurzform der Domäne.
  10. Pfade für Datenbank (NTDS), Protokolldateien und SYSVOL bestätigen oder anpassen.
  11. Voraussetzungsprüfung abwarten → Installieren → der Server startet automatisch neu und ist danach DC.

Per PowerShell (auch für Server Core)

Schneller und reproduzierbar geht das DC-Setup über PowerShell – identisch auf GUI- und Core-Servern.

# 1) AD-DS-Rolle samt Verwaltungstools installieren Install-WindowsFeature AD-Domain-Services -IncludeManagementTools # 2) Server zum ERSTEN DC einer NEUEN Gesamtstruktur heraufstufen (inkl. DNS) Install-ADDSForest -DomainName "firma.local" -DomainNetbiosName "FIRMA" -InstallDns # (Beim Ausführen wird interaktiv das DSRM-Kennwort abgefragt; danach Neustart) # 3) Auf einem Client/Member-Server: der Domäne beitreten und neu starten Add-Computer -DomainName "firma.local" -Credential "firma.local\administrator" -Restart
Tipp: Soll der Server kein neuer Forest, sondern ein zusätzlicher DC einer bestehenden Domäne werden, verwendet man statt Install-ADDSForest das Cmdlet Install-ADDSDomainController -DomainName "firma.local" -InstallDns. Für eine untergeordnete Domäne dient Install-ADDSDomain.

Server Core: Grundkonfiguration mit sconfig

Auf Server Core (ohne GUI) erledigt man die Vorbereitung bequem über das textbasierte Menü sconfig, bevor man per PowerShell heraufstuft:

  • Computername setzen (z.B. DC01) – Menüpunkt „Computername".
  • Netzwerk konfigurieren – statische IP, Subnetzmaske, Gateway und DNS-Server eintragen.
  • Domänenbeitritt (bei Member-Servern) oder direkt die AD-DS-Installation per PowerShell anstoßen.

Wichtige Begriffe

BegriffBedeutung
DSRMDirectory Services Restore Mode – Wiederherstellungsmodus zum Reparieren der AD-Datenbank; eigenes Kennwort, das bei der Heraufstufung gesetzt wird
RODCRead-Only Domain Controller – schreibgeschützter DC, z.B. für unsichere Zweigstellen-Standorte
GCGlobaler Katalog – durchsuchbarer Teilindex aller Objekte der Gesamtstruktur
SYSVOLFreigegebener Ordner für Anmeldeskripte und Gruppenrichtlinien, wird zwischen allen DCs repliziert
NTDSDie eigentliche AD-Datenbankdatei (ntds.dit) – das Herzstück des Verzeichnisses
Querverweis: Wie ein DC intern arbeitet – die fünf FSMO-Rollen, der Globale Katalog und die Replikation – ist im Active-Directory-Kapitel ausführlich beschrieben: siehe AD – Active Directory.
Windows

Dateiserver & Freigaben (NTFS vs. Freigaberechte)

Was ist eine Freigabe?

Eine Freigabe (Share) ist eine vom Server über das Netzwerk bereitgestellte Ressource – meist ein Ordner, auf den Clients per UNC-Pfad \\Server\Freigabe zugreifen. Der entscheidende und oft missverstandene Punkt: Der Zugriff wird durch zwei voneinander unabhängige Berechtigungsebenen gesteuert.

EbeneGilt fürGranularität
Freigaberechte (Share Permissions)Nur den Netzwerkzugriff über die FreigabeGrob: Vollzugriff / Ändern / Lesen
NTFS-Rechte (NTFS Permissions)Den Zugriff lokal UND über das NetzwerkGranular: Lesen, Schreiben, Ändern, Ausführen, Besitz übernehmen …

NTFS-Rechte stehen nur auf NTFS-formatierten Volumes zur Verfügung (nicht z.B. auf altem FAT32). Sie greifen auch dann, wenn ein Benutzer lokal am Server arbeitet – Freigaberechte hingegen wirken ausschließlich beim Zugriff übers Netz.

Merksatz: Treffen Freigabe- und NTFS-Rechte zusammen, gilt immer das restriktivere Recht. Das effektive Recht ist die Schnittmenge beider Ebenen.
Beispiel: Freigabe = Lesen + NTFS = Ändern → effektiv darf der Benutzer nur Lesen.

Best Practice: Steuerung über NTFS

Zwei Berechtigungsebenen parallel zu pflegen wird schnell unübersichtlich. Die bewährte Strategie lautet daher: die Freigaberechte großzügig halten und die eigentliche Feinsteuerung ausschließlich über NTFS vornehmen.

  • Auf Freigabeebene den authentifizierten Benutzern Vollzugriff geben.
  • Die Gruppe „Jeder" (Everyone) entfernen – sie schließt auch nicht authentifizierte Zugriffe ein.
  • Wer was tatsächlich darf, wird allein über NTFS-Berechtigungen geregelt.

Rolle & Freigabe-Assistent

Die Rolle Dateiserver (FS-FileServer) liegt unter den Datei- und Speicherdiensten. Über den Freigabe-Assistenten im Server-Manager (oder direkt im Datei-Explorer) wird ein Ordner freigegeben. Beim Profil SMB-Freigabe – Schnell gilt: SMB ist das Windows-Freigabeprotokoll, NFS das Pendant aus der Unix-/Linux-Welt.

OptionBedeutung
FreigabenameBestimmt den UNC-Pfad – Freigabe „Daten" wird zu \\Server\Daten
Zugriffsbasierte Aufzählung (ABE)Benutzer sehen nur Ordner/Dateien, auf die sie auch Zugriff haben
Verschlüsselung (SMB3)Verschlüsselt die Übertragung der Freigabedaten im Netzwerk
Versteckte Freigabe: Hängt man ein $ an den Freigabenamen (z.B. Profile$), wird die Freigabe beim Durchsuchen des Netzwerks nicht angezeigt, ist aber per direktem UNC-Pfad \\Server\Profile$ weiterhin erreichbar. Das ist reiner Sichtschutz, kein Sicherheitsmechanismus – wer den Namen kennt, kommt (mit passenden Rechten) heran.

Freigaben & Rechte per PowerShell / CLI

# Dateiserver-Rolle installieren Install-WindowsFeature FS-FileServer # Eine SMB-Freigabe anlegen – Freigaberecht großzügig (Authentifizierte Benutzer = Vollzugriff) New-SmbShare -Name "Daten" -Path "C:\Freigaben\Daten" -FullAccess "firma\Authentifizierte Benutzer" # Versteckte Freigabe (Sichtschutz per $) New-SmbShare -Name "Profile$" -Path "C:\Freigaben\Profile" # NTFS: Vererbung entfernen (saubere Rechtebasis schaffen) icacls "C:\Freigaben\Daten" /inheritance:r # NTFS: Feinsteuerung – Domänen-lokale Gruppe erhält Ändern, vererbt auf Ordner & Dateien # (OI) = Object Inherit (Dateien), (CI) = Container Inherit (Unterordner), M = Modify/Ändern icacls "C:\Freigaben\Daten" /grant "firma\DL_Daten_AE:(OI)(CI)M"

Home- & Profilfreigaben (zentrale Nutzerdaten)

Ein klassischer Einsatz des Dateiservers ist die zentrale Speicherung der Nutzerdaten: Jeder Benutzer erhält ein persönliches Homelaufwerk (z.B. Laufwerk H:) für seine Dateien und – bei servergespeicherten Profilen – einen Profilordner. Beide werden am Dateiserver in je einer Sammelfreigabe abgelegt (Home$, Profile$) und pro Benutzer als Unterordner angelegt.

FreigabeInhaltZuweisung im AD-Benutzerkonto
Home$ (z.B. \\File01\Home$)Persönliche Arbeitsdateien des NutzersReiter Profil → Basisordner: Laufwerk H: verbinden mit \\File01\Home$\%username%
Profile$ (z.B. \\File01\Profile$)Servergespeichertes Benutzerprofil (Desktop, Einstellungen)Reiter Profil → Profilpfad: \\File01\Profile$\%username%

Die Variable %username% sorgt dafür, dass Windows beim ersten Zugriff automatisch den passenden Unterordner anlegt – man muss nicht jeden Ordner manuell vorbereiten.

Versteckt anlegen: Home- und Profilfreigaben werden immer als versteckte Freigaben (Suffix $) erstellt. Das erschwert das Stöbern und verbirgt die Nutzernamen. Achtung: Das ist reiner Sichtschutz – wer den UNC-Pfad \\File01\c$\Freigaben kennt, sieht die Ordner trotzdem. Der echte Schutz kommt aus den NTFS-Rechten.

NTFS-Rechte bei Home- und Profilordnern

Die Sammelordner sind sicherheitskritisch: Kein Benutzer darf in das Home-/Profilverzeichnis eines anderen Benutzers schauen. Die Rechte werden daher bewusst eng gesetzt – mit einem wichtigen Unterschied zwischen den beiden Freigaben.

OrdnerAdministratorAuthentifizierte Benutzer (auf dem Sammelordner)
HomeordnerVollzugriffKeine vererbten Rechte – jeder Nutzer wird erst auf seinem Unterordner berechtigt (Vererbung am Sammelordner deaktivieren)
ProfilordnerVollzugriffNur Lesen & Schreiben – Windows legt das Profil beim ersten Login selbst an und vergibt dem Nutzer dann allein Rechte auf sein Profil
Hinweis: Beim Homeordner deaktiviert man die Vererbung am Sammelordner, damit nicht jeder authentifizierte Benutzer in alle Home-Verzeichnisse schauen kann. Beim Profilordner brauchen die authentifizierten Benutzer hingegen Schreibrecht auf dem Sammelordner, weil das Profil bei der Erstanmeldung automatisch erzeugt wird.
Querverweis: Als Träger der NTFS-Rechte werden nach dem Prinzip AGDLP domänen-lokale Gruppen verwendet (Accounts → Global → Domain Local → Permission). Dieses Gruppen-Verschachtelungsmodell ist im Abschnitt Berechtigungen (AGDLP) sowie im Active-Directory-Kapitel beschrieben: siehe AD – Active Directory.
Windows

DHCP-Server-Rolle (Windows)

Die Besonderheit: Autorisierung im AD

Die DHCP-Rolle verteilt automatisch IP-Adressen, Subnetzmaske, Gateway und DNS an Clients. Bei einem Windows-DHCP-Server in einer AD-Domäne gibt es jedoch eine entscheidende Hürde: Der Server muss erst im Active Directory autorisiert werden – andernfalls vergibt er keine Leases.

Warum? Die Autorisierungspflicht ist ein Schutz vor Rogue-DHCP-Servern – also unautorisierten (versehentlich oder bösartig aufgesetzten) DHCP-Servern, die das Netz mit falschen IP-Konfigurationen lahmlegen könnten. Nur Server, die ein Domänen-Admin im AD freigeschaltet hat, dürfen Leases verteilen. Hinweis: Diese Sperre greift nur bei Windows-DHCP – DHCP-Dienste auf Linux oder Cisco-Routern ignorieren die AD-Autorisierung und vergeben sofort Adressen.

In der DHCP-Konsole signalisiert ein roter Pfeil nach unten einen nicht autorisierten Server, ein grüner Haken einen aktiven, autorisierten Dienst.

Ablauf der Einrichtung

  1. Rolle DHCP-Server über den Server-Manager (oder PowerShell) installieren.
  2. Im Server-Manager den Hinweis „DHCP-Konfiguration abschließen" ausführen – dabei werden die DHCP-Sicherheitsgruppen erstellt und der Server im AD autorisiert.
  3. Einen Bereich (Scope) anlegen: Start- und End-IP, Subnetzmaske, eventuelle Ausschlüsse (z.B. für Server mit fester IP) sowie die Bereichsoptionen (Router/Gateway, DNS-Server, DNS-Domäne).

Einrichtung per PowerShell

# 1) DHCP-Rolle inkl. Verwaltungstools installieren Install-WindowsFeature DHCP -IncludeManagementTools # 2) Einen IPv4-Bereich (Scope) anlegen und aktivieren Add-DhcpServerv4Scope -Name "Client" -StartRange 10.0.0.10 -EndRange 10.0.0.250 ` -SubnetMask 255.255.255.0 -State Active # 3) Bereichsoptionen setzen: Gateway, DNS-Server und DNS-Domäne Set-DhcpServerv4OptionValue -Router 10.0.0.254 -DnsServer 10.0.0.1 -DnsDomain firma.local # 4) DHCP-Server im Active Directory AUTORISIEREN (sonst keine Lease-Vergabe!) Add-DhcpServerInDC -DnsName "srv01.firma.local" -IPAddress 10.0.0.4
Tipp: Mit Get-DhcpServerInDC lassen sich alle im AD autorisierten DHCP-Server auflisten – praktisch, um einen verdächtigen Rogue-Server aufzuspüren oder zu prüfen, ob die Autorisierung erfolgreich war.

DHCP über Subnetzgrenzen: der Relay-Agent

DHCP arbeitet mit Broadcasts – und Broadcasts werden von Routern nicht weitergeleitet. Ein DHCP-Server im Subnetz A erreicht damit zunächst keine Clients im Subnetz B. Die Lösung ist ein DHCP-Relay-Agent: Er nimmt die DHCP-Anfrage im lokalen Subnetz entgegen und leitet sie gezielt (als Unicast) an den DHCP-Server im anderen Subnetz weiter. So genügt ein zentraler DHCP-Server für viele Netze.

Unter Windows wird der Relay-Agent über die Rolle Remotezugriff (Routing- und RAS-Dienst) bereitgestellt und je Schnittstelle mit der Ziel-IP des DHCP-Servers konfiguriert. Auf vorhandenen Routern/Layer-3-Switches übernimmt diese Aufgabe häufig die Funktion IP-Helper (Cisco: ip helper-address).

Hinweis: Damit ein Relay-Agent das richtige Subnetz bedient, muss auf dem DHCP-Server ein Bereich (Scope) existieren, der zum Quell-Subnetz der weitergeleiteten Anfrage passt – andernfalls findet der Server keine passende Lease und antwortet nicht.
Windows

Berechtigungsverwaltung (AGDLP & AGGP)

Das Problem: Rechte nicht direkt an Benutzer vergeben

Sobald mehrere Nutzer gemeinsam an zentral gespeicherten Daten arbeiten, stellt sich die Frage, wie man den Zugriff sauber steuert. Der naheliegende, aber falsche Weg ist, jedem Benutzer einzeln Rechte auf jeden Ordner zu geben. Das wird bei wachsender Nutzerzahl schnell unübersichtlich und fehleranfällig – niemand weiß mehr, wer worauf zugreifen darf.

Die bewährte Methode lautet daher: Rechte werden niemals an einzelne Benutzer, sondern ausschließlich an Gruppen vergeben. Benutzer werden Mitglied einer Gruppe – ändert sich die Aufgabe, ändert man nur die Gruppenmitgliedschaft, nicht Dutzende einzelner Rechte-Einträge.

Gruppentypen & Gruppenbereiche

Active Directory unterscheidet bei Gruppen zwei Eigenschaften, die oft verwechselt werden: den Gruppentyp (wofür?) und den Gruppenbereich (wie weit reicht sie?).

GruppentypZweck
SicherheitsgruppeTrägt Berechtigungen auf Ressourcen (Ordner, Drucker …) – der für die Rechtevergabe relevante Typ
VerteilergruppeNur für die Adressierung mehrerer Empfänger, z.B. E-Mail-Verteiler – kann keine Rechte tragen
GruppenbereichMitglieder aus …Berechtigung gilt in …
Global (G)nur eigene Domänegesamter Gesamtstruktur
Domänenlokal (DL)gesamter Gesamtstrukturnur eigene Domäne
Universal (U)gesamter Gesamtstrukturgesamter Gesamtstruktur

Globale Gruppen dienen dazu, Benutzer zu organisieren (z.B. nach Abteilung), domänenlokale Gruppen dazu, Rechte auf Ressourcen zu tragen. Genau aus diesem Zusammenspiel entsteht die AGDLP-Strategie.

AGDLP – die Standard-Verschachtelung

Die Strategie AGDLP beschreibt eine Verschachtelungskette und wird Buchstabe für Buchstabe gelesen:

KürzelElementBedeutung
AAccountDas Benutzerkonto …
GGlobal Group… wird Mitglied einer globalen Gruppe (z.B. G_Stab) …
DLDomain Local Group… die wiederum Mitglied einer domänenlokalen Gruppe (z.B. DL_Befehle_AE) ist …
PPermission… und nur diese domänenlokale Gruppe trägt die NTFS-Berechtigung auf den Freigabeordner.

Konkret: Das Benutzerkonto kommt in die globale Gruppe, die globale Gruppe wird in die domänenlokale Gruppe geschachtelt, und die domänenlokale Gruppe erhält das NTFS-Recht. So bleibt die Rechtevergabe an einem Ordner stabil – Personalwechsel werden allein über die globale Gruppe abgebildet.

Namenskonvention: Bewährt hat sich, den Namen der domänenlokalen Gruppe um das Recht zu ergänzen, z.B. DL_Befehle_L (Lesen), DL_Befehle_AE (Ändern) und DL_Befehle_VZ (Vollzugriff). So ist am Gruppennamen sofort erkennbar, welches Recht sie auf welchen Ordner trägt.

AGGP – die Variante mit zwei globalen Gruppen

In Umgebungen mit mehreren Domänen oder Standorten findet man neben AGDLP die Variante AGGP: Hier wird eine globale Gruppe Mitglied einer zweiten globalen Gruppe, die dann die Berechtigung trägt (Account → Global → Global → Permission). AGDLP über domänenlokale Gruppen bleibt aber die Standardempfehlung, weil domänenlokale Gruppen Mitglieder aus der gesamten Gesamtstruktur aufnehmen können.

StrategieKetteTräger der Rechte
AGDLPAccount → Global → Domain Local → PermissionDomänenlokale Gruppe (Standard)
AGGPAccount → Global → Global → PermissionZweite globale Gruppe

Umsetzung per PowerShell

Die Verschachtelung lässt sich mit den AD-Cmdlets (RSAT) reproduzierbar anlegen.

# Globale Gruppe (Benutzer organisieren) und domänenlokale Gruppe (Rechte tragen) anlegen New-ADGroup -Name "G_Stab" -GroupScope Global -GroupCategory Security New-ADGroup -Name "DL_Befehle_AE" -GroupScope DomainLocal -GroupCategory Security # A → G: Benutzer in die globale Gruppe aufnehmen Add-ADGroupMember -Identity "G_Stab" -Members "m.mueller", "a.schmidt" # G → DL: globale Gruppe in die domänenlokale Gruppe schachteln Add-ADGroupMember -Identity "DL_Befehle_AE" -Members "G_Stab" # DL → P: nur die domänenlokale Gruppe erhält das NTFS-Recht "Ändern" auf den Ordner icacls "C:\Freigaben\Befehle" /grant "firma\DL_Befehle_AE:(OI)(CI)M"

Effektive Berechtigungen prüfen

Weil ein Benutzer über mehrere Gruppen unterschiedliche Rechte erben kann, gilt: Die effektive Berechtigung ist die Summe aller erlaubten Rechte – aber ein explizites Verweigern (Deny) übersteuert jedes Zulassen. Treffen zudem Freigabe- und NTFS-Rechte zusammen, gilt das restriktivere von beiden.

Im Eigenschaften-Dialog eines Ordners zeigt der Reiter Sicherheit → Erweitert → Effektiver Zugriff, welche Rechte ein bestimmter Benutzer nach Auflösung aller Gruppen tatsächlich hat – das wichtigste Werkzeug zur Fehlersuche bei Zugriffsproblemen.

Querverweis: Die Theorie hinter den Gruppenbereichen, der Replikation des Globalen Katalogs und der Domänenstruktur ist ausführlich im Active-Directory-Kapitel beschrieben: siehe AD – Active Directory. Die praktische Anwendung an Freigaben steht im Abschnitt Dateiserver & Freigaben.
Windows

MMC – Microsoft Management Console

Was ist die MMC?

Die Microsoft Management Console (MMC) ist ein anpassbarer Rahmen für Windows-Verwaltungswerkzeuge. Sie führt selbst keine Verwaltungsaufgabe aus, sondern nimmt einzelne Verwaltungsmodule – sogenannte Snap-Ins – auf. Eine gespeicherte MMC-Konsole hat die Dateiendung .msc. Fast alle bekannten Windows-Tools (Geräte-Manager, Dienste, Datenträgerverwaltung …) sind in Wahrheit vorgefertigte MMC-Konsolen.

Der praktische Nutzen: Man baut sich eine schlanke Konsole mit genau den Snap-Ins, die für eine bestimmte Aufgabe nötig sind – etwa eine Helpdesk-Konsole, die nur AD-Benutzer und die Ereignisanzeige enthält, ohne den Mitarbeitern weitergehende Werkzeuge zu zeigen.

Eine eigene Konsole erstellen

  1. mmc ausführen (Win+R) – es öffnet sich eine leere Konsole.
  2. Menü Datei → Snap-In hinzufügen/entfernen.
  3. Die gewünschten Snap-Ins aus der Liste auswählen und hinzufügen.
  4. Über Datei → Speichern als .msc ablegen.

Beim Speichern lässt sich einer von vier Konsolenmodi wählen: der Autorenmodus erlaubt die volle Anpassung (Snap-Ins hinzufügen/entfernen), die drei Benutzermodi schränken die Bearbeitung zunehmend ein – ideal, um eine fertige Konsole an Anwender weiterzugeben, ohne dass diese sie verändern können.

Wichtige .msc-Konsolen

BefehlSnap-In / Konsole
dsa.mscActive Directory-Benutzer und -Computer
dssite.mscActive Directory-Standorte und -Dienste
gpmc.mscGruppenrichtlinienverwaltung (GPO)
gpedit.mscEditor für lokale Gruppenrichtlinien
compmgmt.mscComputerverwaltung (Sammelkonsole)
diskmgmt.mscDatenträgerverwaltung
services.mscDienste
dnsmgmt.mscDNS-Manager
eventvwr.mscEreignisanzeige
devmgmt.mscGeräte-Manager
lusrmgr.mscLokale Benutzer und Gruppen
wf.mscWindows Defender Firewall mit erweiterter Sicherheit
certsrv.mscZertifizierungsstelle (AD CS)
Schema-Snap-In: Das Snap-In Active Directory-Schema ist standardmäßig nicht in der Auswahlliste. Es muss zuerst mit regsvr32 schmmgmt.dll registriert werden – danach erscheint es unter „Snap-In hinzufügen/entfernen" und lässt sich einbinden.
RSAT (Remoteserver-Verwaltungstools): Mit RSAT installiert man die MMC-Snap-Ins (z.B. AD-Benutzer, DNS, DHCP) auf einer Admin-Workstation. So verwaltet man auch Core-Server und Dienste grafisch von einem zentralen PC aus – ohne sich per RDP auf jeden einzelnen Server schalten zu müssen. Mehr dazu im Abschnitt Verwaltungstools.
Windows

Verwaltungstools (RSAT & ntdsutil)

RSAT – Server zentral von der Workstation verwalten

Die RSAT (Remote Server Administration Tools / Remoteserver-Verwaltungstools) sind ein Paket, mit dem man die Verwaltungswerkzeuge eines Servers auf einem Verwaltungs-PC installiert – ohne dass dort die jeweilige Rolle läuft. So administriert man AD, DNS, DHCP & Co. grafisch von einem zentralen Client aus und muss sich nicht per RDP auf jeden Server schalten. Besonders für Server Core (ohne GUI) ist RSAT der Standardweg zur grafischen Verwaltung.

Seit Windows 10 (1809) sind die RSAT keine separate Download-Datei mehr, sondern Features on Demand, die per PowerShell nachinstalliert werden.

# Verfügbare RSAT-Komponenten anzeigen Get-WindowsCapability -Online -Name "Rsat*" # Alle RSAT-Tools installieren (Auswahl gezielt über den Namen möglich) Get-WindowsCapability -Online -Name "Rsat*" | Where-Object State -eq 'NotPresent' | Add-WindowsCapability -Online # Auf einem Windows Server: über das Feature "RSAT" im Server-Manager bzw. Install-WindowsFeature -Name RSAT-AD-Tools, RSAT-DNS-Server, RSAT-DHCP

AD per PowerShell abfragen (RSAT-Modul ActiveDirectory)

Mit den RSAT kommt auch das PowerShell-Modul ActiveDirectory. Es ersetzt für viele Aufgaben die grafische Konsole und liefert die gleichen Informationen reproduzierbar als Objekte.

# Eckdaten der Domäne bzw. Gesamtstruktur anzeigen Get-ADDomain # Domänenname, NetBIOS-Name, FSMO-Rollen (PDC, RID, Infrastruktur) Get-ADForest # Forest-Funktionsebene, Domänen, GC- und Schema-Master # Benutzer und Gruppen abfragen Get-ADUser -Filter * -SearchBase "OU=Stab,DC=firma,DC=local" | Select-Object Name, Enabled Get-ADGroupMember -Identity "DL_Befehle_AE"

ntdsutil – die AD-Datenbank pflegen

ntdsutil (NT Directory Services Utility) ist ein interaktives Kommandozeilentool, mit dem ein Administrator die AD-Datenbank (ntds.dit) auf Domänencontroller-Ebene wartet. Es wird über Kontexte bedient: Man wechselt mit einem Befehl in einen Unterbereich, arbeitet dort und kehrt mit quit zurück. Typische Aufgaben:

AufgabeBedeutung
FSMO-Rollen verschiebenEine Betriebsmasterrolle (z.B. PDC-Emulator) sauber auf einen anderen DC übertragen (transfer) oder bei Ausfall hart entreißen (seize)
Metadaten-BereinigungReste eines ausgefallenen, nicht sauber entfernten DC aus dem AD entfernen (Metadata Cleanup)
Verwaltung der BetriebsmasterAktuelle Rolleninhaber anzeigen und prüfen
DSRM-Kennwort zurücksetzenDas Kennwort für den Verzeichniswiederherstellungsmodus neu setzen
:: ntdsutil interaktiv starten (als Domänen-Admin) ntdsutil :: ? zeigt in jedem Kontext die verfügbaren Befehle und die nächste Ebene :: Beispiel: FSMO-Rollen verwalten roles :: in den Kontext "fsmo maintenance" wechseln connections :: Verbindung zu einem Ziel-DC herstellen connect to server DC02 :: mit dem künftigen Rolleninhaber verbinden quit transfer infrastructure master :: Rolle sauber übertragen (bevorzugt) :: seize infrastructure master :: nur bei endgültigem DC-Ausfall (entreißen) quit quit
Wichtig: Transfer ist der Normalfall (beide DCs sind online). Seize (entreißen) nur einsetzen, wenn der bisherige Rolleninhaber endgültig nicht mehr ins Netz zurückkehrt – ein entrissener DC darf danach nicht wieder unverändert online gehen, sonst drohen Konflikte mit doppelten FSMO-Rollen.
Tipp: Die fünf FSMO-Rollen (Schema-Master, Domänennamen-Master, RID-Master, PDC-Emulator, Infrastruktur-Master) und ihre Funktion sind im Active-Directory-Kapitel beschrieben: siehe AD – Active Directory. ntdsutil ist das Werkzeug, um sie im Notfall umzulagern.
Windows

Task-Manager & Ressourcen

Der Task-Manager

Der Task-Manager (taskmgr.exe, Aufruf via Strg+Shift+Esc) ist das Schnell-Diagnosewerkzeug für laufende Programme und die Systemauslastung. Er gliedert sich in mehrere Registerkarten mit jeweils eigenem Fokus.

RegisterkarteInhalt / Nutzen
ProzesseApps & Hintergrundprozesse mit CPU-, RAM-, Datenträger- und Netzlast
LeistungLive-Graphen für CPU, Arbeitsspeicher, Datenträger, Ethernet, GPU
App-VerlaufRessourcenverbrauch über die Zeit (v.a. Store-Apps)
Autostart-AppsBeim Anmelden gestartete Programme aktivieren/deaktivieren
BenutzerAngemeldete Benutzer und deren Ressourcenverbrauch
DetailsDetailansicht aller Prozesse mit PID, Priorität, Benutzer
DiensteWindows-Dienste mit Status und PID

Prozesse über die Kommandozeile

Per CMD und PowerShell lassen sich Prozesse auch ohne GUI auflisten und beenden – wichtig für Skripte und Server Core.

:: ====== CMD ====== tasklist :: Alle laufenden Prozesse mit PID tasklist /fi "imagename eq chrome.exe" :: Nur Chrome-Prozesse taskkill /im notepad.exe /f :: Prozess per Name beenden (/f = erzwingen) taskkill /pid 4711 /f :: Prozess per PID beenden # ====== POWERSHELL ====== Get-Process # Alle Prozesse Get-Process chrome | Select-Object Name, Id, CPU, WS Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 # Top-CPU Stop-Process -Name notepad -Force # Prozess beenden Stop-Process -Id 4711 -Force

Dienste verwalten

# PowerShell – Dienste anzeigen und steuern Get-Service -Name Spooler # Status eines Diensts Get-Service | Where-Object Status -eq 'Stopped' Restart-Service -Name Spooler Set-Service -Name Spooler -StartupType Automatic # Starttyp ändern :: Klassisch per CMD (sc.exe) sc query Spooler :: Status abfragen sc stop Spooler :: Dienst stoppen sc config Spooler start= auto :: Starttyp setzen (Leerzeichen nach = beachten!)
Tipp: Autostart-Einträge lassen sich auch zentral in msconfig bzw. dem Task-Manager-Tab „Autostart-Apps" pflegen. Für tiefergehende Analysen (auch geplante Aufgaben, Treiber, Dienste) ist das Microsoft-Sysinternals-Tool Autoruns der Goldstandard.

Ressourcenmonitor & Leistungsüberwachung

Für detailliertere Analysen als der Task-Manager bietet Windows zwei spezialisierte Werkzeuge:

  • Ressourcenmonitor (resmon.exe) – zeigt in Echtzeit, welcher Prozess welche Datei liest, welche Netzwerkverbindung offen ist und welcher Prozess den Datenträger blockiert. Ideal um „Wer frisst meine Festplatte?" zu klären.
  • Leistungsüberwachung (perfmon.exe) – sammelt über Leistungsindikatoren (Performance Counter) langfristige Messdaten. Über Sammlungssätze (Data Collector Sets) lassen sich Baselines und Langzeitprotokolle erstellen.
# Leistungsindikatoren live abfragen (PowerShell) Get-Counter '\Processor(_Total)\% Processor Time' # CPU-Auslastung Get-Counter '\Memory\Available MBytes' # Freier RAM in MB Get-Counter '\LogicalDisk(C:)\% Free Space' # Freier Plattenplatz C: # Mehrere Messwerte über 10 Sekunden, alle 2 Sekunden Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 2 -MaxSamples 5

Speicherwerte richtig lesen

Im Task-Manager-Tab „Leistung" verwirren die Speicherbegriffe oft. Diese Tabelle ordnet sie ein – wichtig, um echte Speicherengpässe von normalem Caching-Verhalten zu unterscheiden.

BegriffBedeutung
Im Einsatz (In Use)Aktiv von Prozessen belegter physischer RAM
Im Cache (Cached / Standby)Mit Dateidaten gefüllt, aber sofort wieder freigebbar – kein Engpass
Verfügbar (Available)Frei + Cache, also sofort für neue Prozesse nutzbar
Zugesichert (Committed)RAM + Auslagerungsdatei, die das System Prozessen garantiert hat
Ausgelagert (Paged Pool)Kernel-Speicher, der auf die Disk ausgelagert werden darf
Nicht ausgelagert (Non-Paged)Kernel-Speicher, der dauerhaft im RAM bleiben muss
Tipp: Ein hoher Wert „Im Cache" ist kein Problem – Windows nutzt freien RAM bewusst als Dateicache und gibt ihn bei Bedarf sofort frei. Kritisch wird es erst, wenn „Verfügbar" dauerhaft niedrig ist und die Zugesicherte Größe an das Limit (RAM + Pagefile) stößt. Dann hilft mehr RAM oder eine größere Auslagerungsdatei.

Praxis: Hängende Prozesse und Datei-Sperren finden

# Prozesse, die nicht mehr reagieren (Hauptfenster antwortet nicht) Get-Process | Where-Object { $_.MainWindowHandle -ne 0 -and -not $_.Responding } | Select-Object Name, Id, @{N='RAM_MB';E={[math]::Round($_.WS/1MB)}} # Prozesse mit hoher Handle-Anzahl (möglicher Handle-Leak) Get-Process | Sort-Object HandleCount -Descending | Select-Object Name, Id, HandleCount -First 10 # Welcher Prozess sperrt eine Datei? (Sysinternals handle.exe) handle.exe "C:\Temp\report.xlsx" :: zeigt PID + Prozessname des Sperrenden
Windows

Remote Desktop (RDP)

Was ist RDP?

Das Remote Desktop Protocol (RDP) ermöglicht den grafischen Fernzugriff auf einen Windows-Rechner über das Netzwerk. Der Server lauscht standardmäßig auf TCP-Port 3389, der Client ist mstsc.exe (Microsoft Terminal Services Client). RDP überträgt Tastatur, Maus und Bildschirminhalt verschlüsselt.

RDP aktivieren

# RDP per PowerShell aktivieren (Registry-Wert fDenyTSConnections = 0) Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' ` -Name "fDenyTSConnections" -Value 0 # Network Level Authentication (NLA) erzwingen Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' ` -Name "UserAuthentication" -Value 1 # Firewall-Regelgruppe "Remotedesktop" freischalten Enable-NetFirewallRule -DisplayGroup "Remotedesktop" :: Klassisch per CMD mstsc /v:srv01.firma.local :: Verbindung zu einem Host aufbauen mstsc /v:192.168.1.50:3390 :: Mit abweichendem Port verbinden
Tipp: Network Level Authentication (NLA) verlangt die Authentifizierung bevor eine Sitzung aufgebaut wird. Das verhindert, dass unauthentifizierte Angreifer überhaupt eine Session-Ressource binden, und reduziert die Angriffsfläche für Brute-Force erheblich. NLA sollte immer aktiv sein.
Ablauf einer RDP-Verbindung von Client zu Server über Port 3389 mit NLA-Authentifizierung vor dem Sitzungsaufbau
Abb. – RDP-Verbindungsablauf: TCP auf 3389, TLS-Handshake, NLA-Authentifizierung via CredSSP und erst danach der eigentliche Sitzungsaufbau

NLA setzt technisch auf den CredSSP-Provider (Credential Security Support Provider), der TLS und SPNEGO/Kerberos kombiniert. Die Anmeldedaten werden durch den bereits aufgebauten TLS-Kanal übertragen und vom Server gegen die lokale SAM bzw. – bei Domänenkonten – per Kerberos gegen den Domänencontroller validiert, ohne dass eine Sitzung gestartet wird. Genau das macht den Brute-Force-Schutz aus.

Sicherheits-Härtung (Stand 2026)

Ein direkt aus dem Internet erreichbarer Port 3389 wird von automatisierten Scannern innerhalb von Stunden gefunden und angegriffen. RDP gehört daher niemals ungeschützt ins Internet. Die folgende Checkliste fasst die aktuellen Best Practices zusammen:

MaßnahmeWirkung
Kein direktes Exposing von 3389Zugriff nur über VPN oder Zero-Trust-Gateway (ZTNA) statt offenem Port
NLA aktivierenAuthentifizierung vor Sitzungsaufbau – stoppt unauthentifizierte Brute-Force-Versuche
MFAMehr-Faktor-Authentifizierung als zusätzliche Hürde
IP-Whitelisting / FirewallRDP nur für definierte Quell-IPs/Subnetze erlauben
Hohe / FIPS-VerschlüsselungServer 2025 kann TLS mit High-/FIPS-Level erzwingen
Account-Lockout-PolicyKonten nach mehreren Fehlversuchen sperren
Port ändern (optional)Reduziert Scanner-Lärm – ersetzt aber KEINE der obigen Maßnahmen
Monitoring (Event 4625)Fehlgeschlagene Logons auswerten, Anomalien erkennen
Wichtig: Das bloße Ändern des Ports (Security by Obscurity) ist kein Schutz. Es muss immer mit NLA, Firewall-Regeln, starken Passwörtern und Monitoring kombiniert werden.

Diagnose

# Ist Port 3389 erreichbar? Test-NetConnection -ComputerName srv01 -Port 3389 # Aktive RDP-Sitzungen anzeigen quser # bzw. query user qwinsta # Sitzungsstatus (Session-ID, Status) # Eine hängende Sitzung trennen logoff <SessionID> # Erfolgreiche RDP-Anmeldungen prüfen (Logon-Typ 10 = RemoteInteractive) Get-WinEvent -FilterHashtable @{ LogName='Security'; Id=4624 } | Where-Object { $_.Message -match 'Anmeldetyp:\s+10' } | Select-Object -First 10

Sicherer Zugriff: RD Gateway statt offenem Port

Statt Port 3389 direkt ins Internet zu öffnen, kapselt das Remote Desktop Gateway (RD Gateway) die RDP-Verbindung in HTTPS (TLS, Port 443). Der Gateway-Server authentifiziert den Nutzer (idealerweise mit MFA), prüft Verbindungs- und Ressourcen-Richtlinien (CAP/RAP) und reicht den Datenstrom erst dann an die internen Hosts weiter – das interne RDP bleibt nach außen unsichtbar.

BegriffBedeutung
RD GatewayTunnelt RDP über HTTPS/443 – nur ein Port nach außen offen
CAP (Connection Authorization Policy)Wer darf sich überhaupt verbinden (Gruppen, MFA)
RAP (Resource Authorization Policy)Auf welche internen Hosts darf zugegriffen werden
AlternativeVPN oder ein Zero-Trust-Gateway (ZTNA) erfüllen denselben Zweck
# Maßgeschneiderte .rdp-Datei für den Gateway-Zugriff (Auszug) full address:s:srv01.intern.firma.local gatewayhostname:s:rdgw.firma.local gatewayusagemethod:i:1 prompt for credentials:i:1 :: Per CMD eine vorbereitete .rdp-Datei öffnen mstsc C:\rdp\srv01-ueber-gateway.rdp
Wichtig (Stand 2026): Halte CredSSP/NLA stets gepatcht – ältere ungepatchte Stände waren für die CredSSP-„Encryption-Oracle"-Schwachstelle (CVE-2018-0886) anfällig. Aktuelle Windows-Versionen erzwingen sichere CredSSP-Einstellungen standardmäßig; abweichende Group-Policy-Werte zur Abwärtskompatibilität sollten entfernt werden.
Windows

Windows Update / WSUS

Update-Mechanismen im Überblick

Windows kennt verschiedene Wege, Sicherheits- und Funktionsupdates zu verteilen – von „jeder Rechner zieht selbst aus dem Internet" bis zu zentral gesteuerten Unternehmenslösungen. Die Wahl hängt von Größe, Cloud-Anbindung und Compliance ab.

MechanismusEinsatzbereichStatus 2026
Windows Update (direkt)Einzelplatz / kleine Umgebungen, Updates direkt von MicrosoftAktiv
WSUSOn-Premises-Verteilung, lokaler Update-Cache, Genehmigung durch AdminDeprecated, aber unterstützt
Windows Update for BusinessPolicy-gesteuert (Ringe, Aufschub) ohne eigenen ServerEmpfohlen (Client)
Windows AutopatchCloud-Dienst, vollautomatisches Patch-ManagementEmpfohlen (Client)
Azure Update ManagerCloud-basiertes Update-Management für ServerEmpfohlen (Server)
Microsoft Intune / MECMUmfassendes Endpoint-Management mit Update-SteuerungAktiv
Wichtig (Stand 2026): Microsoft hat WSUS am 20.09.2024 offiziell als „deprecated" eingestuft. Das bedeutet: keine neuen Funktionen mehr, aber WSUS bleibt funktionsfähig und wird in Windows Server 2025 bis zum Ende des Produkt-Lebenszyklus (~2035) weiter unterstützt. Die Treiber-Synchronisation über WSUS wurde zum 18.04.2025 eingestellt. Microsoft empfiehlt die Migration zu Windows Autopatch/Intune (Clients) und Azure Update Manager (Server).

WSUS – Grundlagen

Die Windows Server Update Services (WSUS) sind eine Serverrolle, die Updates einmal zentral aus dem Internet lädt und dann im LAN an die Clients verteilt. Vorteile: Bandbreitenersparnis und kontrollierte Genehmigung (Approval), bevor Patches ausgerollt werden. Die Clients werden per Gruppenrichtlinie (GPO) auf den WSUS-Server gelenkt.

# WSUS-Rolle installieren (sofern noch eingesetzt) Install-WindowsFeature -Name UpdateServices -IncludeManagementTools :: Per GPO gesteuerte WSUS-Adresse setzen (registry-basiert) :: HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate :: WUServer = http://wsus.firma.local:8530 :: WUStatusServer = http://wsus.firma.local:8530

Patchmanagement-Prozess (PDCA)

Patchmanagement ist kein einmaliger Akt, sondern ein fortlaufender Kreislauf nach dem PDCA-Prinzip (Deming-Zyklus). Er stellt sicher, dass Updates strukturiert getestet, ausgerollt und überprüft werden.

PhaseTätigkeit
PlanVerfügbare Updates sichten, bewerten (Kritikalität), Testumgebung & Wartungsfenster planen
DoUpdates genehmigen und ringweise ausrollen (erst Pilot, dann breit)
CheckStatusberichte auswerten: Welche Clients sind aktuell, wo gab es Fehler?
ActNachsteuern – fehlgeschlagene Installationen nachziehen, problematische Updates zurückziehen, Prozess verbessern

WSUS-Ports & Update-Prozess

WSUS kommuniziert auf zwei Ebenen: extern lädt der WSUS-Server die Updates von Microsoft, intern holen die Clients sie vom WSUS-Server.

VerbindungPorts
Intern (Client → WSUS)8530 (HTTP) bzw. 8531 (HTTPS)
Extern (WSUS → Microsoft)80 (HTTP) und 443 (HTTPS)

Der eigentliche Update-Ablauf durchläuft mehrere Stationen:

  1. Veröffentlichung – Microsoft stellt das Update bereit, WSUS synchronisiert die Metadaten (Beschreibung, Abhängigkeiten, Anwendbarkeitsregeln – noch nicht die Update-Dateien selbst).
  2. Genehmigung – der Admin genehmigt (approved) das Update für definierte Computergruppen.
  3. Anfrage – der Client fragt turnusmäßig beim WSUS-Server nach zutreffenden Updates.
  4. Download – der Client (oder WSUS) lädt die Update-Dateien herunter.
  5. Installation – das Update wird installiert, ggf. mit Neustart im Wartungsfenster.
  6. Statusbericht – der Client meldet das Ergebnis an WSUS zurück (Grundlage der „Check"-Phase).
Tipp: Anhand der Metadaten entscheidet WSUS, ob ein Update für einen bestimmten Client überhaupt zutrifft (z.B. richtige Windows-Version/Architektur). Erst genehmigte und zutreffende Updates werden tatsächlich heruntergeladen – das spart Speicherplatz und Bandbreite.

sconfig & gpupdate

Auf Server Core konfiguriert man Updates interaktiv über sconfig (Menüpunkt „Windows Update Settings"). Nach Änderung von Update-Gruppenrichtlinien erzwingt gpupdate die sofortige Anwendung.

:: Server Core – zentrales Konfigurationsmenü öffnen sconfig :: Gruppenrichtlinien sofort neu anwenden gpupdate /force :: Update-Erkennung am Client manuell anstoßen UsoClient StartScan :: Suche nach Updates UsoClient StartDownload :: Verfügbare Updates herunterladen UsoClient StartInstall :: Updates installieren

Updates mit PSWindowsUpdate

Das Community-Modul PSWindowsUpdate erlaubt das vollständige Steuern von Windows Update über PowerShell – auch remote. Es ist praktisch für Skripte und für Systeme ohne GUI.

# Modul aus der PowerShell Gallery installieren Install-Module -Name PSWindowsUpdate -Scope CurrentUser # Verfügbare Updates auflisten Get-WindowsUpdate # Alle Updates herunterladen und installieren (automatisch bestätigen) Install-WindowsUpdate -AcceptAll -AutoReboot # Update-Verlauf anzeigen Get-WUHistory # Ein bestimmtes Update per KB-Nummer ausschließen Install-WindowsUpdate -NotKBArticleID KB5012345 -AcceptAll
Tipp: Den nativen Update-Status liefert ohne Zusatzmodul auch das Cmdlet Get-WindowsUpdateLog (erzeugt ein lesbares Log aus den ETW-Tracedaten) sowie der Dienst wuauserv. Bei Problemen hilft oft das Zurücksetzen des Update-Caches: Dienst stoppen, Ordner C:\Windows\SoftwareDistribution umbenennen, Dienst neu starten.

Patch-Strategie: Ringe & Patch Tuesday

Updates werden nicht überall gleichzeitig ausgerollt, sondern in Deployment-Ringen – erst eine kleine Pilotgruppe, dann breitere Wellen. So fallen Probleme auf, bevor sie die gesamte Flotte treffen. Microsoft veröffentlicht reguläre Sicherheitsupdates am zweiten Dienstag im Monat („Patch Tuesday").

RingZielgruppeAufschub (Beispiel)
Ring 0 – PilotIT-Team / TestgeräteSofort (0 Tage)
Ring 1 – EarlyTechnikaffine Power-User3–5 Tage
Ring 2 – BroadGroßteil der Belegschaft7–10 Tage
Ring 3 – CriticalProduktion / kritische Server14+ Tage, geplante Wartungsfenster

Update-Typen unterscheiden

TypInhalt
Quality Update (LCU)Monatliches kumulatives Update mit Sicherheits- & Fehlerbehebungen (Patch Tuesday)
Out-of-Band (OOB)Außerplanmäßiges Notfall-Update bei kritischen Lücken
Feature UpdateNeue Windows-Version/-Funktionen (großes Upgrade)
HotpatchSicherheitsupdate ohne Neustart – für Windows Server 2025 (Azure / über Abonnement) verfügbar; reduziert Wartungs-Downtime erheblich
Servicing Stack Update (SSU)Aktualisiert die Update-Komponente selbst; in modernen LCUs meist enthalten
Tipp: Hotpatching für Windows Server 2025 erlaubt das Einspielen vieler Sicherheitsupdates ohne Neustart. In der Regel sind nur noch quartalsweise „Baseline"-Updates mit Reboot nötig, dazwischen werden die Hotpatches im Arbeitsspeicher angewandt – ideal für Server mit hohen Verfügbarkeitsanforderungen.

Exkurs: Sysprep vor dem Klonen

Sysprep (System Preparation Tool, %windir%\System32\Sysprep\sysprep.exe) verallgemeinert eine Windows-Installation, bevor sie als Image geklont und auf weitere Geräte verteilt wird. Es setzt rechnerspezifische Merkmale zurück – insbesondere die eindeutige SID (Security Identifier), den Hostnamen und Netzwerkeinstellungen.

Warum zwingend? Würde man ein installiertes System 1:1 klonen, hätten alle Klone dieselbe SID – das führt in einer Domäne zu Konflikten (z.B. bei WSUS-/Computer-Identitäten und Zugriffsrechten). Sysprep wird typischerweise im Modus OOBE (Out-of-Box Experience) mit aktivierter Option „Verallgemeinern" (Generalize) ausgeführt: Beim ersten Start des Klons werden dann frische SID, Hostname und Netzwerkkonfiguration erzeugt.