.single.post-author, Autor: Konstantinos Tsoukalas, Letzte Aktualisierung: 26. November 2025

Möchten Sie jedes Mal automatisch eine E-Mail-Benachrichtigung erhalten, wenn sich ein Administrator bei einem Windows Server oder in Windows 10/11 PRO anmeldet? Wenn ja, lesen Sie weiter unten, um zu erfahren, wie Sie dies tun können.

Das Senden automatischer E-Mail-Benachrichtigungen, wenn sich ein Administratorkonto bei Windows anmeldet, kann die Sicherheit erhöhen, indem Administratoren vor potenziell unbefugtem Zugriff gewarnt werden. Durch die Überwachung von Administratoranmeldungen können Sie unbefugte Zugriffsversuche in Echtzeit erkennen. In diesem Artikel zeigen wir Ihnen, einen Windows-Computer dazu zu zwingen, automatisch eine E-Mail-Benachrichtigung zu senden, wenn sich ein Administratorkonto anmeldet.

* Hinweise:
1. Die Anweisungen können sogar auf einem Standard-Windows-Server oder auf einem Domänencontroller angewendet werden.
2. Die Anweisungen können auch in Windows 11/10 Pro oder Enterprise angewendet werden.

So erzwingen Sie, dass Windows Server 2016/2019 oder Windows 10/11 PRO eine E-Mail-Benachrichtigung sendet, wenn Es ist ein beliebiges Administratorkonto angemeldet.

Voraussetzung: Ein SMTP-Server zum Versenden von E-Mails.

Schritt 1. Erstellen Sie ein PowerShell-Skript, um E-Mail-Benachrichtigungen zu senden, wenn sich Administratoren anmelden.

Der erste Schritt zum Abschluss dieser Aufgabe besteht darin, ein PowerShell-Skript zu erstellen, das automatisch eine E-Mail sendet, wenn sich ein Administratorkonto am Server anmeldet. *

* Hinweis: Wenn Sie eine E-Mail-Benachrichtigung erhalten möchten, wenn ein Benutzer sich am Computer anmeldet, verwenden Sie das am Ende dieses Artikels bereitgestellte Skript, das auch für Remote Desktop (RDP)-Benutzer funktioniert.

1. Erstellen Sie einen Ordner mit dem Namen „Scripts“ auf Ihrem Laufwerk C:\ oder einem anderen Ordner, in dem Sie das PowerShell-Skript speichern möchten, das die sendet E-Mail. *

* Hinweis: In dieser Anleitung haben wir den Skriptordner unter „C:\Windows\System32\Scripts“ erstellt.

2. Öffnen Sie nun Notepad und kopieren Sie den folgenden Text, um das Skript zu erstellen:

# Info: Dieses Skript sendet eine E-Mail, wenn sich ein Administratorkonto am Computer anmeldet.

# E-Mail Anmeldeinformationen für den SMTP-Server
$Username=”[email protected]”      # E-Mail-Adresse des Absenders
$PlainPassword=”senderpassword”    # E-Mail-Passwort des Absenders
$SecurePassword=ConvertTo-SecureString $PlainPassword-AsPlainText-Force
$Cred=New-Object System.Management.Automation.PSCredential ($Username, $SecurePassword)

# Angemeldete Benutzer-und Computerinformationen abrufen
$LoggedInUser=$env:USERNAME
$Computer=$env:COMPUTERNAME
$LocalTime=Get-Date-Format”yyyy-MM-dd HH:mm:ss”

# Aktuelle Windows-Identität abrufen
$windowsIdentity=[System.Security.Principal.WindowsIdentity]::GetCurrent()
$principal=New-Object System.Security.Principal.WindowsPrincipal($windowsIdentity)

# SID für lokale Administratorengruppe (S-1-5-32-544)
$adminSid=New-Object System.Security.Principal.SecurityIdentifier(“S-1-5-32-544”)

# Überprüfen Sie, ob der Benutzer Mitglied der Administratorengruppe ist
$isAdmin=$principal.IsInRole($adminSid)

