PSD – MDT in PowerShell: installazione e configurazione

In questo tutorial vedremo come installare, configurare e utilizzare PSD (PowerShell Deployment), una versione di MDT riscritta in PowerShell

Per contestualizzare un po’ PSD e MDT, è importante sapere che Microsoft non supporta più MDT, uno strumento che permette di distribuire installazioni personalizzate di Windows con un’interazione minima da parte dell’utente.

Se non conoscete MDT, vi invito innanzitutto a leggere questo tutorial: MDT – Installazione e configurazione – Microsoft Deployment Toolkit – Ottimizzazione della distribuzione di Windows.

Per chi utilizza MDT e ha già avuto modo di provarlo, questo è scritto in VBS, che a sua volta non è più supportato da Microsoft e dovrebbe scomparire da Windows.

Da questa constatazione è nato: PowerShell Deployment Extension Kit che permette di continuare a utilizzare MDT in una versione più moderna basata su PowerShell e apporta anche miglioramenti come la distribuzione via Web (443).

In questo tutorial vi spiegherò PowerShell Deployment

Prerequisiti

Prima di iniziare, esaminiamo i vari prerequisiti.

Per cominciare, è necessario disporre di un Windows Server installato in inglese, che può essere 2016, 2019 o 2022.

Passiamo ora ai prerequisiti software, che sono:

  • Windows ADK per Windows 11 21H2 (10.1.22000.1)
  • MDT 8456

Installazione di ADK per Windows 11 21H2

Iniziare scaricando il file di installazione: https://go.microsoft.com/fwlink/?linkid=2165884

Eseguire il file e attendere il caricamento della procedura guidata di installazione…

All’avvio della procedura guidata, fare clic su Avanti 1, lasciando le opzioni predefinite.

Configurare la raccolta di informazioni per Microsoft 1, quindi fare clic su Avanti 2.

Fare clic su Accetta 1.

Lasciare le funzionalità predefinite, fare clic su Installa 1.

Attendere il completamento del download e dell’installazione di Windows ADK…

Una volta completata l’installazione, chiudere la procedura guidata facendo clic sul pulsante Chiudi 1.

Installazione di WinPE Addon 21H2 per Windows 11

Ora installeremo: WinPE Addon 21H2 per Windows 11, che consentirà di creare gli ambienti avviabili per installare Windows tramite MDT.

Scaricare WinPE Addon 21H2 per Windows 11: https://go.microsoft.com/fwlink/?linkid=2166133

Eseguire il file; all’avvio della procedura guidata, fare clic su Next 1 lasciando le opzioni predefinite.

Cliccare quindi su Next 1; l’opzione di raccolta è normalmente quella selezionata durante l’installazione di Windows ADK.

Fare clic su Accetta 1.

Infine, fare clic su Install 1.

Attendere il completamento del download e dell’installazione…

Una volta completata l’installazione, fare clic su Chiudi 1.

Installazione di MDT

Per completare l’installazione dei software necessari, è necessario installare MDT, che è possibile scaricare qui: https://www.microsoft.com/en-us/download/details.aspx?id=54259 o https://static.rdr-it.com/files/MicrosoftDeploymentToolkit_x64.msi

Eseguire il file di installazione di MDT.

All’avvio della procedura guidata, fare clic su Next 1.

Selezionare la casella 1 per accettare la licenza, quindi fare clic su Next 2.

Per le opzioni di installazione predefinite, fare clic su Next 1.

Selezionare I don’t want to join the program at this time 1, quindi fare clic sul pulsante Next 2.

Ora fare clic su Install 1.

L’installazione di MDT richiede solo pochi secondi… Una volta completata l’installazione, chiudere la procedura guidata cliccando su Finish 1.

Creare un record DNS per il server Web

Sul proprio server DNS, creare un record per l’accesso Web che punti al server; in questo tutorial ho scelto psd.rdr-it.lab.

Creare un utente locale dedicato a PSD

Modificare la politica di esecuzione di PowerShell

È necessario essere permissivi sull’esecuzione degli script PowerShell; senza questa modifica, non sono riuscito a generare il file ISO per poter avviare l’ambiente WinPE.

Sul futuro server, inserire il seguente comando:

Set-ExecutionPolicy Bypass

È necessario confermare l’esecuzione per tutti gli script.

Scaricare PSD

Accedere al repository Github: https://github.com/FriendsOfMDT/PSD

Fare clic sul pulsante Code 1, quindi su Download ZIP 2.

Una volta scaricato, decomprimere l’archivio.

Configurare PSD

