Arresto automatico VM Hyper‑V ogni ora: causa Evaluation scaduta e soluzioni definitive per Windows Server 2022

Su Hyper‑V alcune VM con Windows Server 2022 si spegnevano puntualmente ogni 60 minuti. La causa è stata l’edizione Evaluation scaduta. In questa guida trovi diagnosi, comandi e procedure per convertire e attivare correttamente le VM e ripristinare un funzionamento continuo e stabile.

Indice

Scenario e sintomi

In un host Hyper‑V con Windows Server 2022 erano in esecuzione sette macchine virtuali. Tre di esse si arrestavano da sole circa un’ora dopo ogni avvio, senza crash apparenti, mentre le altre quattro continuavano a lavorare regolarmente. Nessun errore applicativo, nessun problema di storage o rete: solo un arresto “ordinato” ma non richiesto dagli amministratori.

Diagnosi rapida

Il comportamento è tipico delle installazioni di Windows Server 2022 Evaluation a cui è scaduto il periodo di prova (180 giorni). Alla scadenza, il sistema operativo forza uno shutdown periodico ogni ora come misura antipirateria.

SegnaleCome appareInterpretazione
Arresto ogni ~60 minutiLa VM si spegne in modo pulito, poi può essere riavviataTimer antipirateria attivo per licenza Evaluation scaduta
Eventi 1074/109Event Viewer → Registri di Windows → SistemaArresto avviato dal sistema per motivi di licenza
Stato attivazioneslmgr /xprIndica “copia non attivata” o data di scadenza
EdizioneDISM /Online /Get-CurrentEditionMostra ServerStandardEval o simile

Perché accade: Evaluation scaduta

Cos’è l’edizione Evaluation

L’edizione Evaluation di Windows Server consente di testare la piattaforma per un periodo limitato. In molte realtà viene usata per POC, ambienti di laboratorio o build temporanee. Può però finire in produzione per errore, per fretta o perché si è clonato un template dimenticando di convertirlo.

Cosa succede alla scadenza

Trascorsi i 180 giorni (o se la copia non viene attivata), il Servizio Protezione Software avvia un meccanismo di compliance che comporta:

  • notifiche di attivazione e watermark sul desktop (nelle installazioni con GUI),
  • registrazioni in Event Viewer relative alla licenza,
  • arresto automatico circa ogni 60 minuti fino all’attivazione.

Verifiche fondamentali

Verificare lo stato di attivazione

Eseguire nella VM (con diritti amministrativi):

slmgr /xpr

Il comando mostra se la copia è “permanentemente attivata” oppure indica la data di scadenza. In alternativa, per più dettagli:

slmgr /dlv

Controllare edizione corrente e target disponibili

DISM /Online /Get-CurrentEdition
DISM /Online /Get-TargetEditions

Se vedi ServerStandardEval o ServerDatacenterEval, sei su Evaluation.

Event Viewer: tracce utili

Apri Visualizzatore eventi → Registri di Windows → Sistema e filtra per ID evento 1074 e 109. Troverai voci che indicano l’arresto avviato dal sistema per motivi di licenza scaduta. In alcuni casi possono comparire anche eventi del servizio di protezione software (Software Protection Platform).

Comportamento in Hyper‑V

Dal punto di vista dell’host, gli arresti appaiono come spegnimenti “ordinati” del guest: Hyper‑V non è la causa, si limita a registrare che la VM si è spenta. Il problema è interamente nel sistema operativo della VM.

Soluzione: conversione e attivazione dell’edizione

Hai due strade: conversione in‑place da Evaluation a un’edizione licenziata (Standard o Datacenter) oppure reinstallazione della VM partendo da un’ISO già licenziata. La conversione è la più rapida e mantiene applicazioni e dati.

Prerequisiti e buone pratiche

  • Snapshot/backup prima di iniziare (checkpoint Hyper‑V o backup agente): è la tua rete di sicurezza per un rapido rollback.
  • Product key valido: MAK, Retail o GVLK (se attivi via KMS). Tienilo a portata di mano.
  • Accesso amministrativo alla VM e connessione di rete verso i server di attivazione (Internet o KMS interno).
  • Coerenza temporale: data e ora corrette, altrimenti l’attivazione può fallire.

