Microsoft 365 Modern Desktop Management – Distribuzione di Windows Autopilot per i dispositivi esistenti con l’Offline Windows Autopilot deployment profile

Windows AutoPilot è una raccolta di tecnologie che consentono di configurare i nuovi dispositivi con Windows 10, preparandoli ad essere utilizzati in azienda subito dopo il loro acquisto. L’utilizzo di Windows AutoPilot è utile specialmente in quegli scenari in cui i dipendenti ricevono un nuovo dispositivo direttamente dal produttore di hardware e devono essere produttivi il prima possibile.

Abbiamo già descritto tutte le fasi di implementazione di Windows Autopilot nell’articolo Microsoft 365 Modern Desktop Management – Windows AutoPilot e abbiamo anche spiegato come effettuare la gestione di Windows Autopilot con la modalità White Glove nell’articolo Microsoft 365 Modern Desktop Management – Windows AutoPilot con il White Glove deployment. Con Windows AutoPilot con il White Glove verranno applicati tutti i criteri di sicurezza che l’IT ha deciso di implementare per i dispositivi (certificati, modelli di sicurezza, impostazioni, app e altro) durante il pre-provisioning e prima ancora che il PC venga distribuito all’utente. Inoltre, verranno installate anche tutte le app configurate per l’installazione nel dispositivo e anche quelle destinate all’utente che è stato preassegnato (nel caso lo abbiate preventivamente fatto) al dispositivo AutoPilot. Per sapere come distribuire applicazioni tramite Intune vi invito a leggere la guida Microsoft 365 Modern Desktop Management – Distribuire e gestire le applicazioni sui dispositivi aziendali con Microsoft Intune

Per poter utilizzare Windows Autopilot è necessario possedere una di queste licenze:

Prerequisiti per l’uso di Windows AutoPilot

Per utilizzare Windows AutoPilot è necessario che il dispositivo sia “conosciuto” dalla vostra infrastruttura cloud. Quando comprate un nuovo dispositivo il produttore dell’hardware può caricare per conto vostro le informazioni specifiche del dispositivo. Se invece volete utilizzare Windows AutoPilot per gestire i dispositivi che già possedete nella vostra azienda, potete prendere le informazioni relative ai dispositivi utilizzando un apposito script PowerShell per generare un file .CSV con le informazioni che poi potete caricare all’interno di Microsoft Intune o di Microsoft Store for Business.

In questa guida vi mostrerò come recuperare le informazioni relative ai dispositivi già presenti in azienda e distribuire un Offline Windows Autopilot deployment profile. Verrà cioè utilizzato un profilo di Windows Autopilot già esistente, che deve essere necessariamente di tipo USER-DRIVEN, per poterlo associare ad un dispositivo NON conosciuto dal servizio Autopilot.

Come otterere un Offline Windows Autopilot deployment profile

Per ottenere un Offline Windows Autopilot deployment profile è necessario lanciare in un PC o un server Windows connesso a Internet un prompt di PowerShell con privilegi elevati ed eseguire i seguenti comandi:

Figura 1: Installazione dei moduli PowerShell necessari ad ottenere un Offline Windows Autopilot deployment profile

NOTA: Per l’esecuzione degli script PowerShell potrebbe essere necessario cambiare l’Execution Policy. Abbiamo scritto un articolo dettagliato sulla Gestione delle policy di sicurezza in PowerShell – ICT Power

Se volete cambiare la policy di esecuzione solo per la finestra in cui vi trovate potete utilizzare il comando Set-ExecutionPolicy RemoteSigned -Scope Process

Terminata l’installazione dei moduli PowerShell potete collegarvi al servizio di Microsoft Graph API, utilizzando le credenziali di un utente che sia Intune Administrator oppure Global Administrator, con il comando:

Figura 2: Connessione al servizio di Microsoft Graph

NOTA: Se è la prima volta che si usano le API Graph di Intune verrà richiesta l’autorizzazione per consentire a Microsoft Intune PowerShell di leggere e scrivere nel vostro tenant.

Recuperare i profili creati in Autopilot in formato JSON

Per recuperare i profili creati in Autopilot in formato JSON è sufficiente lanciare il comando:

IMPORTANTE: Il profilo di Autopilot deve essere salvato come file JSON in formato ASCII o ANSI. Per impostazione predefinita, l’output di Windows PowerShell è in formato Unicode.

Figura 3: Recupero dei profili Autopilot creati

Nel mio caso ci sono due profili disponibili, come si può vedere dalla figura sotto. Ogni profilo è incapsulato tra parentesi graffe {}.

Figura 4: Profili di Autopilot disponibili

Figura 5: Profili di Autopilot disponibili

Scegliete il profilo che volete utilizzare (ne potete scegliere solo UNO) ed eliminate tutti gli altri. Io ho deciso di usare il profilo chiamato Windows Autopilot Demo 1 e il file AutopilotConfigurationFile.json è quello mostrato nella figura sotto. Vi ricordo che il profilo deve essere incapsulato tra parentesi graffe {}.

Figura 6: File AutoPilotConfigurationFile.json creato

Per una descrizione delle proprietà usate nel file JSON, vedere la tabella seguente.