Come vedrete, non esiste una vera e propria installazione per PowerShell Deployment, ma piuttosto un elenco di script da eseguire, poiché PSD si basa sulla console MDT per la configurazione.

Tutti i comandi riportati di seguito devono essere eseguiti da un prompt dei comandi PowerShell avviato come amministratore e dovete posizionarvi nella cartella decompressa di PSD.

Ulteriori informazioni sulla configurazione:

  • Il percorso fisico sul mio server DeploymentShare è il seguente: E:\PSD
  • Il nome della condivisione: PSD
  • La cartella virtuale su IIS: psd
  • Il nome DNS: psd.rdr-it.lab

Spetta a voi adattare questi diversi parametri nei comandi al vostro ambiente.

Creazione della condivisione di distribuzione per PSD

Il primo passo sarà la configurazione della cartella in MDT che verrà utilizzata da PSD per l’archiviazione di questi file, ma anche dei vari sistemi operativi, driver, applicazioni…

A tal fine, eseguiremo lo script Install-PSD.ps1 passando due parametri:

  • psDeploymentFolder : che corrisponde al percorso assoluto sul server della posizione della cartella
  • psDeploymentShare : il nome della condivisione

Il che ci dà:

.\Install-PSD.ps1 -psDeploymentFolder E:\psd -psDeploymentShare psd

Se tutto va bene, dovreste ottenere questo:

Sul server, si può vedere che è stato creato un file psd e, se lo si esamina, si trova praticamente la stessa struttura ad albero presente in una cartella di distribuzione MDT.

Installazione del server Web IIS per PSD

Come accennato all’inizio del tutorial, una delle nuove funzionalità è l’utilizzo di un server Web per l’accesso alla condivisione al posto del percorso UNC e per questo PSD si basa su IIS e offre uno script per l’installazione del ruolo con le diverse funzionalità necessarie.

Andare nella cartella Tools ed eseguire il file New-PSDWebInstance.ps1

.\New-PSDWebInstance.ps1

Attendere durante l’installazione di IIS …

Una volta completata l’installazione, è necessario riavviare il server.

Per riavviare il server, digitare il seguente comando:

Restart-Computer

Configurazione di IIS per PowerShell Deployment

Nella cartella Tools si trova lo scriptSet-PSDWebInstance.ps1 che permette di configurare il sito IIS.

Inserire il seguente comando:

.\Set-PSDWebInstance.ps1 -psDeploymentFolder E:\psd -psVirtualDirectory psd

Se lo script è stato eseguito correttamente, riceverete un messaggio di conferma che indica che l’esecuzione è terminata.

Generazione dei certificati

Ora genereremo un’autorità di certificazione e un certificato per il server Web IIS emesso da tale autorità; in questo caso non è necessario il ruolo Windows ADCS, poiché tutto viene eseguito tramite lo script PowerShell.

Se si dispone di una CA interna, è possibile saltare questa parte, ma sarà comunque necessario aggiungere il certificato radice in PSD e generare un certificato per il server IIS, installarlo sul server e collegarlo al sito.

ToolsIl primo passo è la generazione dell’autorità di certificazione; a tal fine, si eseguirà lo scriptNew-PSDRootCACert.ps1che si trova sempre nella cartella.

Inserite il seguente comando:

.\New-PSDRootCACert.ps1 -RootCAName PSDRootCA -ValidityPeriod 20 -psDeploymentFolder E:\psd

Se guardate nella cartellaPSDRessources\Certificates della Deployment Share di PSD, troverete il certificato dell’autorità di certificazione che è stato creato al suo interno; è necessario inserirlo qui, poiché verrà aggiunto al file di avvio WinPE per evitare errori SSL durante la connessione al server Web.

Ora genereremo il certificato per il servizio Web utilizzando l’autorità di certificazione appena creata. Nello script che useremo, dovete indicarne il nome DNS, il che dà:

.\New-PSDServerCert.ps1 -DNSName fqdn.psd.local -FriendlyName fqdn.psd.local -ValidityPeriod 5 -RootCACertFriendlyName PSDRootCA

Per verificare la generazione del certificato, è possibile farlo tramite la console IIS controllando la mappatura del sito predefinito a livello di HTTPS.

Abbiamo finito con gli script PowerShell, PowerShell Deployment è ora pronto per essere “utilizzato”

Utilizzo di PowerShell Deployment

Passeremo ora all’utilizzo di PSD o MDT, poiché, come vedrete, l’intero processo di utilizzo e personalizzazione avviene direttamente nella console MDT e vi sono pochissime differenze rispetto a un’installazione di MDT; pertanto, se siete abituati a utilizzare MDT, non avrete difficoltà.

Iniziate avviando la console MDT:

Come si può vedere, la condivisione (Deployment Share) di PSD è stata aggiunta alla console MDT; per chi sta scoprendo MDT, illustrerò passo dopo passo come procedere in modo che possiate iniziare la distribuzione di Windows; per chi è già abituato a MDT, procedete come di consueto: aggiunta del sistema operativo, aggiunta dei driver, aggiunta delle applicazioni e infine creazione della sequenza di attività (che vi consiglio di leggere perché c’è una sottigliezza).

Per una panoramica completa della console MDT, vi invito a leggere questo tutorial: MDT – Installazione e configurazione – Microsoft Deployment Toolkit – Ottimizzazione della distribuzione di Windows

Aggiungere un sistema operativo

La prima cosa da fare è aggiungere il sistema operativo che si desidera distribuire; in questo caso userò l’ISO che mi è servito per creare la macchina virtuale, ovvero Windows Server 2019 EN.

Per iniziare, ho creato una cartella in Operating systems per organizzare i miei sistemi operativi; una volta nella posizione desiderata, cliccare su Import Operating System 1.

Selezionare il tipo di sistema operativo che si intende importare; in questo caso utilizzerò semplicemente il file WIM dell’ISO, quindi sceglierò Custom Image File 1 e cliccherò su Next 2.

Indicare la posizione del file install.wim 1 e cliccare su Next 2.

Lasciare selezionata l’opzione “Setup file are not needed” 1, quindi fare clic sul pulsante “Next” 2.

Qui indicare il nome della cartella in cui verrà salvato il sistema operativo 1 e cliccare su Next 2.

Viene visualizzato un riepilogo dell’importazione del sistema operativo, cliccare su Next 1.

Attendere il completamento dell’importazione…

Una volta completata l’importazione, fare clic su Finish 1 per chiudere la procedura guidata.

Il sistema operativo è disponibile in MDT / PSD.

Aggiungere un’applicazione MSI nella console MDT / PSD

Al fine di personalizzare la distribuzione, aggiungeremo un’applicazione MSI che potrà essere selezionata durante la configurazione del computer nella fase di distribuzione.

Per illustrare questa parte, ho utilizzato Microsoft Edge; per poterlo importare correttamente in MDT, è indispensabile creare una cartella che contenga il file .msi come mostrato nella schermata.

Dalla console MDT, andare su Applicazioni 1 e fare clic su Nuova applicazione 2.

Come per i sistemi operativi, è possibile creare cartelle per organizzare le applicazioni.

Scegliere il tipo: Application with sources files 1, quindi fare clic sul pulsante Next 2.

Nei dettagli dell’applicazione, indicare almeno il nome dell’applicazione 1 e fare clic su Next 2.

Indicare la posizione delle sorgenti 1 sul server e cliccare su Next 2.

Indicare il nome della cartella 1 che verrà creata nella condivisione di distribuzione, quindi fare clic su Next 2.

Inserire il comando da eseguire per installare il file .msi; il vantaggio di questo tipo di file è che l’installazione silenziosa è standard, quindi inserire il seguente comando 1 e cliccare su Avanti 2.

msiexec.exe /i filename.msi /qn

Confermare l’aggiunta dell’applicazione cliccando su Next 1.

Una volta aggiunta l’applicazione, chiudere la procedura guidata cliccando su Finish 1.

L’applicazione è stata aggiunta ed è disponibile nella console MDT.

Aggiungere una sequenza di attività

La sequenza di attività (Task Sequence) in MDT consente di configurare una serie di azioni da eseguire, come ad esempio l’installazione di Windows.

Fare clic con il tasto destro del mouse su Task Sequences, quindi fare clic su New Task Sequence 1.

Inserire l’ID 1 della sequenza di attività e un nome 2, quindi fare clic su Next 3.

Nell’elenco dei modelli (Template), selezionare PSD Standard Client Task Sequence 1 e fare clic su Next 2.

Scegliere il sistema operativo (OS) 1 da installare, quindi fare clic sul pulsante Next 2.

Se necessario, inserire il codice prodotto 1, quindi fare clic su Next 2.

Inserire il nome della propria organizzazione 1 e fare clic su Next 2.

Scegliere un’opzione per la password dell’account Administrator 1 e fare clic su Next 2.

Per impostazione predefinita, ti verrà chiesto di configurare la password dell’account Amministratore durante l’implementazione.

Viene visualizzato un riepilogo della sequenza di attività; fare clic su Avanti 1 per confermare la creazione della stessa.

La sequenza di attività è stata aggiunta; fare clic su Finish 1 per chiudere la procedura guidata.

La sequenza di attività è disponibile nella console MDT.