Opzione A — Conversione in‑place

  1. Valuta l’edizione giusta (Standard o Datacenter) in base alle funzionalità necessarie (es. Shielded VM, Storage Spaces Direct, ecc.).
  2. Esegui la conversione all’interno della VM: dism /online /set-edition:ServerStandard /productkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /accepteula Sostituisci la chiave con il tuo product key valido e usa ServerDatacenter se devi passare a Datacenter.
  3. Riavvia quando richiesto. Al termine, l’OS chiederà un riavvio per completare la conversione.
  4. Attiva la licenza: slmgr /ato Se usi KMS e devi impostare la chiave generica e il server, puoi farlo (se necessario) con: slmgr /ipk <chiave‑GVLK‑dell’edizione> slmgr /skms kms.miodominio.local slmgr /ato
  5. Verifica: slmgr /xpr Dovrebbe risultare “permanentemente attivata”.

Opzione B — Reinstallazione da ISO licenziata

Se preferisci partire pulito o la conversione non è possibile, reinstalla la VM usando un’ISO non‑Evaluation. Procedura consigliata:

  1. Esporta o salva i dati/applicazioni (o ripristinali da backup dopo l’installazione).
  2. Installa Windows Server 2022 Standard/Datacenter da supporto corretto.
  3. Immetti la chiave e attiva durante o dopo l’installazione.
  4. Riconfigura ruoli e carichi di lavoro; ripristina i dati.

Controlli post‑intervento

  • Stato attivazione con slmgr /xpr (deve risultare attivato).
  • Edizione corrente con DISM /Online /Get-CurrentEdition (non deve più essere Evaluation).
  • Event Viewer: assenza di nuovi 1074/109 legati alla licenza.
  • Uptime: osserva che la VM superi la soglia di 60–90 minuti senza arresti.

Automatizzare le verifiche su più VM

Se gestisci molti server, puoi controllare in blocco stato di licenza ed edizione con PowerShell. Esempio (eseguito da una macchina con privilegi e con WinRM attivo sui target):

$servers = @(
  "VM01","VM02","VM03","VM04","VM05","VM06","VM07"
)

$result = foreach ($s in $servers) {
try {
$lic = Invoke-Command -ComputerName $s -ScriptBlock {
$prod = Get-CimInstance -ClassName SoftwareLicensingProduct |
Where-Object { $.PartialProductKey -and $.LicenseStatus -ne $null } |
Select-Object Name, LicenseStatus, GracePeriodRemaining
$os  = (Get-ComputerInfo).OsName
$ed  = (dism /online /Get-CurrentEdition) 2>&1 | Out-String
[pscustomobject]@{
Server = $env:COMPUTERNAME
OsName = $os
EditionRaw = $ed.Trim()
LicenseStatus = ($prod | Select-Object -First 1).LicenseStatus
GraceSeconds = ($prod | Select-Object -First 1).GracePeriodRemaining
}
}
$lic
} catch {
[pscustomobject]@{
Server = $s
OsName = $null
EditionRaw = $null
LicenseStatus = "Errore"
GraceSeconds = $null
}
}
}

$result | Format-Table -AutoSize 

Nota: LicenseStatus restituisce 1 se concesso in licenza, altri valori indicano periodi di prova o non attivato. Personalizza la logica come preferisci (es. esportazione CSV).

Tabella di riferimento rapido: comandi

ObiettivoComandoNote
Verifica attivazioneslmgr /xprMostra se attivato e l’eventuale scadenza
Dettagli licenzaslmgr /dlvOutput esteso per diagnostica
Edizione correnteDISM /Online /Get-CurrentEditionIndividua “Evaluation”
Edizioni convertibiliDISM /Online /Get-TargetEditionsVerifica destinazioni supportate
Imposta product keyslmgr /ipk <chiave>Usa MAK/KMS in base allo scenario
Imposta server KMSslmgr /skms <fqdn‑kms>Solo se non scoperto via DNS
Attivazioneslmgr /atoRichiede connettività a Internet o KMS
Conversione edizionedism /online /set-edition:ServerStandard /productkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /accepteulaRiavvio al termine

Buone pratiche per non ricadere nel problema

Uniformare le immagini e i template

  • Conserva un golden image per ciascuna edizione supportata (Standard/Datacenter) già attivata o pronta per l’attivazione.
  • Evita template Evaluation o etichettali chiaramente come “solo laboratorio”.

