Les scripts illustrent les contrôles ou les corrections décrits dans l’article. Ils ne constituent pas des outils prêts à déployer. Avant toute utilisation, vérifiez les chemins, les permissions et la cible, puis testez le comportement et le retour arrière sur un environnement représentatif.
Le repère en bref
J’ouvre certlm.msc pour les certificats ordinateur et certmgr.msc pour ceux de l’utilisateur connecté.
Dans PowerShell, Cert:\LocalMachine\My et Cert:\CurrentUser\My permettent une lecture structurée. Je cherche une clé privée, le bon EKU, une période valide et une chaîne approuvée.
Je ne supprime jamais un certificat pour tester : il peut protéger Wi-Fi, VPN, chiffrement ou authentification.
J’ouvre certlm.msc pour les certificats ordinateur et certmgr.msc pour ceux de l’utilisateur connecté.
Quand l’utiliser
Ce repère sert quand un profil Intune est annoncé comme réussi mais que l’application ne propose aucun certificat, ou quand je dois comparer un certificat utilisateur et appareil.
« Magasins de certificats Windows » rassemble le repère utile, la commande adaptée, la lecture du résultat et ses limites.
Cette note ne remplace pas une procédure de changement. Toute action qui modifie le poste exige une validation adaptée au contexte.
- Windows 10/11
- contrôle local en lecture seule
Commande ou manipulation
HasPrivateKey doit être True pour une authentification cliente. Je contrôle ensuite NotBefore/NotAfter et Client Authentication dans EnhancedKeyUsageList.
Pour la chaîne, j’ouvre le certificat et consulte Certification Path, ou j’emploie certutil sur un export public .cer. Je n’exporte pas la clé privée.
# Exemple de collecte en lecture seule — à adapter avant utilisation
$ErrorActionPreference = 'Stop'
try {
Get-ChildItem Cert:\LocalMachine\My,Cert:\CurrentUser\My |
Select-Object PSParentPath,Subject,Issuer,Thumbprint,NotAfter,HasPrivateKey,EnhancedKeyUsageList
} catch { Write-Error "Lecture impossible : $($_.Exception.Message)"; exit 1 }Ajouter certutil.exe -store My pour une seconde lecture du magasin machine et certutil.exe -user -store My pour l’utilisateur.
Lire le résultat et connaître les limites
- le certificat est dans le magasin attendu
- la clé privée est présente
- la date, l’EKU et la chaîne correspondent au service
- une EKU vide peut autoriser plusieurs usages selon le contexte
- une empreinte est un identifiant, pas une preuve de confiance
- toute suppression exige un runbook séparé
| Constat | Interprétation |
|---|---|
| Absent du magasin attendu | Ciblage ou contexte incorrect |
| HasPrivateKey = False | Identité cliente inutilisable |
| NotAfter dépassé | Certificat expiré |
| EKU absent | Usage à confirmer avant conclusion |
Repères d’utilisation
Avant toute application à grande échelle, vérifiez les versions, les licences et les comportements sur un environnement pilote représentatif. Les résultats locaux ne constituent pas à eux seuls une validation pour la production.
Références techniques publiques
J’ai privilégié la documentation Microsoft pour les comportements contractuels. Les retours terrain complètent l’observation, sans remplacer la documentation de support.
- MicrosoftProvider Certificate PowerShell
- MicrosoftCommande certutil