Durchgesetzte Anmeldezeitbeschränkungen verkleinern die Angriffsfläche außerhalb der Geschäftszeiten und unterstützen die Compliance mit Richtlinien zum Datenzugriff. Active Directory (AD) bringt zwar eigene Beschränkungen der Anmeldezeiten mit, über Skripte bleiben Sie allerdings deutlich flexibler. In diesem Artikel erfahren Sie, wie Sie mit Anmeldeskripten abteilungsspezifische Anmeldezeiten durchsetzen.
Anmeldezeiten je Abteilung mit Anmeldeskripten durchsetzen
Die Durchsetzung von Anmeldezeitbeschränkungen besteht aus vier Teilen: Abteilung und erlaubtes Anmeldefenster festlegen, Skript erstellen, Skript per Gruppenrichtlinie bereitstellen und den Durchsetzungsstatus in der Registry protokollieren. Alternativ können Sie die Anmeldezeiten über die Eingabeaufforderung setzen, sofern Sie AD verwenden.
📌 Voraussetzungen:
- In eine Domäne eingebundene Windows 10/11-Systeme oder Systeme in einer Arbeitsgruppe
- Gruppenrichtlinien-Editor (oder lokales GPO)
- PowerShell 5.1+ oder Zugriff auf Skripte in der Eingabeaufforderung
- Administratorrechte, um Anmeldeskripte per GPO oder RMM anzuwenden
📌 Empfohlene Bereitstellungsstrategien:
| Klicken Sie, um eine Methode zu wählen | 💻 Am besten für Einzelbenutzer:innen |
💻💻💻 Am besten für Unternehmen |
| Schritt 1: Abteilung und erlaubtes Anmeldefenster festlegen | ✓ | |
| Schritt 2: Logik des Anmeldeskripts erstellen | ✓ | |
| Schritt 3: Anmeldeskript per Gruppenrichtlinie bereitstellen | ✓ | |
| Schritt 4: Durchsetzungsstatus in der Registry protokollieren | ✓ | |
| Alternative Methode: Eingabeaufforderung und net user als Alternativen | ✓ |
Schritt 1: Abteilung und erlaubtes Anmeldefenster festlegen
Der erste Schritt zur Durchsetzung von Anmeldezeitbeschränkungen besteht darin, pro Abteilung ein Anmeldefenster zu definieren.
📌 Anwendungsfall: IT-Administrator:innen, die AD-Abteilungsattribute direkt bestimmten Anmeldezeitplänen zuordnen möchten, ohne Regeln für jede:n Benutzer:in manuell zu setzen
- Drücken Sie Win, geben Sie PowerShell ein und klicken Sie dann auf Als Administrator ausführen.
- Kopieren Sie den folgenden Code, fügen Sie ihn in die Eingabeaufforderung ein und drücken Sie die Eingabetaste:
$allowedTimes = @{
„Sales“ = @{Start = 8; End = 18}
„Finance“ = @{Start = 7; End = 17}
„IT“ = @{Start = 0; End = 23}
„Default“ = @{Start = 9; End = 17}
}
Um die Abteilung der Benutzer:innen über ein AD-Attribut zu ermitteln, kopieren Sie stattdessen das folgende Skript und fügen es ein:
$user = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$department = (Get-ADUser $user.Name -Properties Department).Department
Schritt 2: Logik des Anmeldeskripts erstellen
Sobald die Anmeldefenster definiert sind, erstellen Sie im nächsten Schritt die Logik des Anmeldeskripts.
📌 Anwendungsfall: Administrator:innen, die ein sofort einsetzbares, anpassbares Skript zur Beschränkung der Anmeldezeiten benötigen
- Drücken Sie Win, geben Sie PowerShell ein und klicken Sie dann auf Als Administrator ausführen.
- Kopieren Sie den folgenden Code, fügen Sie ihn in die Eingabeaufforderung ein und drücken Sie die Eingabetaste:
| # Current hour $now = (Get-Date).Hour# Department (fallback to Default if missing) $dept = if ($department) { $department } else { "Default" }if (-not $allowedTimes.ContainsKey($dept)) { $dept = „Default“ }# Allowed time window $start = $allowedTimes[$dept].Start $end = $allowedTimes[$dept].End# Check access if ($now -lt $start -or $now -ge $end) { Add-Type -AssemblyName PresentationFramework $startTime = „{0:D2}:00“ -f $start $endTime = „{0:D2}:00“ -f $end [System.Windows.MessageBox]::Show( „Login not allowed at this time.`nYou may log in between $startTime and $endTime.“, „Access Restricted“, ‚OK‘,’Error‘ ) # Safer alternative: log off instead of hard shutdown Start-Process "shutdown.exe" -ArgumentList "/l" -NoNewWindow} |
⚠️ Warnung: Testen Sie die Einstellungsänderung am besten auf einem lokalen Rechner, bevor Sie sie auf weiteren Endpunkten bereitstellen. (Mehr dazu unter: Worauf Sie achten sollten)
Schritt 3: Anmeldeskript per Gruppenrichtlinie bereitstellen
Im nächsten Schritt stellen Sie das Anmeldeskript per Gruppenrichtlinie bereit.
📌 Anwendungsfall: IT-Administrator:innen, die mehrere Endpunkte verwalten und die Anmeldebeschränkungen zentral und skalierbar für alle Benutzer:innen durchsetzen möchten
- Drücken Sie Win + R, geben Sie gpmc.msc ein und drücken Sie dann die Eingabetaste.
- Navigieren Sie zu:
Benutzerkonfiguration > Windows-Einstellungen > Skripts (Anmelden/Abmelden)
- Fügen Sie anschließend das PowerShell-Skript hinzu.
- Stellen Sie sicher, dass die Ausführungsrichtlinie auf RemoteSigned gesetzt ist. Navigieren Sie dazu zu:
Computerkonfiguration > Administrative Vorlagen > Windows-Komponenten > Windows PowerShell > Skriptausführung aktivieren
- Stellen Sie ein: Lokale Skripts und remote-signierte Skripts zulassen.
Schritt 4: Durchsetzungsstatus in der Registry protokollieren
Nachdem Sie die Richtlinie durchgesetzt haben, können Sie die Durchsetzungsmaßnahmen mit einem PowerShell-Skript lokal festhalten.
📌 Anwendungsfall: IT-Administrator:innen, die einen lokalen Audit-Trail aufbauen möchten, der zeigt, wann Anmeldebeschränkungen durchgesetzt wurden
- Drücken Sie Win, geben Sie PowerShell ein und klicken Sie dann auf Als Administrator ausführen.
- Kopieren Sie den folgenden Code, fügen Sie ihn in die Eingabeaufforderung ein und drücken Sie die Eingabetaste:
New-Item -Path "HKLM:\SOFTWARE\Org\LogonRestrictions" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\LogonRestrictions" -Name "LastEnforced" -Value (Get-Date).ToString(„u“)
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\LogonRestrictions" -Name "Status" -Value "Login blocked due to after-hours access"
Anschließend können Sie über die Eingabeaufforderung prüfen, was in Ihrem eigenen Registry-Schlüssel steht.
- Drücken Sie Win, geben Sie cmd ein und klicken Sie dann auf Als Administrator ausführen.
- Kopieren Sie den folgenden Code, fügen Sie ihn in die Eingabeaufforderung ein und drücken Sie die Eingabetaste:
reg query HKLM\SOFTWARE\Org\LogonRestrictions
⚠️ Warnung: Achten Sie darauf, das richtige Skript zu kopieren und einzufügen, denn eine falsche Syntax kann Fehler verursachen. (Mehr dazu unter: Worauf Sie achten sollten)
Alternative Methode: Eingabeaufforderung und net user als Alternativen
Dies ist eine alternative Möglichkeit, Anmeldezeiten festzulegen, wenn Sie Active Directory nutzen.
📌 Anwendungsfall: Administrator:innen, die Anmeldezeiten mit Bordmitteln beschränken möchten, ohne Skripte bereitzustellen
- Drücken Sie Win, geben Sie cmd ein und klicken Sie dann auf Als Administrator ausführen.
- Kopieren Sie den folgenden Code, fügen Sie ihn in die Eingabeaufforderung ein und drücken Sie die Eingabetaste:
net user username /times:M-F,8am-6pm;Sa-Su,0am-0am
💡 Tipp: Diese Einstellung greift direkt auf Ebene des Domain-Controllers.
⚠️ Hinweis: Diese Methode hat Grenzen. So bietet sie etwa keine Durchsetzung über die Benutzeroberfläche und lässt sich nicht je Abteilung anpassen, sofern Sie nicht separat über Organisationseinheiten (OU) steuern.
⚠️ Worauf Sie achten sollten
| Risiken | Mögliche Folgen | Gegenmaßnahmen |
| Kein Test auf einem lokalen Rechner | Ein ungetestetes Skript bereitzustellen, kann dazu führen, dass Geräte abstürzen, etwa wegen inkompatibler Registry-Schlüssel. | Wenden Sie die gewünschten Änderungen zunächst auf einem lokalen Rechner an und prüfen Sie, ob die Konfiguration das beabsichtigte Ergebnis liefert. |
| Falsche Befehlssyntax | Eine falsche Befehlssyntax kann die Registry beschädigen, zu Fehlverhalten des Systems führen oder dazu, dass der Code gar nichts bewirkt. | Achten Sie darauf, das richtige Skript in die Eingabeaufforderung zu kopieren. Sie können außerdem Tools wie PSScriptAnalyzer nutzen, um die Codequalität zu prüfen. |
Weitere Überlegungen
Bestimmte Benutzerszenarien erfordern eine Sonderbehandlung, damit es nicht zu ungewollten Aussperrungen oder Störungen kommt. Nachfolgend finden Sie häufige Ausnahmen, die Sie bei Anmeldebeschränkungen berücksichtigen sollten.
Break-Glass-Konten
Break-Glass-Konten sind Notfall-Administratorkonten, die zum Einsatz kommen, wenn der primäre Identitätsanbieter (idP) ausfällt. Nehmen Sie diese Konten immer aus, indem Sie das folgende PowerShell-Skript ausführen:
if ($user -in $breakGlassAccounts) { return „Bypass restrictions“ }
Mehrere Zeitzonen
Benutzer:innen in unterschiedlichen Zeitzonen haben nicht dieselben Geschäftszeiten. Wenn Ihre $allowedTimes von UTC+8 ausgehen, Ihr Team in den USA sich aber um 9 Uhr Ortszeit anmeldet, wird der Zugriff womöglich verweigert. Dem können Sie begegnen, indem Sie alle Prüfungen auf UTC umstellen und Benutzer:innen ihrer Zeitzone zuordnen.
Dienstkonten
Dienstkonten sind nicht-menschliche Konten, die von Anwendungen oder Kiosksystemen genutzt werden. Sie benötigen rund um die Uhr Zugriff, und eine Sperrung kann Automatisierungen zerstören. Legen Sie solche Konten deshalb in einer eigenen AD-Gruppe ab und ergänzen Sie eine Logik, die die Beschränkungen umgeht.
Laptop-Benutzer:innen
Beschäftigte auf internationalen Reisen melden sich möglicherweise außerhalb ihrer üblichen Bürozeiten an und erhalten dadurch keinen Zugriff. In diesem Fall bietet es sich an, Ausnahmen über AD-Gruppen zu regeln oder ein Skript-Flag zu ergänzen, mit dem sich die Beschränkungen für einzelne Benutzer:innen vorübergehend aufheben lassen.
Häufige Probleme beheben
Beim Einsatz von Anmeldeskripten zur Durchsetzung von Anmeldebeschränkungen können Probleme auftreten, die Zuverlässigkeit und Benutzererfahrung beeinträchtigen. Nachfolgend finden Sie häufige Fälle und passende Lösungen.
Skript wird nicht ausgeführt
Manche Skripte laufen beim An- oder Abmelden nicht, meist wegen Zugriffsproblemen oder restriktiver PowerShell-Ausführungsrichtlinien. Führen Sie zur Behebung Get-ExecutionPolicy aus und aktualisieren Sie die Einstellung mit Set-ExecutionPolicy RemoteSigned.
Abteilung wird falsch erkannt
Skripte können Benutzer:innen falsch einordnen, wenn die AD-Daten uneinheitlich sind. Prüfen Sie die Attributwerte daher mit PowerShell und stellen Sie über Get-ADUser -Identity username -Property Department sicher, dass die Abteilungsfelder gefüllt sind.
Abmeldung wird nicht durchgesetzt
Manche Benutzer:innen bleiben angemeldet, obwohl die Beschränkungen bei der Anmeldung greifen, und umgehen so zeitbasierte Richtlinien. Weisen Sie in diesem Fall Abmeldeskripte per Gruppenrichtlinie zu, um Sitzungen zuverlässig zu beenden. Sie können außerdem eine geplante Aufgabe einrichten, die zu festen Zeiten Abmeldungen auslöst.
Benutzer:in wird zwangsweise neu gestartet
Einige Administrator:innen beenden Sitzungen mit Stop-Computer. Das funktioniert, durch das erzwungene Herunterfahren oder Neustarten können allerdings Benutzerdaten verloren gehen.
Eine Alternative ist logoff.exe. Dieser Befehl meldet die Benutzer:innen ab, ohne das Gerät neu zu starten, und stört dadurch weniger.
NinjaOne-Services für ein besseres Management von Anmeldezeitbeschränkungen
MSPs (Managed Services Provider) können zeitbasierte Zugriffsregeln mit NinjaOne über alle Kunden hinweg durchsetzen und darüber berichten, ohne auf AD- oder Azure-Lizenzen angewiesen zu sein.
NinjaOne verbessert das Management von Anmeldezeitbeschränkungen durch:
- Remote-Bereitstellung von Skripten für Anmeldebeschränkungen über mehrere Mandanten hinweg
- Prüfung von Registry-Schlüsseln, um die Anwendung der Richtlinie je Gerät zu bestätigen
- Alarmierungen bei Anmeldeversuchen außerhalb der Richtlinienfenster, per Ereignis oder Skriptausgabe
- Markierung von Endpunkten oder Benutzer:innen, die die Anmeldegrenzen verletzen
- Automatisierung von Rollbacks oder Ausnahmeprozessen für abteilungsspezifische Zugriffe
Anmeldegrenzen mit Anmeldeskripten durchsetzen
Wer Anmeldezeiten nach Abteilungen steuert, setzt Arbeitsrichtlinien durch, erhöht die Sicherheit und wahrt die Compliance. Mit Anmeldeskripten umgesetzt, verkleinern diese Beschränkungen zusätzlich die Angriffsfläche außerhalb der Geschäftszeiten und unterstützen die Compliance mit Richtlinien zum Datenzugriff.
Verwandte Themen:
- Lokale Anmeldung für Benutzer:innen und Gruppen in Windows 10 verweigern
- Fehlgeschlagene Anmeldeversuche in Windows mit PowerShell finden
- Benutzer:innen das Ändern ihres Passworts in Windows 10 und 11 erlauben oder verbieten
- Anmeldung mit Bildcode in Windows 10 aktivieren oder deaktivieren
- Die Einstellung „Anmeldung beim Reaktivieren erforderlich“ in Windows 11 aktivieren oder deaktivieren
Quick-Start-Guide
Dank der flexiblen Skripting- und Richtlinienverwaltung von NinjaOne können Sie:
- ein eigenes Skript erstellen, das zeitbasierte Anmeldebeschränkungen umsetzt
- geplante Automatisierungen nutzen, um den Anmeldezugriff zu steuern
- Richtlinienbedingungen einsetzen, um das Anmeldeverhalten zu steuern