Comment configurer les alertes par e-mail pour les événements de déverrouillage de Windows Server ou Windows 10/11
Configurer les notifications par e-mail pour les déverrouillages Windows peut s’avérer très pratique, surtout si vous souhaitez surveiller les connexions, que ce soit pour des raisons de sécurité ou simplement pour plus de tranquillité d’esprit. Tout le monde n’a pas envie de consulter constamment les journaux ou d’utiliser des outils tiers ; automatiser ce processus via PowerShell et le Planificateur de tâches est donc une excellente solution. Certes, la configuration demande un peu de temps (et quelques minutes pour tout paramétrer correctement), mais une fois en place, vous recevrez un e-mail à chaque fois qu’un utilisateur déverrouille ou se connecte à votre machine ou serveur. Compatible avec Windows Server 2016/2019, Windows 10 et 11. Un peu de patience avec le script et le planificateur, et le tour est joué ! Petit conseil : si l’e-mail n’est pas envoyé du premier coup, un redémarrage ou une vérification de vos informations SMTP peuvent résoudre le problème. Car, comme toujours, Windows complique inutilement les choses.
Comment forcer Windows à envoyer une notification par e-mail après le déverrouillage et la connexion à Windows Server 2016/2019 ou Windows 10/11 ?
- Exigence : Un serveur SMTP pour l’envoi d’e-mails. Vous aurez besoin de ces informations, comme mail.domain.com, le port 587 et vos identifiants.
Création d’un script PowerShell pour envoyer des e-mails lors de la connexion de l’utilisateur
C’est là que la magie opère. Vous avez besoin d’un script PowerShell qui s’exécute à chaque connexion et envoie un e-mail précisant l’identité de l’expéditeur, la date et l’heure, ainsi que la machine utilisée. Ce n’est pas compliqué, mais il faut être précis, notamment concernant les informations SMTP et les chemins d’accès. Le script sera placé dans un dossier que vous créerez, par exemple `/usr/local/bin` C:\Scripts, et sera exécuté ultérieurement par le Planificateur de tâches.
# Info : Envoie un e-mail lorsqu’un utilisateur se connecte à la machine.
# Identifiants SMTP — remplacez-les par vos véritables informations
# Créer des identifiants $Username = " expé[email protected] " $PlainPassword = "" $SecurePassword = ConvertTo-SecureString $PlainPassword -AsPlainText -Force $Cred = New-Object System. Management. Automation. PSCredential ($Username, $SecurePassword) # Variables de contenu de l’e-mail
$UtilisateurConnecté = $env:USERNAME $Ordinateur = $env:NOM_ORDINATEUR $LocalTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $To = " [email protected] " $Subject = "Alerte de connexion $($Env:COMPUTERNAME) : $LoggedInUser" $Body = @" L'utilisateur $LoggedInUser s'est connecté à $Computer à $LocalTime."@# Envoi de l’e-mail — assurez-vous que les informations de votre serveur SMTP sont correctes
Envoyer-MailMessage -De $Username -À $To -Subject $Subject -Body $Body -SmtpServer " mail.domain.com " -Port 587 -UseSsl -Credential $Cred# Enregistrement local de l’événement (facultatif mais pratique)
Ajouter-Contenu -Chemin "C:\Scripts\UserLoginLog.txt" -Valeur "$LocalTime – $LoggedInUser connecté sur $Computer"
Maintenant, modifiez le script en y intégrant votre adresse e-mail et vos informations SMTP, puis enregistrez-le EmailAlertForUserLogins.ps1dans le dossier de votre choix. N’oubliez pas de configurer le chemin d’accès correct dans votre tâche planifiée.
Configurer une tâche planifiée pour s’exécuter au déverrouillage de Windows
C’est là que l’automatisation entre en jeu. Vous souhaitez que Windows exécute votre script dès qu’un utilisateur déverrouille l’ordinateur ou se connecte, sans intervention manuelle. L’astuce consiste à configurer le déclencheur sur « Au déverrouillage du poste de travail ».
- Ouvrez le Planificateur de tâches (appuyez sur Win + R, tapez taskschd.msc, appuyez sur Entrée).
- Cliquez sur Créer une tâche dans le menu Action.
- Dans l’onglet Général :
- Nommez-le quelque chose comme EnvoyerUnCourrielAuDéverrouillage.
- Cochez la case Exécuter avec les privilèges les plus élevés pour un fonctionnement optimal.
- Cliquez sur Changer d’utilisateur ou de groupe, puis sélectionnez Administrateurs ou votre compte utilisateur disposant des droits nécessaires.
- Dans l’onglet Déclencheurs :
- Cliquez sur Nouveau et définissez Démarrer la tâche sur Au déverrouillage du poste de travail.
- Choisissez N’importe quel utilisateur sauf si vous souhaitez être plus précis, puis cliquez sur OK.
- Dans Actions :
- Cliquez sur Nouveau.
- Programme/script : tapez powershell.exe.
- Dans Ajouter des arguments, collez `
-ExecutionPolicy Bypass -File "C:\Scripts\EmailAlertForUserLogins.ps1" -WindowStyle Hidden` (ajustez le chemin si vous l’avez enregistré ailleurs).
- Dans les conditions :
- Décochez tout — aucune restriction d’économie d’énergie ou de réseau ne s’applique.
- Dans les Paramètres :
- Cochez la case Autoriser l’exécution de la tâche à la demande.
- Activer Exécuter la tâche dès que possible après un démarrage manqué.
- Configurez Si la tâche échoue, redémarrer toutes les minutes et le délai d’expiration à 1 heure pour assurer sa résilience.
- Forcer l’arrêt si l’exécution dure trop longtemps.
Une fois terminé, verrouillez puis déverrouillez votre PC (appuyez sur la touche correspondante Windows + L) et vérifiez si l’e-mail est bien envoyé. Les événements de connexion sont également enregistrés dans un fichier local ; pratique pour le dépannage ou simplement pour conserver une trace de l’historique.
Et voilà, c’est tout. Il arrive parfois que l’e-mail ne s’envoie pas du premier coup, sans que la raison soit précise. Dans ce cas, redémarrez votre ordinateur ou vérifiez les autorisations SMTP et de script. L’exécution en tant qu’administrateur peut également résoudre le problème. Une fois la configuration terminée, vous recevrez des alertes instantanées dès qu’une personne se connecte à votre machine, sans aucun souci.
Résumé
- Créez un script PowerShell qui envoie un e-mail et enregistre les connexions.
- Enregistrez-le dans un dossier dédié, comme
C:\Scripts. - Configurez un déclencheur du Planificateur de tâches Windows pour Au déverrouillage du poste de travail.
- Vérifiez que vos informations et identifiants SMTP sont corrects.
- Effectuer le test en verrouillant/déverrouillant et en confirmant la réception des e-mails.
Conclure
Cette configuration n’est pas des plus sophistiquées, mais elle est efficace. Si le script ne fonctionne pas, vérifiez qu’il dispose des autorisations nécessaires et que les paramètres SMTP sont corrects en dehors du script (essayez d’envoyer un e-mail manuellement).Les paramètres de sécurité de Windows peuvent parfois réserver des surprises ; n’hésitez donc pas à exécuter PowerShell en tant qu’administrateur et à tester le script directement avant de le programmer. Au final, si les e-mails arrivent correctement dans votre boîte de réception, c’est gagné ! Une configuration minimale suffit, et la tranquillité d’esprit est bien plus facile à maintenir. J’espère que cela évitera quelques soucis à certains.