Condividi tramite


Configurazione di WinGet

Usando un file di configurazione WinGet, è possibile consolidare l'impostazione manuale del computer e la procedura di avvio del progetto in un unico comando, affidabile e ripetibile. A tale scopo, WinGet usa:

Vantaggi per la configurazione della macchina e l'avvio del progetto

I vantaggi dell'uso di un file di configurazione WinGet includono:

  • installazione automatica: immettere il comando winget configure e consentire a Gestione pacchetti Windows e PowerShell DSC di automatizzare l'installazione e configurare tutti i requisiti necessari per configurare l'ambiente di sviluppo desiderato nel computer Windows.
  • Affidabile e ripetibile: non ci si deve più preoccupare di trovare le versioni corrette di software, pacchetti, strumenti, framework e configurare le impostazioni del computer corrette per l'ambiente di sviluppo durante l'onboarding in un nuovo team o progetto perché sono predefinite nel file di configurazione WinGet usando un formato YAML (con uno schema JSON).
  • Supporta la collaborazione open source: i file di configurazione WinGet possono essere ospitati in un repository GitHub in cui possono essere inseriti problemi o contributi oppure possono essere mantenuti privati in una posizione di archiviazione sicura (ad esempio OneDrive) e condivisi tramite posta elettronica privata o altri canali protetti.

Avviso

È necessario controllare i file di configurazione WinGet e le risorse DSC di PowerShell associate per assicurarsi che siano attendibili prima di applicarle.

Usare un file di configurazione WinGet per configurare il computer

Per configurare il computer usando un file di configurazione WinGet, scaricare il file di configurazione e fare doppio clic per richiamare la configurazione. In alternativa, usare winget configure nella riga di comando. Per usare il comando winget configure, è necessario eseguire WinGet versione 1.6.2631 o successiva.

Domande frequenti sulla configurazione di WinGet

Trovare le risposte ad alcune delle domande più frequenti sulla configurazione di WinGet.

Come funzionano i file di configurazione WinGet?

I file di configurazione WinGet vengono scritti in YAML e definiscono gli elementi installati nel dispositivo per creare l'ambiente di sviluppo, nonché lo stato di configurazione per il computer e le applicazioni installate.

Anziché una sequenza imperativa di passaggi da seguire, un file di configurazione WinGet è dichiarativo, definendo il risultato dello stato di configurazione della macchina desiderato. Usando Gestione pacchetti di Windows e le risorse DSC di PowerShell, il file di configurazione WinGet dichiarativo può installare, configurare e applicare le impostazioni all'ambiente in modo da ottenere uno stato pronto al codice.

WinGet analizzerà il file di configurazione per assicurarsi che sia valido, quindi scaricherà tutti i moduli di PowerShell associati (contenenti le risorse DSC) necessari per ottenere lo stato desiderato. Dopo che queste risorse sono state scaricate e si è controllata l'attendibilità del file di configurazione WinGet, accettando di aver verificato la sicurezza del file, WinGet inizierà a testare tutte le asserzioni necessarie e applicherà lo stato desiderato.

La sequenza in cui vengono ordinate le risorse del file di configurazione WinGet è inconsequenziale. Alcuni processi di installazione e configurazione possono anche essere eseguiti in parallelo. Le asserzioni corrispondono direttamente al campo dependsOn definito in ogni Risorsa. Se la risorsa include una dipendenza da un'asserzione, l'asserzione verrà verificata per prima. Se l'asserzione ha esito negativo, anche la risorsa dipendente avrà esito negativo. Tuttavia, il file di configurazione continuerà a essere eseguito, eseguendo il maggior numero possibile di attività, anche se alcune asserzioni o dipendenze delle risorse hanno esito negativo, portando il computer il più lontano possibile nel processo di configurazione prima del completamento. Una volta completata la configurazione, è responsabilità dell'utente verificare la presenza di errori.

Ad esempio, dopo aver eseguito il file di configurazione WinGet, è possibile che venga visualizzato un risultato simile al seguente:

Assert:: OsVersion
The configuration unit could not be found.
Apply :: DeveloperMode
  This configuration unity was not run because an assert failed or was false.
Apply :: WinGetPackage [vsPackage]
  This configuration unity was not run because an assert failed or was false.

In questo esempio, il controllo dell'asserzione per la versione richiesta del sistema operativo non è riuscito, quindi anche le risorse DeveloperMode e WinGetPackage che includevano una dipendenza da tale asserzione per la versione del sistema operativo non sono riuscite. Tuttavia, qualsiasi altra attività di installazione e configurazione elencata nel file di configurazione continuerà a proseguire.

Un vantaggio per la natura dichiarativa (non sequenziale) dei file di configurazione WinGet è che la posizione delle nuove risorse da aggiungere al file non ha rilevanza. Ciò è particolarmente utile per i file di configurazione lunghi, perché è sufficiente aggiungere altre risorse alla fine del file. Se le asserzioni e le dipendenze sono state definite correttamente, non è necessario preoccuparsi della sequenza o della configurazione dei passaggi prima, seconda e così via.

Screenshot di un terminale di PowerShell che esegue un file di configurazione WinGet con l'asserzione OSVersion e le risorse dipendenti hanno esito negativo.

Come si usa un file di configurazione WinGet?

Per eseguire un file di configurazione WinGet, è sufficiente fare doppio clic per eseguire il file in Esplora file. In alternativa, è possibile usare il winget configure comando .

Come si crea una configurazione WinGet?

Per creare un file di configurazione WinGet, seguire le indicazioni riportate nella documentazione Come creare un file di configurazione WinGet.

Come posso garantire che un file di configurazione WinGet sia attendibile?

È consigliabile sempre convalidare l'integrità di un file di configurazione WinGet prima di eseguirlo esaminando il contenuto e testando la configurazione in un ambiente isolato. Vedere Come controllare l'attendibilità di un file di configurazione WinGet.

Dove è possibile trovare i file di configurazione WinGet di esempio?

È possibile trovare i file di configurazione WinGet di esempio nel repository DSC WinGet: https://aka.ms/dsc.yaml.

Dove è possibile trovare esempi di moduli di PowerShell contenenti risorse DSC?

Il PowerShell Gallery ospita centinaia di moduli di PowerShell contenenti risorse DSC (Desired State Configuration). È possibile filtrare i risultati della ricerca applicando il filtro "DSC Resource" in "Categories".

Risultati della ricerca del modulo PowerShell Desired State Configuration dalla PowerShell Gallery

È possibile configurare un criterio per bloccare l'uso dei file di configurazione WinGet nell'organizzazione?

Sì. Gli oggetti Criteri di gruppoEnableWindowsPackageManagerConfiguration e EnableWindowsPackageManagerConfigurationExplanation possono essere utilizzati per disabilitare la funzionalità di configurazione WinGet nell'organizzazione.

Risoluzione dei problemi relativi alle configurazioni winGet

Il motivo più comune per cui una configurazione WinGet non riesce è dovuta a una risorsa DSC di PowerShell che richiede l'accesso amministrativo per applicare lo stato desiderato. Non tutte le risorse DSC forniscono motivi espliciti per il fallimento.

Presto verranno aggiunta documentazione per la risoluzione dei problemi più comuni. Nel frattempo, controlla i problemi correlati registrati nel repository CLI di WinGet su GitHub.