Se il tuo server HP con Windows Server 2019 Essentials si spegne puntualmente il lunedì tra le 8:30 e le 10:30 (PST) senza errori hardware, quasi certamente è il servizio di conformità licenze a forzare l’arresto. Qui trovi come riconoscerlo, diagnosticarlo e risolverlo definitivamente.
Scenario reale e sintomi
Il comportamento osservato è un arresto pulito e ricorrente, visibile nei log come Evento 1074 generato dal processo silsvc.exe
(Server Infrastructure Licensing Service), con messaggi del tipo:
“Licensing Compliance Service caused a shutdown”.
In genere non compaiono errori critici di sistema o di alimentazione nelle ore immediatamente precedenti, proprio perché non si tratta di uno spegnimento improvviso. È un comportamento intenzionale progettato per far rispettare i vincoli di licenza di Windows Server 2019 Essentials.
Cos’è il Licensing Compliance Service
Server Infrastructure Licensing (silsvc
) è un servizio che verifica periodicamente che l’installazione di Windows Server 2019 Essentials rispetti i requisiti del prodotto. Se rileva violazioni, crea eventi nel canale dedicato e, a tutela della licenza, può iniziare una chiusura controllata dell’host.
Il controllo di conformità avviene mediamente ogni circa sette giorni; in molte installazioni si osserva la finestra del lunedì mattina. Il risultato è uno spegnimento programmato che si ripete ciclicamente finché la configurazione non rientra nei limiti previsti.
Perché accade
Le cause più comuni risiedono in Active Directory, virtualizzazione, numero di utenti e dispositivi, oppure nell’attivazione della licenza. La tabella seguente riassume le tipologie di violazioni più frequenti:
Categoria | Possibili violazioni |
---|---|
Active Directory | Presenza di più di un Domain Controller nel dominio. Essentials non detiene tutti i ruoli FSMO (Schema, Domain Naming, RID, PDC Emulator, Infrastructure). Esistono trust bidirezionali con altri domini o foreste. |
Virtualizzazione | Più di una istanza attiva (fisica e/o virtuale) dell’OS oppure VM Essentials duplicate/replicate su Hyper‑V. |
Limiti utenti/dispositivi | Superamento dei limiti dell’edizione Essentials: 25 utenti o 50 device nel dominio. |
Licenza/attivazione | Product Key non attivato, versione di valutazione scaduta, chiave errata o stato di attivazione inconsistente. |
Dove leggere la prova dell’infrazione
Il canale eventi da monitorare è:
Applications and Services Logs → Microsoft → Windows → Server Infrastructure Licensing → Operational
Gli ID 100, 101, 102 descrivono con precisione quale regola è stata infranta (ad es. presenza di un secondo DC, trust rilevata, superamento del limite dispositivi). L’Evento 1074 nel registro di sistema è l’effetto finale: documenta “chi” ha avviato l’arresto (processo silsvc.exe
) e la motivazione.
Procedura rapida di diagnosi
- Apri Event Viewer
Vai al canale Server Infrastructure Licensing → Operational e cerca gli ID 100‑102 per capire la violazione esatta. Annota ora e contenuto del messaggio. - Verifica ruoli FSMO e Domain Controller aggiuntivi
netdom query fsmo dcdiag /e /test:sysvolcheck /test:advertising
Essentials deve essere l’unico DC del dominio e detenere tutti e cinque i ruoli FSMO. - Controlla lo stato di attivazione
slmgr /dli # mostra il canale/licenza slmgr /ato # prova la riattivazione, se necessario
- Conta VM, replica e trust
- In Hyper‑V Manager assicurati che esista una sola istanza attiva di Essentials (o solo fisico).
- Verifica ed elimina trust non consentite con
netdom trust
.
Analisi approfondita per ogni categoria
Active Directory e ruoli FSMO
L’edizione Essentials è progettata per realtà semplici: un singolo controller di dominio, senza trust esterne, e con tutti i ruoli FSMO concentrati sullo stesso server. Qualsiasi deviazione può attivare silsvc
.
- Come verificare i DC presenti
Import-Module ActiveDirectory Get-ADDomainController -Filter * | Select-Object HostName,Site,IsReadOnly
Se vedi più di un DC (inclusi eventuali Read‑Only DC), sei fuori conformità. - Come trasferire i ruoli FSMO
# Sostituisci CONTOSO-DC con il nome del server Essentials Move-ADDirectoryServerOperationMasterRole -Identity "CONTOSO-DC" ` -OperationMasterRole SchemaMaster,DomainNamingMaster,PDCEmulator,RIDMaster,InfrastructureMaster
Conferma connetdom query fsmo
che tutti i ruoli siano ora su Essentials. - Come rimuovere trust
# Elenca eventuali trust Get-ADTrust -Filter * | Format-Table Name,Direction,ForestTransitive Esempio di rimozione (da eseguire con cautela) netdom trust contoso.local /d:partner.local /remove
Le trust bidirezionali o di foresta violano i vincoli dell’edizione.
Virtualizzazione e istanze duplicate
Essentials richiede che sia attiva una sola istanza del sistema operativo (fisica oppure virtuale). Copie di VM avviate per test, repliche Hyper‑V lasciate accese o migrazioni incomplete possono far scattare l’arresto.
- Controllo rapido su Hyper‑V
Get-VM | Where-Object {$_.State -eq 'Running'} | Select-Object Name,State,ComputerName
Verifica che non esistano cloni della VM Essentials in esecuzione su host diversi. - Replica Hyper‑V
La Replica non è un problema se la VM di destinazione resta spenta. Una accensione non pianificata può però causare la segnalazione di duplicato.
Limiti utenti e dispositivi
Essentials pone un tetto di 25 utenti e 50 dispositivi. Quando l’organizzazione cresce oltre tali numeri, il servizio di licenza segnala la violazione.
- Conteggio indicativo
# Utenti abilitati (esclude i built-in più comuni) Get-ADUser -Filter {Enabled -eq $true -and ObjectClass -eq 'user'} ` -SearchBase (Get-ADDomain).DistinguishedName | Measure-Object Dispositivi di tipo "computer" (client joinati al dominio) Get-ADComputer -Filter * -SearchBase (Get-ADDomain).DistinguishedName | Measure-Object
Rivedi periodicamente account obsoleti o duplicati e disabilita/elimini quelli non più necessari.
Licenza e attivazione
Stati di attivazione inconsistenti (ad esempio dopo sostituzione hardware o restore) possono far fallire la convalida. Utilizza gli strumenti standard:
slmgr /dlv # dettagli approfonditi
slmgr /dli # riepilogo stato
slmgr /ato # attivazione online
slmgr /upk # rimuove la product key (con cautela)
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX # reimmissione key
In caso di versioni di valutazione scadute, occorre inserire una chiave valida dell’edizione corretta.
Come distinguere il problema da altri spegnimenti
- Eventi 6008/6009 (spegnimento inatteso) tipici di blackout o crash non compaiono nel caso di
silsvc
. - L’Evento 1074 indica sempre chi ha provocato l’arresto: se è
silsvc.exe
con utente NT AUTHORITY\SYSTEM, la causa è la conformità licenze. - Verifica l’assenza di attività pianificate che chiamino
shutdown.exe
:schtasks /query /fo LIST /v | findstr /I /C:"shutdown" /C:"Stop-Computer"
Soluzioni pratiche e ordinate
Passo | Azione consigliata |
---|---|
Rientrare nei limiti | Demoti eventuali DC aggiuntivi; trasferisci tutti i ruoli FSMO a Essentials; rimuovi trust; riduci a una sola istanza attiva. |
Rieseguire la verifica | Riavvia il servizio Server Infrastructure Licensing oppure esegui silsvc /schedule per forzare un nuovo controllo. |
Aggiornare la licenza se necessario | Se hai bisogno di più DC, trust o più istanze, pianifica la migrazione a Windows Server Standard (con le CAL adeguate). |
Patch e manutenzione | Applica l’ultima Cumulative Update; in passato alcuni aggiornamenti hanno corretto falsi positivi del componente di licenza. |
Playbook operativo passo per passo
- Leggi gli eventi 100–102 nel canale Server Infrastructure Licensing e identifica la regola violata.
- Correggi la configurazione in base alla categoria:
- DC multipli: avvia la procedura di demotion del DC non Essentials con
Uninstall-ADDSDomainController
(da Server Manager o PowerShell). - FSMO non su Essentials: sposta tutti i ruoli con
Move-ADDirectoryServerOperationMasterRole
. - Trust: elimina le relazioni non previste con
netdom trust
oGet-ADTrust
/Remove-ADTrust
. - VM duplicate: spegni i cloni, disabilita avvii automatici e rivedi la replica Hyper‑V.
- Limiti utenti/device: archivia o elimina account obsoleti; valuta upgrade di edizione se l’organico è stabilmente superiore ai limiti.
- Attivazione: riesegui
slmgr /ato
o reimmetti la product key corretta.
- DC multipli: avvia la procedura di demotion del DC non Essentials con
- Forza un nuovo ciclo di verifica:
Get-Service -Name silsvc | Restart-Service -Force in alternativa, se supportato silsvc /schedule
- Monitora i log per almeno un ciclo: l’assenza di nuovi 100‑102 e di un 1074 nello stesso intervallo orario conferma la risoluzione.
Strategie di migrazione quando Essentials non basta
Se l’infrastruttura richiede più controller di dominio, relazioni di trust o numeri superiori di utenti/device, Essentials non è più adatto. La soluzione è migrare a Windows Server Standard.
- Percorso consigliato: prepara un nuovo server con Windows Server Standard, senza promuoverlo a DC finché non hai pianificato la transizione. Durante la migrazione, evita finestre prolungate in cui coesistono due DC per non incorrere nel blocco di Essentials.
- Servizi dipendenti: valuta in anticipo DNS, DHCP, file services, criteri di gruppo e ruoli applicativi; migra o replica i dati e le condivisioni.
- Licensing: prevedi le Client Access Licenses (CAL) necessarie per utenti e dispositivi.
Riduzione del rischio durante la correzione
- Pianifica fuori orario: il ciclo di controllo avviene circa una volta a settimana; coordina i cambiamenti prima della consueta finestra di spegnimento.
- Backup verificati: prima di demotare un DC o modificare ruoli FSMO, assicurati di avere backup di sistema e di stato di Active Directory.
- Monitoraggio: imposta un alert sugli eventi 100‑102 per reagire in anticipo alle anomalie.
Domande frequenti
Posso disabilitare il servizio silsvc
per evitare lo spegnimento? No. Disabilitare o manomettere il servizio aggira temporaneamente il sintomo ma viola i termini di licenza e non risolve la causa. È espressamente sconsigliato.
<dt>Perché lo spegnimento è quasi sempre il lunedì mattina?</dt>
<dd>Perché il controllo è ciclico (circa settimanale) e molte installazioni sono state avviate o aggiornate a inizio settimana. Il <em>timing</em> ricade quindi sul lunedì a quell’ora.</dd>
<dt>Una VM replica spenta conta come seconda istanza?</dt>
<dd>No, se resta spenta non è considerata istanza attiva. Ma qualsiasi accensione accidentale può far scattare la segnalazione.</dd>
<dt>Come verifico rapidamente chi ha chiesto lo spegnimento?</dt>
<dd>Apri <em>Event Viewer → System</em> e cerca l’evento <strong>1074</strong>: indica il processo (<code>silsvc.exe</code>) e l’utente (<em>NT AUTHORITY\SYSTEM</em>).</dd>
Esempi pratici e correzioni
Secondo DC temporaneo lasciato online
Durante una migrazione è stato introdotto un secondo DC “temporaneo” e poi dimenticato. Soluzione: demotarlo con Uninstall‑ADDSDomainController, trasferire FSMO a Essentials, riavviare silsvc
.
VM di test accesa nel laboratorio
Un clone della VM Essentials, pensato per prova, è rimasto acceso in un host di laboratorio. Soluzione: spegnere ed eliminare il clone, rimuovere la VM dall’inventario, ripulire eventuali duplicati DNS/AD, forzare il controllo.
Superamento soglia dispositivi
Nuovi laptop aziendali hanno portato i computer account oltre 50. Soluzione: disattiva/elimina i client dismessi; se l’organico resta sopra la soglia, migra a edizione Standard.
Attivazione perduta dopo sostituzione motherboard
Il cambio hardware ha invalidato l’attivazione. Soluzione: riesegui slmgr /ato
o reimmetti la key corretta; verifica l’esito con slmgr /dlv
, poi riavvia silsvc
.
Checklist finale
- Eventi 100‑102 letti e documentati dal canale Server Infrastructure Licensing.
- Confermata l’unicità del DC e la piena titolarità dei ruoli FSMO su Essentials.
- Assenza di trust con altri domini/foreste.
- Una sola istanza di Essentials in esecuzione (fisica o virtuale).
- Utenti ≤ 25 e dispositivi ≤ 50 oppure piano di migrazione a Standard.
- Licenza attivata e aggiornata; patch installate.
- Servizio
silsvc
riavviato e monitoraggio impostato.
Buone pratiche a regime
- Documentazione puntuale di utenti, dispositivi e VM per predisporre audit e revisioni periodiche.
- Controllo regolare del canale eventi Server Infrastructure Licensing per cogliere tempestivamente le anomalie.
- Gestione del ciclo di vita di account e client: dismissione ordinata riduce il rischio di superare le soglie.
- Politiche di replica/test: usa reti isolate e impedisci l’avvio automatico di cloni.
- Niente scorciatoie: non disattivare
silsvc
; non è una soluzione e può esporre a non conformità contrattuale.
Comandi utili riuniti
# Log silsvc
Get-WinEvent -LogName 'Microsoft-Windows-ServerInfrastructureLicensing/Operational' `
-MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-List
Chi ha avviato lo shutdown
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074} | `
Select-Object TimeCreated, ProviderName, Id, Message | Format-List
DC presenti
Import-Module ActiveDirectory
Get-ADDomainController -Filter * | Select-Object HostName,Site,IsReadOnly
Ruoli FSMO
netdom query fsmo
DCDiag essenziale
dcdiag /e /test:sysvolcheck /test:advertising
Trust
Get-ADTrust -Filter * | Format-Table Name,Direction,IntraForest,SelectiveAuth
Conteggi utenti e device
(Get-ADUser -Filter {Enabled -eq $true}).Count
(Get-ADComputer -Filter *).Count
VM attive su Hyper-V
Get-VM | Where-Object {$_.State -eq 'Running'} | Select-Object Name,ComputerName
Attivazione
slmgr /dli
slmgr /ato
Forzare un nuovo controllo licenza
Get-Service silsvc | Restart-Service -Force
silsvc /schedule # se supportato
Sintesi operativa
Il riavvio settimanale del tuo HP con Windows Server 2019 Essentials non è un guasto hardware né un’attività pianificata: è il Licensing Compliance Service che spegne il server quando la configurazione non rispetta i vincoli dell’edizione (unico DC, tutti i ruoli FSMO, nessuna trust, una sola istanza attiva, massimo 25 utenti e 50 dispositivi, licenza valida). Identifica l’ID evento specifico nel canale Server Infrastructure Licensing, adegua la topologia o valuta il passaggio a Windows Server Standard. Una volta rientrato in conformità, lo spegnimento programmato cessa automaticamente.