if ($isAdmin) {
# E-Mail-Inhalt
$To=”[email protected]”     E-Mail-Adresse des Empfängers”mail.domain.com”-Port 587-UseSsl-Credential $Cred

# Optional: lokale Protokolldatei
Add-Content-Path”C:\Windows\System32\Scripts\UserLoginLog.txt”-Value”$LocalTime – $LoggedInUser angemeldet bei $Computer”
}

3. Dann Ändern Sie den Skripttext wie folgt:

Ersetzen Sie „[email protected]“ durch Ihre Absender-E-Mail-Adresse. Ersetzen Sie „senderpassword“ durch das E-Mail-Adresspasswort Ihres Absenders. Ersetzen Sie „[email protected]“ durch die E-Mail-Adresse des Empfängers. Ersetzen Sie „SERVERNAME“ durch den Namen Ihres Windows-Servers. Ersetzen Sie „mail.domain.com“ durch den Namen Ihres SMTP-Servers. Ersetzen Sie bei Bedarf „587“ durch den Port Ihres SMTPS-Servers. Ersetzen Sie „C:\Windows\System32\Scripts“ durch den vollständigen Pfad des Ordners „Scripts“ (falls Sie ihn an einem anderen Speicherort erstellt haben).

4a. Wenn Sie fertig sind, wählen Sie im Menü Datei die Option Speichern unter

4b. Führen Sie nun im Dialogfeld „Speichern unter“ folgende Schritte aus:

Wählen Sie „Speichern“ der Datei im zuvor erstellten Ordner „Skripte“. Wählen Sie unter Speichern unter: Alle Dateien. Wählen Sie unter Kodierung: Unicode  . Geben Sie Folgendes ein: Dateiname: “EmailAleltForAdminLogins.ps1”. Klicken Sie auf Speichern und schließen Sie dann den Editor.

Schritt 2. Testen Sie das von Ihnen erstellte PowerShell-Skript.

Nachdem Sie das Skript erstellt haben, überprüfen Sie, ob es funktioniert, bevor Sie fortfahren. Gehen Sie dazu wie folgt vor:

1. Klicken Sie mit der rechten Maustaste auf „EmailAleltForAdminLogins.ps1“ und wählen Sie Mit PowerShell ausführen.

2. Wenn das Skript funktioniert, sollten Sie eine E-Mail an die Empfängeradresse erhalten, die Sie im Skript eingegeben haben. Darin wird Ihnen mitgeteilt, dass das Konto „Administrator“ zum Zeitpunkt der Ausführung des Skripts am Server angemeldet war. Wenn ja, fahren Sie mit dem nächsten Schritt fort.

Schritt 3. Erzwingen Sie Windows, das Skript bei der Anmeldung über Gruppenrichtlinien auszuführen.

Jetzt fahren Sie fort und konfigurieren Sie Windows so, dass es das Skript ausführt, das Sie in der Phase „Anmeldung“ erstellt haben über lokale Gruppenrichtlinie.

+ R Tasten zum Öffnen des Befehlsfelds „Ausführen“.
2. Geben Sie im Befehlsfeld „Ausführen“ gpedit.msc ein und drücken Sie die Eingabetaste (OK), um den Editor für lokale Gruppenrichtlinien zu öffnen.

3. Navigieren Sie im Editor für lokale Gruppenrichtlinien zum folgenden Speicherort:

Benutzerkonfiguration > Windows-Einstellungen > Skripts (Anmeldung/Abmeldung) > Anmeldung

4a. Wählen Sie im Fenster „Anmeldeeigenschaften“ die Registerkarte PowerShell-Skripte aus und klicken Sie auf Hinzufügen.

4b. Klicken Sie im Fenster „Skript hinzufügen“ auf Durchsuchen

4c. Navigieren Sie zu dem Ordner, in dem Sie die von Ihnen erstellte Skriptdatei gespeichert haben (z. B. der Ordner „C:\Windows\System32\Scripts\“ in diesem Beispiel), wählen Sie Skriptdatei „EmailAleltForAdminLogins.ps1“ und klicken Sie auf Öffnen.

4d. Dann kopieren Sie das Folgende Geben Sie den Text in das Feld Skriptparameter ein und klicken Sie auf OK:

-WindowStyle Hidden-ExecutionPolicy Bypass

4e. Klicken Sie schließlich Übernehmen > OK und schließen den Editor für lokale Gruppenrichtlinien.