Proprietà Descrizione
Versione (numero, facoltativo) Numero di versione che identifica il formato del file JSON. Per Windows 10 1809, la versione specificata deve essere 2049.
CloudAssignedTenantId (Guid, obbligatorio) ID del tenant Azure Active Directory da usare. Questa proprietà è il GUID del tenant e si trova nelle proprietà del tenant. Il valore non deve includere le parentesi graffe.
CloudAssignedTenantDomain (stringa, obbligatorio) Nome del tenant Azure Active Directory da usare, ad esempio: tenant.onmicrosoft.com.
CloudAssignedOobeConfig (numero, obbligatorio) Questa proprietà è una bitmap che mostra quali impostazioni di Autopilot sono state configurate. I valori includono: SkipCortanaOptIn = 1, OobeUserNotLocalAdmin = 2, SkipExpressSettings = 4, SkipOemRegistration = 8, SkipEula = 16
CloudAssignedDomainJoinMethod (numero, obbligatorio) Questa proprietà specifica se il dispositivo deve partecipare Azure Active Directory o Active Directory (Aggiunta ad Azure AD ibrido). I valori includono: Active AD join = 0, Aggiunta ad Azure AD ibrido = 1
CloudAssignedForcedEnrollment (numero, obbligatorio) Specifica che il dispositivo deve richiedere Azure AD la registrazione di join e MDM.
0 = non necessario, 1 = obbligatorio.
ZtdCorrelationId (Guid, obbligatorio) Un GUID univoco (senza parentesi graffe) che verrà fornito a Intune come parte del processo di registrazione. ZtdCorrelationId verrà incluso nel messaggio di registrazione come “OfflineAutoPilotEnrollmentCorrelator”. Questo attributo sarà presente solo se la registrazione viene eseguita in un dispositivo registrato con il provisioning con zero touch tramite registrazione offline.
CloudAssignedAadServerData (stringa JSON codificata, obbligatoria) Stringa JSON incorporata utilizzata per la personalizzazione. Richiede la personalizzazione di Azure AD Corp abilitata.
Valore di esempio: “CloudAssignedAadServerData”: “{ ” ZeroTouchConfig ” : { ” CloudAssignedTenantUpn ” : ” ” , ” CloudAssignedTenantDomain ” : ” tenant.onmicrosoft.com ” }}”
CloudAssignedDeviceName (stringa, facoltativo) Nome assegnato automaticamente al computer. Segue la convenzione del modello di denominazione configurata nel profilo Autopilot di Intune. In alternativa, è possibile specificare un nome esplicito da usare.

Il file AutoPilotConfigurationFile.json dovrà poi essere distribuito in tutti i dispositivi esistenti da poter poi associare al servizio Autopilot (a patto che abbiano installato almeno Window 10, versione 1809) e dovrà essere copiato nella cartella C:\Windows\Provisioning\Autopilot dei dispositivi; sarà poi possibile procedere al SYSPREP di questi dispositivi per poterli ridistribuire agli utenti.

NOTA: Il file JSON si dovrà chiamare necessariamente AutoPilotConfigurationFile.json

Nella figura sotto viene mostrato il file AutoPilotConfigurationFile.json copiato nella cartella C:\Windows\Provisioning\Autopilot di un dispositivo esistente:

Figura 7: Il file AutoPilotConfigurationFile.json dovrà essere copiato nella cartella C:\Windows\Provisioning\Autopilot dei dispositivi esistenti

Maggiori informazioni sulla funzionalità di distribuzione di Windows Autopilot per i dispositivi esistenti li trovate alla pagina https://docs.microsoft.com/it-it/mem/autopilot/existing-devices

Verifica di funzionamento

Per verificare che tutto funzioni correttamente potete procedere ad effettuare il SYSPREP di un dispositivo in cui avete già provveduto a copiare il file AutoPilotConfigurationFile.json nella cartella C:\Windows\Provisioning\Autopilot

Figura 8: Esecuzione di SYSPREP per la preparazione del dispositivo esistente

Al successivo avvio del dispositivo, procedete con l’Out-of-The-Box-Experience, con la selezione della lingua della tastiera e, se il computer è connesso ad Internet ed avete copiato il file nella cartella corretta, dopo un paio di riavvii vedrete apparire la schermata di Windows Autopilot in cui verrà chiesto all’utente di inserire le proprie credenziali di Azure AD per effettuare l’accesso.

Figura 9: Scelta della region al riavvio di Windows 10

Figura 10: Il dispositivo è connesso ad Internet e si configura per utilizzare Windows Autopilot

Figura 11: Schermata di Windows Autopilot con richiesta delle credenziali

Conclusioni

La distribuzione desktop moderna con Windows Autopilot consente di distribuire facilmente la versione più recente di Windows 10 nei dispositivi esistenti. Con l’offline Windows Autopilot deployment profile l’operazione è molto semplificata e si presta benissimo in scenari dove vengono utilizzate immagini di Windows personalizzate e, dopo che i dispositivi vengono dati agli utenti, questi in maniera autonoma potranno proseguire con le necessarie configurazioni impostate direttamente dal cloud tramite Intune.