Hyper‑V : VM qui s’arrêtent toutes les heures — corriger l’édition Windows Server 2022 Evaluation expirée (diagnostic, DISM, activation)

Trois VM Hyper‑V sous Windows Server 2022 s’éteignent exactement toutes les 60 minutes ? Ce guide explique pourquoi (édition d’évaluation expirée) et détaille un plan d’action fiable pour diagnostiquer, corriger et prévenir le problème en production.

Sommaire

Vue d’ensemble de la question

Dans un environnement Hyper‑V (hôte Windows Server 2022), trois machines virtuelles s’arrêtent systématiquement après environ une heure, alors que quatre autres VM du même cluster continuent de fonctionner normalement.

Ce comportement est typiquement lié à l’utilisation d’une édition d’évaluation (Evaluation) de Windows Server non activée ou dont la période d’essai (180 jours) est arrivée à expiration. Lorsque c’est le cas, Windows programme un arrêt automatique toutes les 60 minutes afin d’éviter un usage prolongé en production.

Diagnostic rapide (TL;DR)

  • Symptôme : arrêt propre de l’OS invité (pas un crash), cadence proche de 60 min.
  • Cause la plus probable : Windows Server 2022 Evaluation non activé / expiré.
  • Preuve irréfutable : événement 1074 (source : USER32) indiquant wlms.exe ou arrêt planifié par le système.
  • Correction immédiate : activer la clé existante (slmgr /ipk, slmgr /ato) ou convertir l’édition via DISM /Set-Edition puis activer.

Comprendre le mécanisme d’arrêt horaire des éditions d’évaluation

Les images Datacenter Evaluation ou Standard Evaluation sont destinées aux tests. À l’expiration de la période de grâce, le Windows Licensing Monitoring Service (wlms.exe) et la plateforme de protection logicielle imposent un cycle d’arrêt planifié. Ce n’est pas une panne matérielle, ni un défaut Hyper‑V : c’est un comportement volontaire du système invité.

Dans l’Observateur d’événements de la VM, vous verrez typiquement :

  • Journal : Journaux Windows ▸ Système
  • Événements : 1074 (arrêt planifié, source : USER32), parfois suivi d’un 6008 (arrêt inattendu) si l’OS n’a pas pu notifier les services.
  • Message fréquent : « The process C:\Windows\system32\wlms\wlms.exe has initiated the shutdown… »

Étapes de diagnostic détaillées

1) Confirmer l’édition et l’état d’activation

  • GUI : Paramètres ▸ Système ▸ Activation : l’édition peut inclure « Evaluation » ou afficher « Non activé ».
  • Invite de commandes / PowerShell (dans la VM) :
slmgr /dlv
slmgr /xpr
winver

slmgr /xpr indique si la machine est « activée de façon permanente » ou affiche une date d’expiration. winver fait souvent apparaître « Evaluation » dans le nom du produit.

2) Examiner les journaux Système

  • Ouvrez Observateur d’événements ▸ Journaux Windows ▸ Système, filtrez sur 1074 et 6008.
  • Vérifiez le champ « Processus ayant initié l’arrêt » : wlms.exe ou « Windows is not genuine » établi la cause.

3) Écarter les faux positifs

Pour éviter une fausse piste, assurez-vous que le shutdown ne provient pas d’une tâche planifiée, d’un script, d’une GPO ou d’une intégration Hyper‑V.

# Lister des tâches qui invoquent shutdown.exe
Get-ScheduledTask | Where-Object { $_.Actions -match 'shutdown\.exe' } | Format-Table TaskName, State, TaskPath

# Vérifier une éventuelle politique de groupe (dans la VM)

gpresult /h C:\temp\gp.html 

Dans Hyper‑V, la propriété Automatic Stop Action (« Arrêter le système d’exploitation invité », « Sauvegarder l’état », « Éteindre ») ne s’applique qu’en cas d’arrêt de l’hôte ou du service Hyper‑V ; elle n’explique pas un arrêt horaire en fonctionnement normal.

Solution : activer ou convertir l’édition Evaluation

Scénario A — Vous avez déjà une clé valide (MAK / Retail)

  1. Sur chaque VM concernée, lancer une console en Administrateur.
  2. Installer la clé :
    slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
  3. Activer en ligne :
    slmgr /ato

L’activation stoppe immédiatement les arrêts horaires. Aucune réinstallation n’est nécessaire.

Scénario B — Environnement KMS ou ADBA (activation en volume)

  1. Installer la clé client générique adaptée à l’édition (GVLK), puis pointer vers votre hôte KMS :
    slmgr /ipk <GVLK-Server2022-edition>
    slmgr /skms kms.contoso.local
    slmgr /ato
  2. Si vous utilisez Active Directory‑Based Activation, une simple jonction au domaine et un slmgr /ato suffisent.

Scénario C — Conversion Evaluation → Standard/Datacenter sans réinstaller

