.single.post-author, Auteur : Konstantinos Tsoukalas , Dernière mise à jour : 26 novembre 2025
Voulez-vous recevoir automatiquement une alerte par e-mail à chaque fois qu’un administrateur se connecte à un serveur Windows ou à Windows 10/11 PRO ? Si tel est le cas, continuez à lire ci-dessous pour savoir comment procéder.
L’envoi de notifications automatiques par e-mail lorsqu’un compte administrateur se connecte à Windows peut améliorer la sécurité en alertant les administrateurs d’un accès non autorisé potentiel. La surveillance des connexions d’administrateur peut vous aider à détecter les tentatives d’accès non autorisées en temps réel et dans cet article, nous allons vous montrer forcer un ordinateur Windows à envoyer automatiquement une alerte par e-mail lorsqu’un compte d’administrateur se connecte.
* Remarques :
1. Les instructions peuvent être appliquées même sur un serveur Windows standard ou sur un contrôleur de domaine.
2. Les instructions peuvent également être appliquées sous Windows 11/10 Professionnel ou Entreprise.
Comment forcer Windows Server 2016/2019 ou Windows 10/11 PRO à envoyer une notification par e-mail en cas de problème. Le compte administrateur est connecté.
Exigence : Un serveur SMTP pour l’envoi d’e-mails.
Étape 1. Créez un script PowerShell pour envoyer des notifications par e-mail lorsqu’un administrateur se connecte.
La première étape pour accomplir cette tâche consiste à créer un script PowerShell qui enverra automatiquement un e-mail lorsqu’un compte administrateur se connectera au serveur. *
* Remarque : Si vous souhaitez recevoir une notification par e-mail lorsque un utilisateur se connecte à l’ordinateur, utilisez le script fourni à la fin de cet article qui fonctionne également pour les utilisateurs Remote Desktop (RDP).
1. Créez un dossier nommé « Scripts » sur votre lecteur C:\ ou tout autre dossier dans lequel vous souhaitez stocker le script PowerShell qui enverra le courrier électronique. *
* Remarque : Dans ce guide, nous avons créé le dossier des scripts dans”C:\Windows\System32\Scripts”.
2. Ouvrez maintenant le Bloc-notes et copiez–collez le texte suivant pour créer le script :
# Info : Ce script envoie un e-mail lorsqu’un compte administrateur se connecte à l’ordinateur.
# Identifiants de messagerie pour le serveur SMTP
$Username=”[email protected]” # adresse e-mail de l’expéditeur
$PlainPassword=”senderpassword” # mot de passe de l’e-mail de l’expéditeur
$SecurePassword=ConvertTo-SecureString $PlainPassword-AsPlainText-Force
$Cred=New-Object System.Management.Automation.PSCredential ($Username, $SecurePassword)# Obtenir les informations sur l’utilisateur et l’ordinateur connectés
$LoggedInUser=$env:USERNAME
$Computer=$env:COMPUTERNAME
$LocalTime=Get-Date-Format”aaaa-MM-jj HH:mm:ss”# Obtenir Windows actuel identité
$windowsIdentity=[System.Security.Principal.WindowsIdentity]::GetCurrent()
$principal=New-Object System.Security.Principal.WindowsPrincipal($windowsIdentity)# SID pour le groupe d’administrateurs locaux (S-1-5-32-544)
$adminSid=New-Object System.Security.Principal.SecurityIdentifier(“S-1-5-32-544”)# Vérifier si l’utilisateur est membre du groupe Administrateurs
$isAdmin=$principal.IsInRole($adminSid)if ($isAdmin) {
# Contenu de l’e-mail
$To=”[email protected]” # e-mail du destinataire adresse
$Subject=”alerte de connexion SERVERNAME : $LoggedInUser”
$Body=@”
L’utilisateur $LoggedInUser s’est connecté à $Computer à $LocalTime.
“@# Envoyer l’e-mail
Send-MailMessage-From $Username-To $To-Subject $Subject-Body $Body `
-SmtpServer”mail.domain.com”-Port 587-UseSsl-Credential $Cred# Facultatif : fichier journal local
Add-Content-Path”C:\Windows\System32\Scripts\UserLoginLog.txt”-Value”$LocalTime – $LoggedInUser connecté sur $Computer”
>
3. Modifiez ensuite le texte du script comme suit :
Remplacez”[email protected]”par votre adresse e-mail d’expéditeur. Remplacez”senderpassword”par le mot de passe de l’adresse e-mail de votre expéditeur. Remplacez « [email protected] » par l’adresse e-mail du destinataire. Remplacez”SERVERNAME”par le nom de votre serveur Windows. Remplacez « mail.domain.com » par le nom de votre serveur SMTP. Remplacez-si nécessaire-“587″par le port de votre serveur SMTPS. Remplacez”C:\Windows\System32\Scripts”par le chemin complet du dossier”Scripts”(si vous l’avez créé à un autre emplacement).
4a. Une fois terminé, dans le menu Fichier, sélectionnez Enregistrer sous.
4b. Faites maintenant ce qui suit dans la boîte de dialogue”Enregistrer sous” :
Sélectionnez pour enregistrer le fichier dans le dossier”Scripts“que vous avez créé précédemment. Choisissez dans Type de fichier : Tous les fichiers Choisissez dans Encodage : Unicode Saisissez comme Nom de fichier : “EmailAleltForAdminLogins.ps1” Cliquez sur Enregistrer , puis fermez le Bloc-notes.
Étape 2. Testez le script PowerShell que vous avez créé.
Après avoir créé le script, vérifiez s’il fonctionne avant de continuer. Pour ce faire :
1. Faites un clic droit sur”EmailAleltForAdminLogins.ps1“et sélectionnez Exécuter avec PowerShell.
2. Si le script fonctionne, vous devriez alors recevoir un e-mail à l’adresse du destinataire que vous avez saisie dans le script, vous informant que le compte « Administrateur » était connecté au serveur au moment où vous avez exécuté le script. Si tel est le cas, passez à l’étape suivante.
Étape 3. Forcez Windows à exécuter le script lors de la connexion via la stratégie de groupe.
Maintenant, configurez Windows pour exécuter le script que vous avez créé lors de la”Connexion”. phase via la stratégie de groupe locale.
+ touches R pour ouvrir la boîte de commande « Exécuter ».
2. Dans la zone de commande Exécuter, saisissez gpedit.msc et appuyez sur Entrée (OK) pour ouvrir l’éditeur de stratégie de groupe local.
3. Dans l’éditeur de stratégie de groupe local, accédez à l’emplacement suivant :
Configuration utilisateur > Paramètres Windows > Scripts (Connexion/Déconnexion) > Connexion
4a. Dans la fenêtre « Propriétés de connexion », sélectionnez l’onglet Scripts PowerShell et cliquez sur Ajouter.
4b. Dans la fenêtre”Ajouter un script”, cliquez sur Parcourir
4c. Accédez au dossier dans lequel vous avez enregistré le fichier de script que vous avez créé (par exemple, le dossier”C:\Windows\System32\Scripts\”dans cet exemple), sélectionnez le”EmailAleltForAdminLogins.ps1“et cliquez sur Ouvrir.
4d. Ensuite, copiez-collez le texte ci-dessous dans le champ Paramètres de script et cliquez sur OK :
-WindowStyle Hidden-ExecutionPolicy Bypass
4e. Enfin, cliquez sur Appliquer > OK et fermez l’éditeur de stratégie de groupe local.
5. Maintenant soit redémarrez le serveur pour appliquer la stratégie ou exécutez”gpupdate/force“dans l’invite de commande, puis Déconnectez-vous depuis Windows.
6. Reconnectez-vous au serveur et après quelques secondes, vous serez averti par e-mail de cet événement de connexion. L’événement de connexion sera également enregistré dans le fichier”UserLoginLog.txt“situé dans le dossier”Scripts”(par exemple”C:\Windows\System32\Scripts\UserLoginLog.txt”dans cet exemple).*
* Remarques :
1. Étant donné que le script ci-dessus ne s’exécutera qu’à la”Connexion” (par exemple, cela signifie lorsque vous redémarrez le serveur ou si le compte administrateur se déconnecte et se reconnecte au serveur), et pas lorsque le serveur est déverrouillé, allez-y et forcez Windows à envoyer également une alerte par e-mail même lors du déverrouillage du serveur. Pour ce faire, lisez les instructions de l’étape 2 de ce didacticiel : Comment recevoir des notifications par e-mail lorsqu’un serveur Windows Server ou Windows 10/11 est déverrouillé.
2. Le script PowerShell que vous avez créé à l’étape 1 envoie une notification par e-mail uniquement lorsque l’utilisateur connecté appartient au groupe Administrateurs. Si vous souhaitez être averti de toute connexion utilisateur à la machine, même pour les utilisateurs se connectant via le Bureau à distance (utilisateurs connectés RDP), utilisez le script suivant :
# Info : ce script envoie un e-mail lorsqu’un compte utilisateur se connecte à l’ordinateur.
# Identifiants de messagerie pour le serveur SMTP
$Username=”[email protected]” # adresse e-mail de l’expéditeur
$PlainPassword=”senderpassword” # mot de passe de messagerie de l’expéditeur
$SecurePassword=ConvertTo-SecureString $PlainPassword-AsPlainText-Force
$Cred=New-Object System.Management.Automation.PSCredential ($Username, $SecurePassword)# Contenu de l’e-mail
$LoggedInUser=$env:USERNAME
$Computer=$env:COMPUTERNAME
$LocalTime=Get-Date-Format”aaaa-MM-jj HH:mm:ss”
$To=”[email protected]” # adresse e-mail du destinataire
$Subject=”ServerName Alerte de connexion : $LoggedInUser”
$Body=@”
L’utilisateur $LoggedInUser s’est connecté à $Computer à $LocalTime.
“@# Envoyer l’e-mail
Send-MailMessage-From $Username-To $To-Subject $Subject-Body $Body `
-SmtpServer”mail.domain.com”-Port 587-UseSsl-Credential $Cred# Facultatif : fichier journal local
Add-Content-Path”C:\Windows\System32\Scripts\UserLoginLog.txt”-Value”$LocalTime – $LoggedInUser connecté sur $Computer”
C’est tout ! Faites-moi savoir si ce guide vous a aidé en laissant votre commentaire sur votre expérience. Veuillez aimer et partager ce guide pour aider les autres.
Si cet article vous a été utile, pensez à nous soutenir en faisant un don. Même 1 $ peut faire une énorme différence pour nous dans nos efforts visant à continuer d’aider les autres tout en gardant ce site gratuit : 
Konstantinos est le fondateur et l’administrateur de Wintips.org. Depuis 1995, il travaille et assure le support informatique en tant qu’expert informatique et réseaux auprès des particuliers et des grandes entreprises. Il est spécialisé dans la résolution de problèmes liés à Windows ou à d’autres produits Microsoft (Windows Server, Office, Microsoft 365, etc.). Derniers messages de Konstantinos Tsoukalas (voir tous)