La sécurité des comptes utilisateurs est une composante cruciale de la protection de votre système Windows. Les comptes utilisateurs, en particulier ceux dotés de privilèges administratifs, peuvent représenter des cibles attrayantes pour les cyberattaquants. C’est pourquoi il est essentiel d’auditer régulièrement ces comptes pour s’assurer qu’ils ne comportent pas de vulnérabilités, telles que des mots de passe non sécurisés ou des configurations à risque.
Dans cet article, nous vous présenterons un script PowerShell simple mais puissant qui vous permet d’auditer les comptes utilisateurs locaux sur votre PC. Ce script vous aidera à identifier les comptes désactivés, les comptes sans mot de passe, et les comptes dont les mots de passe ne sont pas configurés pour expirer. Grâce à cet audit, vous pourrez renforcer la sécurité de votre système en prenant des mesures préventives contre les accès non autorisés.
# Récupère tous les utilisateurs locaux
$users = Get-WmiObject Win32_UserAccount -Filter "LocalAccount=True"
# Crée une liste pour stocker les résultats
$results = @()
# Parcourt chaque utilisateur
foreach ($user in $users) {
# Vérifie si le compte est désactivé
$disabled = if ($user.Disabled) { "Oui" } else { "Non" }
# Vérifie si le mot de passe ne doit jamais expirer
$passwordNeverExpires = if ($user.PasswordExpires) { "Non" } else { "Oui" }
# Vérifie si le compte n'a pas de mot de passe
$noPassword = if ($user.PasswordRequired) { "Non" } else { "Oui" }
# Ajoute les informations à la liste des résultats
$results += [PSCustomObject]@{
"Nom d'utilisateur" = $user.Name
"Compte désactivé" = $disabled
"Mot de passe n'expire jamais" = $passwordNeverExpires
"Pas de mot de passe" = $noPassword
}
}
# Affiche les résultats sous forme de tableau
$results | Format-Table -AutoSize
Instructions
- Ouvrir PowerShell en tant qu’administrateur : Exécutez PowerShell avec les privilèges d’administrateur pour permettre au script d’accéder aux informations sur les comptes utilisateurs.
- Exécuter le script : Copiez-collez le script dans la fenêtre PowerShell et appuyez sur Entrée.
- Analyser les résultats : Le script générera un tableau contenant les informations suivantes pour chaque compte utilisateur local :
- Nom d’utilisateur : Le nom de l’utilisateur.
- Compte désactivé : Indique si le compte est désactivé (Oui/Non).
- Mot de passe n’expire jamais : Indique si le mot de passe de l’utilisateur est configuré pour ne jamais expirer (Oui/Non).
- Pas de mot de passe : Indique si le compte n’a pas de mot de passe (Oui/Non).
Résultats
Ce script vous permet de :
- Identifier les comptes désactivés : Vous pouvez repérer les comptes qui ne devraient plus être actifs et les supprimer ou les réactiver en cas de besoin.
- Repérer les comptes sans mot de passe : Les comptes sans mot de passe sont un risque de sécurité majeur, surtout si d’autres utilisateurs ont accès à votre système.
- Vérifier les mots de passe non-expirants : Les mots de passe qui n’expirent jamais peuvent constituer un point faible, en particulier si un mot de passe est compromis.
Conclusion
L’audit régulier des comptes utilisateurs est une bonne pratique de sécurité qui aide à prévenir les accès non autorisés et à garantir que seuls les utilisateurs autorisés disposent de comptes actifs. Ce script PowerShell vous permet de rapidement évaluer l’état des comptes sur votre système Windows et de prendre les mesures nécessaires pour renforcer la sécurité.
En ajoutant cet audit à vos routines de sécurité, vous pouvez améliorer la sécurité de vos systèmes en réduisant le nombre de points d’entrée potentiels pour les attaquants.
