/
/

Anmeldezeiten je Abteilung mit Anmeldeskripten beschränken

von Team Ninja
How to Use Logon Scripts to Enforce Login Time Restrictions Across Departments blog banner image

Kurzüberblick

Dieser NinjaOne-Blogbeitrag bietet eine umfassende Liste grundlegender CMD-Befehle und einen tiefen Einblick in die Windows-Befehle mit über 70 wichtigen CMD-Befehlen für Anfänger:innen und Fortgeschrittene. Der Blogartikel erklärt praktische Befehle der Eingabeaufforderung für die Dateiverwaltung, die Navigation in Verzeichnissen, die Fehlersuche im Netzwerk, Festplattenoperationen und die Automatisierung mit echten Beispielen zur Steigerung der Produktivität. Egal, ob Sie grundlegende CMD-Befehle lernen oder fortgeschrittene Windows CLI-Tools beherrschen möchten, dieser Leitfaden hilft Ihnen, die Eingabeaufforderung effektiver zu verwenden.

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

  1. Drücken Sie Win, geben Sie PowerShell ein und klicken Sie dann auf Als Administrator ausführen.
  2. 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

  1. Drücken Sie Win, geben Sie PowerShell ein und klicken Sie dann auf Als Administrator ausführen.
  2. 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

  1. Drücken Sie Win + R, geben Sie gpmc.msc ein und drücken Sie dann die Eingabetaste.
  2. Navigieren Sie zu:

Benutzerkonfiguration > Windows-Einstellungen > Skripts (Anmelden/Abmelden)

  1. Fügen Sie anschließend das PowerShell-Skript hinzu.
  2. 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

  1. 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

  1. Drücken Sie Win, geben Sie PowerShell ein und klicken Sie dann auf Als Administrator ausführen.
  2. 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.

  1. Drücken Sie Win, geben Sie cmd ein und klicken Sie dann auf Als Administrator ausführen.
  2. 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

  1. Drücken Sie Win, geben Sie cmd ein und klicken Sie dann auf Als Administrator ausführen.
  2. 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:

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

Das könnte Sie auch interessieren

Sind Sie bereit, die schwierigsten Aufgaben der IT zu vereinfachen?

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche „Ich akzeptiere“ klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird „wie gesehen“ und „wie verfügbar“ bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).