La funzionalità Command Management permette di inviare comandi di configurazione ai device client per gestire:
- ? Certificate Update - Aggiornamento certificati UEFI CA 2023
- ? Microsoft Update Opt-In - Eligibilità per Controlled Feature Rollout (CFR)
- ? Telemetry Configuration - Configurazione livelli di telemetria Windows
Il menu Commands si trova nella barra di navigazione principale, tra Devices e Windows Versions:
Dashboard | Devices | [Commands ?] | Windows Versions | Admin
Cliccando su Commands si apre un dropdown con 3 opzioni:
- ?? Send to Single Device - Invia comando a un singolo device
- ?? Send to Multiple Devices - Invia comando batch a gruppi di device
- ?? Command History - Visualizza storico comandi inviati
Puoi anche navigare direttamente:
| Pagina | URL | Descrizione |
|---|---|---|
| Invio Singolo | /Commands/Send |
Seleziona 1 device e invia comando |
| Invio Batch | /Commands/Batch |
Seleziona multipli device e invia comando |
| Storico | /Commands/History |
Visualizza tutti i comandi inviati |
Dalla Dashboard Home (/Index):
-
Widget Commands (se ci sono comandi attivi)
- Click sul numero per vedere i comandi pending
- Link "View all" per andare alla History
-
Sezione Quick Actions
- Bottone Command History
Commands ? ? Send to Single Device
-
Selezione Device
- Dropdown con tutti i device registrati
- Mostra: Nome, Dominio, Manufacturer, Model, Deployment State
-
Tipi di Comando
- Certificate Update
- Microsoft Update Opt-In/Out
- Telemetry Configuration
-
Opzioni Avanzate
- Priority: 0-10 (0=normal, 10=highest)
- Schedule: Esecuzione differita (data/ora)
- Description: Note/motivo del comando
1. Seleziona device: "SRVCM00 (MSINTUNE.LAB)"
2. Seleziona comando: "Certificate Update"
3. Configura:
- Update Type: DB Update (1)
- Force Update: ? (se necessario)
4. Aggiungi descrizione: "UEFI CA 2023 rollout"
5. Click "Send Command"
Commands ? ? Send to Multiple Devices
- Lista checkbox di tutti i device
- Select All checkbox per selezionare tutti
- Dettagli visibili: Nome, Dominio, Manufacturer, Model, FleetID
Quando usarlo:
- Quando hai una lista specifica di device
- Per test su pochi device selezionati
- Dropdown con tutti i FleetID disponibili
- Mostra il numero di device per fleet
- Esempio: "mslabs (4 devices)"
Quando usarlo:
- Quando hai organizzato i device per fleet
- Per rollout per reparto/ufficio
- Dropdown con tutti i manufacturer rilevati
- Mostra il numero di device per manufacturer
- Esempio: "LENOVO (12 devices)", "Dell Inc. (8 devices)"
Quando usarlo:
- Problemi specifici di un vendor
- Test di compatibilità firmware
- Dropdown con stati deployment:
- Deployed - Già deployati
- Pending - In attesa
- InProgress - In corso
- Error - Errori
- NotStarted - Mai iniziato
Quando usarlo:
- Retry su device in errore
- Completamento device pending
- WARNING: Invia a TUTTI i device registrati!
- Mostra alert rosso con conferma
- Da usare con estrema cautela
Quando usarlo:
- Rollout globale pianificato
- Update critici di sicurezza
1. Seleziona: "By Fleet"
2. Scegli fleet: "mslabs (4 devices)"
3. Comando: "Certificate Update"
4. Configura:
- Update Type: DB Update (1)
- Force Update: ?
5. Priority: 5 (medium-high)
6. Description: "UEFI CA 2023 pilot rollout - mslabs fleet"
7. Click "Send Batch Command"
Risultato:
? Batch command queued! 4 succeeded, 0 failed out of 4 devices
Commands ? ? Command History
Dashboard con conteggi:
| Card | Descrizione | Colore |
|---|---|---|
| Total | Tutti i comandi | Grigio |
| Pending | In attesa di esecuzione | Giallo |
| Completed | Eseguiti con successo | Verde |
| Failed | Falliti | Rosso |
| Cancelled | Cancellati manualmente | Grigio scuro |
Click su una card per filtrare per stato!
Colonne visualizzate:
| Colonna | Contenuto |
|---|---|
| Status | Badge colorato con icona |
| Command Type | Tipo di comando (CertificateUpdate, ecc.) |
| Device | Link al device (primi 8 char GUID) |
| Description | Note/descrizione |
| Created | Data/ora creazione |
| Created By | Utente che ha creato il comando |
| Priority | Livello priorità (badge se >0) |
| Fetches | Numero volte scaricato dal client |
| Processed | Data/ora esecuzione |
| Actions | Pulsanti azione |
- Cancel (?) - Annulla comando Pending o Fetched
- View (???) - Dettagli completi comando
- By Status: Click sulle card statistiche
- By Device: Parametro
?deviceId=...nell'URL - Clear Filter: Bottone per rimuovere filtri
| Status | Icona | Descrizione |
|---|---|---|
| Pending | ? | In coda, non ancora scaricato |
| Fetched | ?? | Scaricato dal client, in esecuzione |
| Processing | ?? | In elaborazione |
| Completed | ? | Eseguito con successo |
| Failed | ? | Esecuzione fallita |
| Cancelled | ? | Cancellato manualmente |
| Expired | ? | Scaduto (>7 giorni) |
Scopo: Aggiorna i certificati UEFI nella Signature Database (db)
Opzioni:
| Opzione | Valore | Descrizione |
|---|---|---|
| Update Type | 0 | None - Nessun update |
| 1 | DB Update - Aggiorna Signature Database (consigliato) | |
| 2 | Boot Manager - Aggiorna Boot Manager | |
| Force Update | ? | Ignora check di compatibilità |
| ? | Forza update anche se non supportato |
Registry modificato:
HKLM\SYSTEM\CurrentControlSet\Control\SecureBoot\Policy\Default
?? SecureBootCertificateUpdateType (DWORD) = 1
Requisiti:
- Device con UEFI Secure Boot enabled
- Windows 10 22H2+ o Windows 11
- Permessi Administrator sul client
Quando usarlo:
- Preparazione per Windows 11 24H2/25H2
- Compliance UEFI CA 2023
Scopo: Abilita/disabilita eligibilità per Controlled Feature Rollout (CFR)
Opzioni:
| Opzione | Valore | Descrizione |
|---|---|---|
| Opt-In | ? | Disabilita CFR (valore 0) |
| ? | Abilita CFR (valore 1) - Consigliato |
Registry modificato:
HKLM\SOFTWARE\Microsoft\WindowsUpdate\UpdatePolicy\GPO
?? MicrosoftUpdateManagedOptIn (DWORD) = 1
Requisiti:
- Telemetry level ? 1 (Basic)
- Windows Update attivo
- Permessi Administrator sul client
Quando usarlo:
- Rollout graduale Windows 11 24H2/25H2
- Test pre-production
Scopo: Configura/valida il livello di telemetria Windows
Opzioni:
| Opzione | Valore | Descrizione | CFR Eligible |
|---|---|---|---|
| Telemetry Level | 0 | Security - Solo Enterprise | ? |
| 1 | Basic - Minimo per CFR | ? | |
| 2 | Enhanced | ? | |
| 3 | Full | ? | |
| Validate Only | ? | Solo verifica, non modifica | - |
| ? | Verifica E modifica se necessario | - |
Registry verificato:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection
?? AllowTelemetry (DWORD) ? 1
Requisiti:
- Windows Enterprise/Pro
- Permessi Administrator sul client
Quando usarlo:
- Pre-flight check per CFR
- Audit compliance privacy
| Valore | Livello | Quando usare |
|---|---|---|
| 0 | Normal | Comandi standard, non urgenti |
| 1-4 | Low-Medium | Update pianificati |
| 5-7 | Medium-High | Rollout importanti |
| 8-10 | Critical | Hotfix, security critical |
I comandi vengono eseguiti in ordine:
- Priority più alta
- A parità, FIFO (First In First Out)
Opzioni:
- ? Immediate - Esegui appena possibile (default)
- ? Scheduled - Esegui a data/ora specifica
Quando usare lo scheduling:
- Finestre di manutenzione notturne
- Coordinamento con altri sistemi
- Rollout scaglionati (batch ogni ora)
Esempio:
Schedule: 2025-01-15 02:00 AM
? Il client eseguirà il comando solo dopo questa data/ora
Indica quante volte il client ha scaricato il comando:
| Count | Significato |
|---|---|
| 0 | Mai scaricato (Pending) |
| 1 | Scaricato una volta (normale) |
| 2+ | Ri-scaricato (retry o client restart) |
- NULL: Non ancora eseguito
- Data/ora: Momento di completamento (success o failure)
Visualizza il risultato dettagliato:
- Success message
- Error message
- Validation warnings
Possibili cause:
- Client non in esecuzione
- Command Processing disabilitato sul client
- Network/firewall blocca API access
Soluzione:
// Client appsettings.json
"Commands": {
"EnableCommandProcessing": true, // ? Verifica questo!
"ProcessBeforeInventory": true,
"MaxCommandsPerCycle": 10
}Verifica:
- Check logs client:
C:\...\logs\client-*.log - Permission error? ? Client deve girare come Administrator
- Registry access denied? ? UAC/Group Policy restrictions
Alcuni device falliti?
Analisi:
- Check "Failed Devices" alert box
- Copia GUID dei failed devices
- Filtra History per device ID
- Analizza error message
Common issues:
- Device offline/spento
- Client version incompatibile
- Firmware non supporta update
| Funzione | Requisito |
|---|---|
| Fetch commands | HTTP access to API |
| Execute commands | Administrator privileges |
| Registry write | SYSTEM or Admin |
? DO:
- Test su pochi device prima di batch
- Usa description chiare e tracciabili
- Monitora command history regolarmente
- Cancella comandi obsoleti
? DON'T:
- Non usare "All Devices" senza pianificazione
- Non forzare update su hardware incompatibile
- Non sovraccaricare con priority alta inutile
Per abilitare command processing sul client:
// SecureBootWatcher.Client\appsettings.json
{
"SecureBootWatcher": {
"Commands": {
"EnableCommandProcessing": true, // ? MUST BE TRUE
"ProcessBeforeInventory": true, // Execute before inventory
"MaxCommandsPerCycle": 10, // Max commands per run
"CommandExecutionDelay": "00:00:02", // Delay between commands
"ContinueOnCommandFailure": true // Don't stop on error
}
}
}- Client Version Tracking:
docs/CLIENT_VERSION_TRACKING.md - Client Sink Configuration:
docs/CLIENT_SINK_CONFIGURATION.md - SSL Certificate Bypass:
docs/SSL_CERTIFICATE_BYPASS.md - API Configuration: Dashboard ? Admin ? API Configuration
Logs Location:
- Web Dashboard:
R:\Nimbus.SecureBootCert\logs\web-*.log - API:
R:\Nimbus.SecureBootCert\logs\api-*.log - Client:
%ProgramFiles%\SecureBootWatcher\logs\client-*.log
Common Log Searches:
# Command queued
"Queued command {CommandId}"
# Command fetched by client
"Fetching pending commands for device"
# Command executed
"Command {CommandId} marked as {Status}"
Version: 1.14.0
Last Updated: 2025-01-23
Status: ? Fully Operational