5. Starten Sie nun entweder den Server neu, um die Richtlinie anzuwenden oder führen Sie „gpupdate/force“ in der Eingabeaufforderung aus und melden Sie sich dann von Windows ab.

6. Melden Sie sich wieder beim Server an und nach ein paar Sekunden werden Sie per E-Mail über dieses Anmeldeereignis benachrichtigt. Das Anmeldeereignis wird auch in der Datei „UserLoginLog.txt“ protokolliert, die sich im Ordner „Scripts“ befindet (z. B. „C:\Windows\System32\Scripts\UserLoginLog.txt“ in diesem Beispiel).*

* Hinweise:
1. Da das obige Skript nur bei der Anmeldung ausgeführt wird (z. B. wenn Sie den Server neu starten oder wenn sich das Administratorkonto abmeldet und wieder beim Server anmeldet) und nicht, wenn der Server entsperrt ist, zwingen Sie Windows, auch beim Entsperren des Servers eine E-Mail-Benachrichtigung zu senden. Lesen Sie dazu die Anweisungen in Schritt 2 dieses Tutorials: So erhalten Sie E-Mail-Benachrichtigungen, wenn ein Windows Server oder Windows 10/11-Server entsperrt ist.

2. Das PowerShell-Skript, das Sie in Schritt 1 erstellt haben, sendet nur dann eine E-Mail-Benachrichtigung, wenn der angemeldete Benutzer zur Gruppe Administratoren gehört. Wenn Sie über jede Benutzerverbindung zum Computer benachrichtigt werden möchten, auch wenn Benutzer eine Verbindung über Remotedesktop herstellen (RDP-verbundene Benutzer), verwenden Sie das folgende Skript:

# Info: Dieses Skript sendet eine E-Mail, wenn sich ein Benutzerkonto am Computer anmeldet.

# E-Mail-Anmeldeinformationen für SMTP-Server
$Username=”[email protected]”      # E-Mail-Adresse des Absenders
$PlainPassword=”senderpassword”     # E-Mail-Passwort des Absenders
$SecurePassword=ConvertTo-SecureString $PlainPassword-AsPlainText-Force
$Cred=New-Object System.Management.Automation.PSCredential ($Username, $SecurePassword)

# E-Mail-Inhalt
$LoggedInUser=$env:USERNAME
$Computer=$env:COMPUTERNAME
$LocalTime=Get-Date-Format”yyyy-MM-dd HH:mm:ss”
$To=”[email protected]”                    # Empfänger-E-Mail-Adresse
$Subject=”ServerName Login Alert: $LoggedInUser”
$Body=@”
Benutzer $LoggedInUser hat sich angemeldet in $Computer um $LocalTime.
“@

# Senden Sie die E-Mail
Send-MailMessage-From $Username-To $To-Subject $Subject-Body $Body `
-SmtpServer”mail.domain.com”-Port 587-UseSsl-Credential $Cred

# Optional: lokale Protokolldatei
Add-Content-Path „C:\Windows\System32\Scripts\UserLoginLog.txt“-Value „$LocalTime – $LoggedInUser auf $Computer angemeldet“

Das ist es! Lassen Sie mich wissen, ob dieser Leitfaden Ihnen geholfen hat, indem Sie einen Kommentar zu Ihren Erfahrungen hinterlassen. Bitte liken und teilen Sie diesen Leitfaden, um anderen zu helfen.

Wenn dieser Artikel für Sie nützlich war, denken Sie bitte darüber nach, uns mit einer Spende zu unterstützen. Sogar 1 US-Dollar kann einen großen Unterschied für uns in unserem Bemühen machen, weiterhin anderen zu helfen und gleichzeitig diese Website kostenlos zu halten: Konstantinos ist der Gründer und Administrator von Wintips.org. Seit 1995 ist er als Computer-und Netzwerkexperte für Privatpersonen und große Unternehmen tätig und bietet IT-Support an. Er ist auf die Lösung von Problemen im Zusammenhang mit Windows oder anderen Microsoft-Produkten (Windows Server, Office, Microsoft 365 usw.) spezialisiert. Neueste Beiträge von Konstantinos Tsoukalas (alle ansehen)

Categories: IT Info