Governance delle licenze

  • Se usi KMS, pubblica i record DNS necessari e monitora i contatori di attivazione.
  • Se usi MAK, conserva i codici in un archivio sicuro e automatizza l’immissione durante il provisioning.
  • Documenta l’edizione di ciascuna VM in CMDB o inventario IT.

Checkpoint e backup

  • Esegui sempre uno snapshot/backup prima di conversioni di edizione o lavori su licenze.
  • Verifica il tempo di retention degli snapshot per evitare accumuli che impattano su storage e performance.

Convalida post‑provisioning

  • Inserisci nel pipeline di creazione VM uno script che esegua slmgr /xpr e invii un alert se non attivata.
  • Imposta un controllo periodico (es. mensile) dello stato di attivazione su tutte le VM.

Domande frequenti (FAQ)

La conversione cancella dati o ruoli?

No: la conversione in‑place tramite DISM mantiene configurazioni, ruoli e dati. Tuttavia, è obbligatorio creare uno snapshot/backup prima di procedere.

Posso “allungare” l’Evaluation?

Esiste il comando slmgr /rearm che in alcuni casi consente un’estensione temporanea del periodo di prova. È una misura transitoria per laboratorio, non una soluzione per ambienti di produzione. Se la copia è già scaduta o se i rearm sono esauriti, converti e attiva.

Le VM con Server Core sono supportate?

Sì. Tutti i comandi proposti funzionano sia su installazioni con GUI sia su Server Core.

E se inserisco una chiave di edizione errata?

DISM o SLMGR rifiuteranno la chiave e la conversione non partirà. Ecco perché lo snapshot è fondamentale: puoi tornare indietro immediatamente.

Perché solo alcune VM si spegnevano?

Perché solo quelle erano state installate con ISO Evaluation o clonate da un template Evaluation; le altre avevano già un’edizione licenziata.

Checklist operativa

  1. Esegui snapshot/backup della VM.
  2. Verifica edizione e stato attivazione (DISM e slmgr).
  3. Se Evaluation: converti con DISM /set-edition + attiva con slmgr /ato.
  4. Controlla Event Viewer (assenza 1074/109 post‑fix) e supera la soglia di un’ora di uptime.
  5. Allinea template/ISO e automatizza i controlli per il futuro.

Risultato

Dopo la conversione da Windows Server 2022 Evaluation a Windows Server 2022 Standard (o Datacenter) e la corretta attivazione, le VM non si spengono più automaticamente. Il carico applicativo torna a essere erogato in modo continuo, le finestre di manutenzione rientrano nella normalità e la piattaforma Hyper‑V recupera stabilità e prevedibilità.

Esempio di procedura completa (da copiare e incollare)

# 1) Snapshot/backup della VM (da Hyper‑V Manager o script esterno)

2) Verifica rapida

slmgr /xpr
DISM /Online /Get-CurrentEdition

3) Conversione (sostituisci la chiave)

dism /online /set-edition:ServerStandard /productkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /accepteula

4) Riavvio quando richiesto

5) Attivazione

slmgr /ato

6) Verifiche finali

slmgr /xpr
Get-EventLog -LogName System -Newest 30 | Where-Object {$_.EventID -in 1074,109} | Format-Table -AutoSize 

Raccomandazioni finali

  • Conserva solo ISO ufficiali delle edizioni licenziate in repository protetti; sposta le Evaluation in un’area “Lab”.
  • Aggiungi al processo di provisioning un controllo di attivazione a fine build.
  • Documenta in CMDB l’edizione di ogni VM; tagga i template con “Eval” o “Prod”.
  • Preferisci KMS se hai molte VM: semplifica il ciclo di vita delle chiavi.

Conclusione: Se una VM Windows Server 2022 su Hyper‑V si spegne ogni ora, la prima cosa da fare è controllare lo stato di licenza. Nella quasi totalità dei casi la radice del problema è una Evaluation scaduta. Convertire e attivare l’edizione è un’operazione rapida, sicura (se preceduta da snapshot) e definitiva.

Riferimenti interni utili alla diagnostica (senza link esterni):

  • Comandi: slmgr /xpr, slmgr /dlv, dism /online /get-currentedition, dism /online /get-targeteditions, dism /online /set-edition.
  • Eventi: ID 1074 e 109 nel registro Sistema.
  • Servizio coinvolto: Software Protection Platform (sppsvc).
Indice