Si l’OS est Evaluation, convertissez l’édition en ServerStandard ou ServerDatacenter puis activez.

# 1) Vérifier les éditions cibles autorisées
DISM /online /Get-TargetEditions

# 2) Convertir (exemple vers Standard)

DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula

# 3) Redémarrer immédiatement

shutdown /r /t 0

# 4) Activer

slmgr /ato 

Remarques importantes :

  • Choisissez l’édition correspondant à votre droit de licence. ServerDatacenter convient aux hôtes très virtualisés ; ServerStandard suffit pour peu de charges invitées.
  • La conversion n’altère pas la génération de VM (Gen 1/Gen 2), le Secure Boot ni les disques. Vos données et rôles restent en place.

Validation post‑remédiation

  • Exécutez slmgr /xpr : « The machine is permanently activated ».
  • Vérifiez l’absence de nouveaux événements 1074 liés à wlms.exe.
  • Surveillez 90 minutes de production : aucun arrêt inattendu ne doit survenir.

Automatiser les contrôles sur toutes les VM

Dans les environnements avec des dizaines de VM, automatisez le contrôle de l’édition et du statut de licence.

# Exemple&nbsp;: audit rapide de plusieurs serveurs
$servers = @('SRV-APP01','SRV-WEB01','SRV-DB01')  # adaptez la liste
Invoke-Command -ComputerName $servers -ScriptBlock {
  $cv   = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
  $prod = Get-CimInstance -ClassName SoftwareLicensingProduct |
          Where-Object { $_.Name -like 'Windows*Server*' -and $_.PartialProductKey }
  $svc  = Get-CimInstance -ClassName SoftwareLicensingService
  $map  = @{ 0='Unlicensed';1='Licensed';2='OOBGrace';3='OOTGrace';4='NonGenuineGrace';5='Notification';6='ExtendedGrace' }
  [pscustomobject]@{
    Computer       = $env:COMPUTERNAME
    ProductName    = $cv.ProductName
    EditionID      = $cv.EditionID
    IsEvaluation   = ($cv.ProductName -match 'Evaluation')
    LicenseStatus  = $map[[int]$prod.LicenseStatus]
    PartialKey     = $prod.PartialProductKey
    RearmRemaining = $svc.RemainingWindowsReArmCount
  }
} | Format-Table -AutoSize

Astuce : exportez au format CSV et intégrez le contrôle dans vos jobs de supervision (par ex. hebdomadaires).

Tableaux récapitulatifs

Indicateurs & symptômes

IndicateurValeur typique en cas d’évaluation expiréeOutil / Emplacement
Périodicité d’arrêtEnv. toutes les 60 minutesConsole VM / Observateur d’événements
ÉvénementID 1074 (USER32), parfois 6008Journaux Windows ▸ Système
Processus initiateurwlms.exe (licensing)Détail de l’événement 1074
État d’activationNon activé / « Evaluation »slmgr /xpr, Paramètres ▸ Activation
Nom du produitContient « Evaluation »winver, registre CurrentVersion

Commandes utiles

CommandeUsageCommentaire
slmgr /dlvDétails de licenceAffiche l’édition, le canal, la période de grâce
slmgr /xprExpiration / activationDoit indiquer « permanently activated » après correction
slmgr /ipk KEYInstallation de cléRemplacez KEY par votre clé valide
slmgr /atoActivationNécessite l’accès Internet ou KMS interne
DISM /online /Get-TargetEditionsÉditions ciblesListe les éditions autorisées pour la conversion
DISM /online /Set-Edition:SKU /ProductKey:KEY /AcceptEulaConversion d’éditionSKU : ServerStandard ou ServerDatacenter
slmgr /rearmRéinitialiser période d’essaiJusqu’à 6 fois sur Server ; usage laboratoire, pas production

Éditions & conversions

État actuelConversion possibleImpact
Datacenter EvaluationVers Datacenter (sous licence)Redémarrage requis, pas de réinstallation
Standard EvaluationVers Standard (sous licence)Redémarrage requis, pas de réinstallation
Standard EvaluationVers DatacenterPossible si autorisé par DISM ; choisissez la clé adéquate

Pourquoi seules certaines VM sont touchées ?

  • Clonage d’une image de base : une même image Evaluation a pu être clonée pour trois VM, tandis que les autres proviennent d’un modèle activé.
  • Revert de snapshot : revenir à un instantané antérieur peut rétablir un état proche de l’expiration.
  • Mix d’éditions : Datacenter/Standard, LTSC/SAC. Les capacités restent compatibles en VM, mais la licence et l’activation diffèrent.

Bonnes pratiques pour ne plus revivre cet incident

  • Standardiser le déploiement : adoptez une image généralisée (sysprep) déjà configurée pour KMS/ADBA.
  • Inventorier les clés : conservez un registre des clés, dates d’achat, canaux (Retail, MAK, Volume).
  • Superviser la licence : script d’audit périodique + alerte quand Evaluation est détecté.
  • Éviter les rearms en production : slmgr /rearm dépanne un labo, pas un cluster de production.
  • Ne mélangez pas les canaux au hasard : gardez une cohérence d’édition au sein d’un même service applicatif.

