Points clés
- Automatisez les changements de mot de passe avec Azure Key Vault et PowerShell pour éliminer le risque lié à des identifiants d’administrateur local obsolètes et gérés manuellement.
- Stockez chaque mot de passe renouvelé sous forme de secret versionné dans Key Vault, plutôt que dans un tableur partagé ou un ticket.
- Limitez les personnes autorisées à récupérer un mot de passe stocké grâce aux rôles de contrôle d’accès basé sur les rôles (RBAC), aux Private Endpoints Key Vault et à la journalisation des accès.
- Suivez la date de la dernière rotation de chaque appareil dans le registre pour confirmer que la planification fonctionne.
- Complétez l’automatisation par une référence de configuration de mots de passe définie via une stratégie de groupe, afin que les connexions manuelles de secours restent conformes.
- Effectuez une rotation tous les 30 à 90 jours selon votre cadre de conformité, et immédiatement après toute exposition d’identifiants.
Recourir à l’automatisation pour renouveler les mots de passe d’administrateur local constitue une étape essentielle de la réduction des risques. Ces risques, qui concernent avant tout la sécurité, apparaissent généralement lorsque les identifiants sont gérés manuellement. Grâce à PowerShell et à Azure Key Vault, le processus d’automatisation devient fluide : il garantit un haut niveau de sécurité, la conformité et l’auditabilité en supprimant le facteur humain et en gérant les identifiants de façon sécurisée.
Les principaux objectifs de cette méthode sont de renouveler régulièrement les mots de passe sur l’ensemble des appareils, de les stocker en toute sécurité dans Azure Key Vault, d’auditer les accès et les récupérations, et de respecter les bonnes pratiques du Zero Trust et de LAPS. Dans ce guide, nous vous accompagnons pas à pas dans la configuration d’Azure Key Vault, l’écriture du script de rotation des mots de passe, l’application des contrôles de sécurité et la validation de la conformité sur l’ensemble des terminaux.
Envie d’en savoir plus ? Regardez notre vidéo « Comment renouveler les mots de passe d’administrateur local en toute sécurité avec PowerShell et Azure Key Vault » pour un tutoriel en images.
En un coup d’œil :
| Tâche | Objectif |
| Tâche 1 : configurer Azure Key Vault pour le stockage des mots de passe | Mettre en place un stockage sécurisé et centralisé des mots de passe d’administrateur local avec Azure Key Vault |
| Tâche 2 : créer un script PowerShell pour renouveler les mots de passe | Automatiser la génération et la rotation sécurisées des mots de passe à l’aide de scripts PowerShell personnalisés |
| Tâche 3 : sécuriser et restreindre l’accès aux mots de passe | Limiter l’accès aux identifiants stockés grâce au RBAC de Key Vault, aux identités gérées ou à PIM |
| Tâche 4 : récupérer les mots de passe en toute sécurité (récupération administrateur facultative) | Autoriser la récupération des mots de passe locaux par des personnes habilitées via des méthodes PowerShell sécurisées |
| Tâche 5 : utiliser le registre pour suivre la date de rotation ou les métadonnées (facultatif) | Stocker un horodatage ou des métadonnées dans le registre Windows pour vérifier ou auditer les changements de mot de passe |
| Tâche 6 : appliquer les politiques de mot de passe via une stratégie de groupe | Garantir l’application cohérente de configurations de mots de passe locaux sécurisées via GPO |
| Tâche 7 : valider la rotation des mots de passe avec CMD (invite de commande) et PowerShell | Exécuter des commandes système pour vérifier les changements de mot de passe et contrôler l’état d’accès au système |
Prérequis pour automatiser la rotation des mots de passe d’administrateur local
Avant de passer aux tâches, assurez-vous que votre environnement remplit les conditions suivantes :
- Un abonnement Azure avec un Azure Key Vault provisionné (Azure Key Vault est un coffre sécurisé pour les secrets : mots de passe, clés et certificats, protégé par un chiffrement matériel et compatible avec les principes du Zero Trust et du moindre privilège.)
- Des appareils joints à Azure AD ou en jonction hybride
- Un compte d’administrateur local connu (par exemple « localadmin »)
- La communication à distance PowerShell activée
- Les modules installés : Accounts, Az.KeyVault
- Des droits d’administration sur toutes les machines cibles
Tâche 1 : configurer Azure Key Vault pour le stockage des mots de passe
Cas d’utilisation :
Cette tâche provisionne Azure Key Vault et définit son modèle d’accès, afin que seules les identités autorisées puissent écrire et lire les mots de passe stockés. Elle active également les protections de rétention pour qu’un secret renouvelé ne puisse jamais être définitivement perdu.
Les restrictions réseau, comme les règles de pare-feu et les Private Endpoints, ainsi que la journalisation d’audit, se configurent à la tâche 3. Les secrets sont chiffrés par défaut avec une clé protégée par BNT (boîte noire transactionnelle) : aucune configuration BNT distincte n’est donc nécessaire ici.
- Accédez à Key Vaults > Create, puis définissez le groupe de ressources et la région.
- Dans Access Policies, accordez aux comptes de service ou aux utilisateurs d’automatisation des autorisations telles que Set et Get sur les secrets.
- Activez Soft delete et Purge protection pour sécuriser la rétention.
- Vous pouvez également utiliser le RBAC plutôt que les stratégies d’accès, afin d’obtenir un contrôle d’accès et des attributions auditables.
- Choisissez une convention de nommage des secrets, par exemple AdminPassword-<deviceName>.
Remarque : il n’est pas nécessaire de créer le secret au préalable, car le script de la tâche 2 le crée automatiquement lors de la première rotation d’un mot de passe.
Tâche 2 : créer un script PowerShell pour renouveler les mots de passe
Cas d’utilisation :
Cette tâche génère un nouveau mot de passe d’administrateur local, l’enregistre dans Key Vault, puis l’applique seulement ensuite en local : ainsi, l’écriture dans Key Vault ne laisse jamais un appareil avec un mot de passe impossible à récupérer. Le script peut être déployé via Azure Automation, le Planificateur de tâches, le déploiement de scripts Intune ou NinjaOne pour une distribution à grande échelle, mais la méthode d’authentification ci-dessous ne fonctionne que sur certaines cibles de déploiement. (Voir la remarque après le script)
- Ouvrez PowerShell en tant qu’administrateur. Appuyez sur la touche Windows, saisissez PowerShell, puis faites un clic droit sur Windows PowerShell et sélectionnez Exécuter en tant qu’administrateur.
- Exécutez la commande suivante :
# Windows PowerShell 5.1
Add-Type -AssemblyName System.Web
$DeviceName = $env:COMPUTERNAME
$AdminUser = "localadmin"
$VaultName = "MySecureVault"
$SecretName = "AdminPassword-$DeviceName"
$NewPassword = [System.Web.Security.Membership]::GeneratePassword(20,4)
# Step 1: Save the new password to Key Vault BEFORE changing it locally.
try {
Connect-AzAccount -Identity -ErrorAction Stop
Set-AzKeyVaultSecret -VaultName $VaultName -Name $SecretName `
-SecretValue (ConvertTo-SecureString $NewPassword -AsPlainText -Force) `
-ErrorAction Stop
}
catch {
Write-Error "Key Vault write failed for $DeviceName — local password was NOT changed. $_"
exit 1
}
# Step 2: Only apply the new password locally after Key Vault confirms the write.
try {
net user $AdminUser $NewPassword
if ($LASTEXITCODE -ne 0) { throw "net user returned exit code $LASTEXITCODE" }
}
catch {
Write-Error "Local password change failed for $DeviceName AFTER the new password was already saved to Key Vault. The stored secret and the live local password are now out of sync — investigate manually. $_"
exit 1
}
Write-Output "Password rotation completed successfully for $DeviceName."
Comme System.Web n’est pas disponible pour PowerShell 7, voici un script de substitution que vous pouvez utiliser avec PowerShell 7 :
function New-RandomPassword {
param([int]$Length = 20, [int]$MinNonAlphanumeric = 4)
$alphaNum = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
$symbols = '!@#$%^&*()-_=+[]{}'
$nonAlphaCount = Get-Random -Minimum $MinNonAlphanumeric -Maximum ($Length - $MinNonAlphanumeric)
$chars = 1..($Length - $nonAlphaCount) | ForEach-Object { $alphaNum[(Get-Random -Maximum $alphaNum.Length)] }
$chars += 1..$nonAlphaCount | ForEach-Object { $symbols[(Get-Random -Maximum $symbols.Length)] }
-join ($chars | Sort-Object { Get-Random })
}
$NewPassword = New-RandomPassword -Length 20 -MinNonAlphanumeric 4
Remarque : Connect-AzAccount -Identity nécessite une identité gérée provenant du service Azure Instance Metadata Service. Cette commande ne fonctionne donc que sur des ressources Azure, comme Azure Automation, les machines virtuelles Azure ou les serveurs compatibles Arc.
Tâche 3 : sécuriser et restreindre l’accès aux mots de passe
Cas d’utilisation :
Cette tâche limite l’accès à Azure Key Vault au personnel désigné pour la récupération, à l’aide de rôles RBAC. Seuls les utilisateurs autorisés peuvent ainsi récupérer les mots de passe d’administrateur local en cas d’urgence.
Suivez ces bonnes pratiques pour sécuriser les secrets de votre Azure Key Vault, appliquer le principe du moindre privilège et faciliter l’audit comme la réponse aux incidents.
- Limitez l’accès à l’aide de rôles RBAC (par exemple Reader, Secret Reader) ou de stratégies d’accès.
- Activez la journalisation via Azure Monitor ou les paramètres de diagnostic pour suivre les récupérations de secrets.
- Utilisez les Private Endpoints Key Vault pour restreindre l’accès au réseau interne d’Azure plutôt que de l’exposer sur l’internet public.
- N’accordez le droit de récupération qu’aux comptes d’automatisation désignés ou au personnel habilité qui effectue les opérations de récupération.
Tâche 4 : récupérer les mots de passe en toute sécurité (récupération administrateur facultative)
Cas d’utilisation :
Cette tâche s’applique aux scénarios de récupération dans lesquels les administrateurs doivent récupérer un mot de passe d’administrateur local depuis Key Vault.
- Ouvrez PowerShell en tant qu’administrateur. Appuyez sur la touche Windows, saisissez PowerShell, puis faites un clic droit sur Windows PowerShell et sélectionnez Exécuter en tant qu’administrateur.
- Exécutez la commande suivante :
Connect-AzAccount -Identity
$VaultName = "MySecureVault"
$DeviceName = "LAPTOP-1234"
$SecretValue = Get-AzKeyVaultSecret -VaultName $VaultName -Name "AdminPassword-$DeviceName" -AsPlainText
Remarque : -Identity ne fonctionne que là où une identité gérée existe. Si un administrateur exécute cette commande de façon interactive sur son propre poste de travail, il doit utiliser Connect-AzAccount à la place et s’assurer que son compte dispose du rôle Key Vaults Secrets User.
- Pensez à :
- journaliser tous les événements de récupération
- n’utiliser la récupération que dans le cadre de procédures d’urgence ou de récupération autorisées
- renouveler immédiatement le mot de passe après la récupération, si nécessaire
Tâche 5 : utiliser le registre pour suivre la date de rotation ou les métadonnées (facultatif)
Cas d’utilisation :
Cette tâche permet de vérifier qu’une rotation de mot de passe a bien eu lieu sur un appareil. Vous pouvez suivre l’horodatage de la dernière rotation à l’aide du registre Windows.
- Ouvrez PowerShell en tant qu’administrateur. Appuyez sur la touche Windows, saisissez PowerShell, puis faites un clic droit sur Windows PowerShell et sélectionnez Exécuter en tant qu’administrateur.
- Exécutez la commande suivante :
New-ItemProperty -Path "HKLM:\SOFTWARE\Org\AdminPasswordRotation" `
-Name "LastRotation" -PropertyType String -Value (Get-Date).ToString("u") -Force
Tâche 6 : appliquer les politiques de mot de passe via une stratégie de groupe
Cas d’utilisation :
Cette tâche garantit la complexité des mots de passe, y compris lors des scénarios de repli manuel. Elle assure la conformité et la cohérence de la politique d’identifiants de votre entreprise, même en dehors des rotations automatisées.
- Ouvrez l’éditeur de stratégie de groupe en tant qu’administrateur. Appuyez sur la touche Windows, saisissez gpedit.msc, puis appuyez sur Ctrl + Maj + Entrée pour l’exécuter en tant qu’administrateur.
- Accédez à : Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégies de comptes > Stratégie de mot de passe
- Définissez les valeurs suivantes :
- Longueur minimale du mot de passe = 20 caractères
- Le mot de passe doit respecter des exigences de complexité = Activé
- Durée de vie maximale du mot de passe = 30 jours
Tâche 7 : valider la rotation des mots de passe avec CMD (invite de commande) et PowerShell
Cas d’utilisation :
Cette tâche s’appuie sur l’invite de commande et PowerShell pour confirmer que l’automatisation fonctionne et que les mots de passe sont bien mis à jour régulièrement.
- Ouvrez l’invite de commande ou PowerShell.
- Exécutez les commandes suivantes :
| Tâche de validation | Commande CMD | Commande PowerShell |
| Vérifier les événements récents de changement de mot de passe | wevtutil qe Security "/q:*[System[(EventID=4723)]]" /c:3 /f:text |
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4723} -MaxEvents 3 | Format-List |
| Lister les utilisateurs locaux | net user |
Get-LocalUser |
| Tester la résolution DNS pour Key Vault | nslookup <yourvaultname>.vault.azure.net |
Resolve-DnsName -Name "<yourvaultname>.vault.azure.net" |
| Vérifier l’état de la tâche dans le Planificateur de tâches | schtasks /query /tn "RotateLocalAdminPassword" |
Get-ScheduledTask -TaskName "RotateLocalAdminPassword" |
Points de vigilance
| Risques | Conséquences possibles | Mesures correctives |
| Le script ne parvient pas à mettre à jour le mot de passe | Le mot de passe reste inchangé, ce qui expose le terminal aux attaques par force brute ou à la réutilisation d’identifiants. | Ajoutez une journalisation pour confirmer l’exécution ; testez les scripts manuellement avant de les automatiser ; surveillez l’historique du Planificateur de tâches. |
| Le mot de passe est mis à jour, mais pas enregistré dans Key Vault | Entraîne une perte d’accès aux identifiants, notamment lors des scénarios de récupération | Activez la gestion des erreurs et la journalisation de confirmation ; validez l’accès en écriture à Key Vault avant la rotation. |
| Accès à Key Vault mal configuré | Des utilisateurs non autorisés peuvent accéder aux identifiants, ou le script de rotation échoue faute d’accès. | Revoyez régulièrement le RBAC et les stratégies Key Vault ; réservez l’accès aux secrets à un groupe à privilèges. |
| Intervalle de rotation non appliqué | Les mots de passe peuvent rester inchangés pendant de longues périodes, en violation des politiques de sécurité | Utilisez des tâches planifiées avec un intervalle imposé ; surveillez la clé de registre ou les journaux d’audit pour confirmation. |
| Problèmes de synchronisation horaire entre les terminaux | Peut fausser le déclenchement des tâches planifiées ou induire en erreur lors de la lecture des journaux d’audit | Synchronisez l’heure via NTP ; utilisez un journal centralisé ou un SIEM pour valider les horodatages de façon cohérente. |
Autres points à prendre en compte pour la rotation automatisée des mots de passe d’administrateur local
- Limites d’Azure Key Vault : tenez compte des limites de nommage et de la limitation des requêtes si vous gérez des centaines de secrets.
- Ne journalisez jamais les mots de passe : n’écrivez jamais de mot de passe dans un fichier ou la console ; utilisez toujours des chaînes sécurisées.
- Fréquence de rotation : tous les 30 à 90 jours, selon le cadre de conformité.
- Gestion multi-tenant : utilisez des étiquettes ou des groupes de ressources pour séparer les coffres de chaque client dans les environnements MSP
Les services NinjaOne pour configurer la rotation des mots de passe d’administrateur local
NinjaOne et ses outils peuvent améliorer la gestion des mots de passe d’administrateur local grâce aux services suivants.
| Service NinjaOne | De quoi s’agit-il | En quoi cela aide à sécuriser la rotation des mots de passe d’administrateur local |
| Déploiement de scripts | Diffuser des scripts PowerShell pour renouveler en toute sécurité les mots de passe locaux sur les terminaux | Garantit une rotation des mots de passe cohérente et automatisée sur tous les appareils gérés |
| Surveillance des rotations | Suivre la date du dernier changement de mot de passe de chaque appareil via des clés de registre ou des journaux de script | Aide à vérifier que la rotation a lieu comme prévu et signale les tentatives manquées ou échouées |
| Intégration à Key Vault | Automatiser les échanges avec Key Vault à l’aide d’identités gérées ou d’identifiants | Permet de stocker et de récupérer les mots de passe en toute sécurité pendant la rotation, sans secrets codés en dur |
| Alertes et audit | Avertir les techniciens en cas d’échec de rotation ou lorsque des mots de passe approchent de leur expiration | Offre visibilité et traçabilité sur la réussite ou l’échec des rotations de mots de passe |
| Évolutivité multi-clients | Maintenir des politiques de rotation et un stockage en coffre distincts pour chaque environnement client. | Permet une gestion sécurisée et cloisonnée des identifiants pour les MSP qui gèrent plusieurs clients |
Renouveler les mots de passe d’administrateur local pour renforcer la sécurité
Face à des cyberattaques toujours plus sophistiquées, il est essentiel de mettre en place des stratégies pour protéger les identifiants critiques comme les mots de passe d’administrateur local. Cette rotation peut se faire manuellement, mais l’automatisation renforce considérablement la sécurité. Ce guide devrait vous aider à :
- configurer Azure Key Vault pour un stockage sécurisé des mots de passe
- utiliser PowerShell pour renouveler et stocker les identifiants d’administrateur local
- appliquer les politiques de mot de passe et suivre les rotations
- restreindre et auditer les accès grâce au RBAC et à la journalisation
- valider l’état des rotations à l’aide des outils Windows intégrés
Réaliser ces tâches revient à suivre les bonnes pratiques d’une rotation efficace des mots de passe d’administrateur local. Cela devrait aider les administrateurs informatiques et les MSP à renforcer la sécurité des terminaux et à garder la maîtrise opérationnelle de l’ensemble des environnements qu’ils gèrent.
Sujets connexes :
- Tout ce qu’il faut savoir sur l’Automatisation Informatique
- Microsoft Azure : avantages et inconvénients d’Active Directory
- Comment activer ou désactiver le compte Administrateur intégré dans Windows 11
- Comment imposer un historique des mots de passe pour les comptes locaux dans Windows 10
- Comment utiliser PowerShell pour définir les mots de passe d’administrateur local