Automatizujte nasazení softwaru a nastavení pomocí WinGet Configure (DSC)

Kromě instalace balíčků aplikací z úložiště můžete použítWinGetsprávce balíčků pro deklarativní konfiguraci prostředí Windows. Myšlenka je taková, že administrátor vytvoří deklarativní YAML soubor popisující požadovaný stav počítače, včetně nastavení Windows a požadovaného softwaru. Potom WinGet použije PowerShell Desired State Configuration (DSC) k automatické konfiguraci Windows do zadaného stavu definovaného v souboru YAML.

WinGet podporuje správu konfigurace počítače pomocí DSC od verze 1.6.2631 (vydané v roce 2023).

Thewinget configurepříkaz používá PowerShell Desired State Configuration (DSC) 3.0, včetně novější architektury Microsoft DSC 3, k automatické konfiguraci systému Windows do požadovaného stavu definovaného v konfiguračním souboru. Konfigurační soubor YAML deklarativně popisuje požadovaný stav systému, včetně instalací nebo odebrání programů s jejich verzemi, funkcemi a rolemi Windows, které je třeba přidat nebo odebrat, a nezbytnými nastaveními Windows a aplikací. Použití tohoto souboru YAML zautomatizuje nasazení prostředí na pracovní stanici nebo serveru Windows.

Nyní se podívejme na jednoduchý konfigurační soubor YAML pro Winget. Moje ukázková konfigurace se používala k instalaci několika aplikací (Firefox, Notepad++ a PowerToys) a odstranění 7-Zip, pokud je nainstalován. Provádí také změny v registru (umožňuje zálohování registru Windows pomocíEnablePeriodicBackupvolba).

Aplikace z obchodu Microsoft Store lze instalovat/odebírat podle jejich ID aplikací. Chcete-li například získat ID aplikace PowerToys, spusťte:

winget show powertoys -s msstore

Příkaz k nalezení názvů balíčků aplikací ve Winget:

winget search appname

nebo mezi nainstalovanými aplikacemi:

winget list

Ukázku takového YAML souboru najdete v našem úložišti GitHubhttps://github.com/maxbakhub/winposh/blob/main/DSC/winget_configure_dsc_sample_win11.yaml

Nyní se pokusíme použít konfiguraci z tohoto souboru YAML pomocí konfigurace wingetu. Nejprve povolte podporu DSC ve WinGet:

winget configure --enable

Před použitím konfigurace DSC se doporučuje ověřit syntaxi souboru YAML.

winget configure validate winget_configure_dsc_sample_win11.yaml

Stejně jako Python používají soubory YAML k definování struktury odsazení. Spoléhají na mezery spíše než na tabulátory, které představují vnořené datové bloky.

Nyní použijte konfiguraci ze souboru YAML na počítač.

winget configure --file winget_configure_dsc_sample_win11.yaml --accept-configuration-agreements

WinGet načte nastavení ze souboru YAML, nainstaluje/odstraní popsané aplikace a použije specifikovaná nastavení Windows (tj.ConfigurationRemotingServer.exeproces analyzuje soubor YAML a použije nastavení). Jediným příkazem tak získáte plně nakonfigurované prostředí Windows. Na obrazovce se objeví podrobný protokol použitých nastavení DSC.

Proveďte zkušební provoz, abyste viděli, jak se aktuální konfigurace vašeho počítače shoduje se souborem YAML.

winget configure test -f winget_configure_dsc_sample_win11.yaml --accept-configuration-agreements

U všech položek, které neodpovídají požadované konfiguraci, příkaz vrátí:

Přečtěte si více:Jak automatizovat shrnutí schůzek ve Slacku pomocí AI

System is not in the described configuration state.

Když znovu použijete konfigurační soubor YAML, Winget Configure použije pouze změny, které se liší od požadované konfigurace.

ThesecurityContext: elevatedznamená, že k použití určitých nastavení konfigurace systému je vyžadována jednorázová výzva ke zvýšení úrovně Řízení uživatelských účtů (UAC).

S WinGet můžete zadat konfigurační soubor YAML umístěný na externí webové stránce jako zdroj pro konfiguraci (to umožňuje automatizaci nasazení požadovaných konfigurací stavu přes GitHub/GitLab).

winget configure --accept-configuration-agreements --disable-interactivity -f https://raw.githubusercontent.com/maxbakhub/winposh/refs/heads/main/DSC/winget_configure_dsc_sample_win11.yaml

WinGet umožňuje správcům konfigurovat počítače se systémem Windows do konkrétního stavu pomocí deklarativních souborů YAML, což zajišťuje idempotenci konfigurace a podporuje přístup Infrastructure as Code (IaC) ke správě prostředí Windows. WinGet s DSC vám umožňuje implementovat ekvivalent Ansible-playbook pro zařízení Windows, což umožňuje deklarativní, automatizovanou správu konfigurace.

Related Posts