FAQ

Puis‑je convertir une édition d’évaluation sans perte de données ?

Oui. La conversion via DISM ne réinstalle pas l’OS et n’efface pas vos rôles, fonctionnalités ni données. Un redémarrage est requis.

DISM renvoie l’erreur 87 ou 50 ; que faire ?

Vérifiez la syntaxe (/Set-Edition:ServerStandard ou ServerDatacenter) et exécutez la commande dans une console élevée. Assurez‑vous que l’édition cible figure dans /Get-TargetEditions.

Quels indices dans les journaux confirment l’origine « licence » ?

Événement 1074 avec wlms.exe initiateur, messages « Windows is not genuine » ou « expiré », et absence d’événements matériels critiques concomitants.

La VM est un contrôleur de domaine : des précautions ?

Planifiez la conversion hors pic, assurez la disponibilité (second DC en ligne), puis activez. Aucune opération de rôle n’est perdue.

La génération de VM (Gen 1/Gen 2) ou Secure Boot est‑elle affectée ?

Non. L’édition et son activation n’ont aucun impact sur la génération ni sur Secure Boot en tant que tels.

Procédure pas à pas (récapitulatif opérationnel)

  1. Identifier les VM qui s’arrêtent toutes les 60 min.
  2. Confirmer l’édition/activation : slmgr /xpr, slmgr /dlv, Paramètres ▸ Activation.
  3. Vérifier dans l’Observateur d’événements la présence de 1074 / wlms.exe.
  4. Choisir la stratégie : activer avec une clé existante, activer via KMS/ADBA ou convertir l’édition avec DISM.
  5. Exécuter la conversion/activation, redémarrer si nécessaire.
  6. Valider (slmgr /xpr), contrôler les journaux, surveiller la stabilité.
  7. Prévenir : scripts d’audit, image standardisée, gestion centralisée des clés.

Exemple : script d’activation en masse (MAK/KMS)

# ATTENTION : adaptez & testez dans un labo avant production
$servers = Get-Content .\serveurs.txt  # un nom par ligne
$key     = 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'  # clé valide si MAK/Retail
$kms     = 'kms.contoso.local'              # hôte KMS si applicable

Invoke-Command -ComputerName $servers -ScriptBlock {
param($key,$kms)
try {
if ($key) { slmgr /ipk $key | Out-Null }
if ($kms) { slmgr /skms $kms | Out-Null }
slmgr /ato | Out-Null
Start-Sleep -Seconds 5
$status = (cscript.exe //nologo C:\Windows\System32\slmgr.vbs /xpr)
[pscustomobject]@{
Computer = $env:COMPUTERNAME
ActivationStatus = $status
}
} catch {
[pscustomobject]@{ Computer = $env:COMPUTERNAME; Error = $_.Exception.Message }
}
} -ArgumentList $key,$kms | Format-Table -AutoSize 

Points de conformité & licence à garder en tête

  • Virtualisation : Windows Server Standard couvre 2 OSE/VM par licence (cumulable) ; Datacenter couvre un nombre illimité de VM sur l’hôte licencié.
  • Production vs évaluation : les éditions Evaluation ne sont pas prévues pour la production. Activez ou migrez avant mise en service.
  • Traçabilité : conservez un historique des conversions (tickets, captures d’écran slmgr, journaux).

Symptômes à ne pas confondre (check‑list)

  • Reboot planifié par Windows Update : ponctuel, pas toutes les 60 min.
  • Crash BSOD : redémarrage brutal avec mémoire crash ; ici, l’arrêt est propre.
  • Arrêt par manque d’énergie : événements matériels/UPS, pas wlms.exe.
  • Arrêt lié à Hyper‑V : survient à l’arrêt de l’hôte ou du service, pas en continu à intervalle fixe.

Conclusion

Un arrêt automatique toutes les heures sur quelques VM Hyper‑V est, dans la très grande majorité des cas, la signature d’une édition d’évaluation de Windows Server arrivée à expiration. La résolution est directe : activer l’OS avec la clé adéquate ou convertir l’édition via DISM puis activer. En pérennisant l’activation (KMS/ADBA), en standardisant vos images et en automatisant un audit simple, vous éliminez durablement ce risque en production.


Informations complémentaires utiles

  • Durée d’évaluation : 180 jours, prolongeable jusqu’à six fois avec slmgr /rearm pour des usages de labo (non recommandé en production).
  • Éditions & canaux : évitez de mélanger Datacenter/Standard ou différents canaux au sein d’un même service ; cela complique l’exploitation et la conformité.
  • Compatibilité VM : la conversion d’édition n’a aucun impact sur Gen 1/Gen 2 ni sur Secure Boot.
Sommaire