Configurare e creare l’ambiente di avvio WinPE

Ora, per poter utilizzare MDT, dovremo configurare e generare l’ambiente di avvio WinPE che consentirà l’installazione di Windows sul computer che si desidera distribuire.

La principale novità di PSD è proprio l’ambiente WinPE, che è stato riscritto in PowerShell, rendendolo compatibile con gli ultimi ambienti Windows 11 ADK.

In questo tutorial, ci limiteremo alla configurazione più semplice per l’avvio e la distribuzione, ma la configurazione è altamente personalizzabile e per questo vi invito a consultare i tutorial MDT esistenti.

Nella console MDT, fare clic con il tasto destro del mouse su Deployment Share e cliccare su Properties 1.

Andate alla scheda Rules 1; come per MDT, troverete il contenuto del file CustomSettings.ini, che ci permette di configurare la procedura guidata di distribuzione. Per prima cosa configureremo l’ambiente WinPE; a tal fine, cliccate sul pulsante Edit Bootstrap.ini 2.

Come minimo, indicare l’URL, l’utente e la password affinché l’ambiente WinPE disponga delle informazioni necessarie per connettersi al server Web.

Tornando alla scheda Rule, modificare ad esempio il valore _SMSTSORGNAME che consentirà di visualizzare il nome della vostra azienda nel testo delle finestre WinPE, quindi applicare e chiudere la finestra.

Proseguiremo con la creazione dell’ambiente WinPE che verrà successivamente utilizzato per l’avvio dei computer.

Fare clic con il tasto destro del mouse su Deployment Share e fare clic su Update Deployment Share 1.

Nella fase successiva, lasciare selezionata l’opzione Optimize the boot image updating process, quindi fare clic su Next 1.

Salta il riepilogo cliccando su Next 1.

Attendere durante la generazione delle immagini…

Una volta terminato, chiudere la procedura guidata cliccando su Finish 1.

Con Esplora file, accedere alla cartella Boot che si trova nella cartella PSD.

In questa cartella, è il file .iso che ci interessa in particolare, poiché ci consentirà di avviare le VM o di creare chiavette USB avviabili. Il file .wim può essere aggiunto a WDS per l’avvio in rete.

Distribuire Windows con PowerShell Deployment

Per concludere questo tutorial, vedremo le fasi di distribuzione con PSD.

Per questo tutorial, ho creato una VM su Hyper-V e ho configurato il file ISO sul lettore CD/DVD della VM per avviare il sistema da esso.

Avvierò quindi l’ISO…

Attendere il caricamento dell’ambiente WinPE, l’operazione potrebbe richiedere dai 2 ai 3 minuti…

Come potete vedere nella schermata qui sotto, l’ambiente WinPE verifica la connessione con il server…

Una volta effettuati e superati i vari test, si avvia la procedura guidata…

Una volta avviata la procedura guidata, cliccare su “Let’s get started” 1.

Nella prima fase viene eseguita una verifica per verificare se il computer soddisfa i prerequisiti per la distribuzione delle ultime versioni di Windows; come per MDT, è possibile configurare questa fase o addirittura ignorarla; fare clic su “Next” 1.

Selezionare la sequenza di attività 1 che si desidera eseguire per l’implementazione di Windows e fare clic su Next 2.

Selezionare il disco 1 su cui verrà installato Windows, quindi fare clic su Avanti 2.

Active DirectoryConfigurare il nome del computer 1; in questo caso lo lascerò su Workgroup; in questa fase è possibile configurare l’adesione al dominio; fare clic su Avanti 2.

Inserire la password dell’account Administrator 1, quindi fare clic su Next 2.

Se necessario, regolare la tastiera e il fuso orario 1, quindi fare clic su Avanti 2.

Selezionare le applicazioni da installare 1, quindi fare clic su Avanti 2.

Confermare l’installazione cliccando su Begin 1.

Attendere il completamento della distribuzione di Windows…

Una volta completata l’installazione, fare clic su OK 1 per chiudere la finestra.

Il computer è stato distribuito.


In questo tutorial abbiamo visto come eseguire l’installazione di PSD basato su MDT, che consente di disporre di un ambiente “moderno” per l’installazione di Windows.

Romain Drouche
Romain Drouche
Architetto di sistema | MCSE: Infrastruttura di base
Esperto di infrastrutture IT con oltre 15 anni di esperienza sul campo. Attualmente Project Manager Sistemi e Reti ed esperto di Sicurezza dei Sistemi Informativi (ISS), utilizzo la mia competenza per garantire l'affidabilità e la sicurezza degli ambienti tecnologici.

Lascia un commento