Automatizálja a szoftverek és beállítások telepítését a WinGet Configure (DSC) segítségével

Amellett, hogy alkalmazáscsomagokat telepít a tárolóból, használhatja aWinGetcsomagkezelő a Windows környezet deklaratív konfigurációjához. Az ötlet az, hogy a rendszergazda létrehoz egy deklaratív YAML fájlt, amely leírja a számítógép kívánt állapotát, beleértve a Windows beállításait és a szükséges szoftvereket. Ezután a WinGet a PowerShell Desired State Configuration (DSC) segítségével automatikusan konfigurálja a Windows rendszert a YAML-fájlban meghatározott állapotra.

A WinGet támogatja a számítógép-konfiguráció kezelését DSC-n keresztül az 1.6.2631-es verziótól kezdve (megjelent 2023-ban).

Awinget configureA parancs a PowerShell Desired State Configuration (DSC) 3.0-s verzióját használja, beleértve az újabb Microsoft DSC 3 architektúrát is, hogy automatikusan konfigurálja a Windows-t a konfigurációs fájlban meghatározott kívánt állapotra. A YAML konfigurációs fájl deklaratív módon írja le a szükséges rendszerállapotot, beleértve a programok telepítését vagy eltávolítását és azok verzióit, a hozzáadandó vagy eltávolítandó Windows-szolgáltatásokat és szerepköröket, valamint a szükséges Windows- és alkalmazásbeállításokat. A YAML-fájl alkalmazása automatizálja a környezet telepítését egy Windows-munkaállomáson vagy -kiszolgálón.

Most pedig vessünk egy pillantást egy egyszerű YAML konfigurációs fájlra a Wingethez. A mintakonfigurációm több alkalmazás (Firefox, Notepad++ és PowerToys) telepítéséhez és a 7-Zip eltávolításához használt, ha telepítve van. Ezenkívül módosítja a beállításjegyzéket (lehetővé teszi a Windows rendszerleíró adatbázis biztonsági mentését aEnablePeriodicBackupopció).

A Microsoft Store alkalmazásokat az alkalmazásazonosítójuk alapján lehet telepíteni/eltávolítani. Például a PowerToys alkalmazásazonosító beszerzéséhez futtassa:

winget show powertoys -s msstore

A parancs az alkalmazáscsomagnevek megtalálásához a Wingetben:

winget search appname

vagy a telepített alkalmazások között:

winget list

Egy ilyen YAML fájl mintát találhat a GitHub tárhelyünkbenhttps://github.com/maxbakhub/winposh/blob/main/DSC/winget_configure_dsc_sample_win11.yaml

Most próbáljuk meg alkalmazni a konfigurációt ebből a YAML-fájlból a winget konfiguráción keresztül. Először engedélyezze a DSC támogatást a WinGetben:

winget configure --enable

A DSC konfiguráció alkalmazása előtt ajánlatos ellenőrizni a YAML fájl szintaxisát.

winget configure validate winget_configure_dsc_sample_win11.yaml

A Pythonhoz hasonlóan a YAML-fájlok is behúzást használnak a szerkezet meghatározásához. A beágyazott adatblokkok ábrázolásához szóközökre támaszkodnak, nem pedig tabulátorokra.

Most alkalmazza a YAML-fájl konfigurációját a számítógépen.

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

A WinGet beolvassa a beállításokat a YAML fájlból, telepíti/eltávolítja a leírt alkalmazásokat, és alkalmazza a megadott Windows beállításokat (aConfigurationRemotingServer.exefolyamat elemzi a YAML fájlt és alkalmazza a beállításokat). Így egyetlen paranccsal egy teljesen konfigurált Windows környezetet kap. A képernyőn megjelenik az alkalmazott DSC-beállítások részletes naplója.

Végezzen száraz futtatást, hogy megtudja, hogy számítógépe jelenlegi konfigurációja hogyan egyezik a YAML fájllal.

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

Minden olyan elemnél, amely nem egyezik a kívánt konfigurációval, a parancs a következőt adja vissza:

Bővebben:Az értekezlet-összefoglalók automatizálása a Slackben mesterséges intelligencia használatával

System is not in the described configuration state.

Amikor újra alkalmazza a YAML konfigurációs fájlt, a Winget Configure csak a kívánt konfigurációtól eltérő módosításokat alkalmazza.

AsecurityContext: elevateddirektíva azt jelenti, hogy bizonyos rendszerkonfigurációs beállítások alkalmazásához egyszeri User Account Control (UAC) emelési felszólításra van szükség.

A WinGet segítségével megadhat egy külső weboldalon található YAML konfigurációs fájlt a konfiguráció forrásaként (ez lehetővé teszi a kívánt állapotkonfigurációk központi telepítését a GitHubon/GitLabon keresztül).

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

A WinGet lehetővé teszi az adminisztrátorok számára, hogy deklaratív YAML-fájlok segítségével konfigurálják a Windows-gépeket egy adott állapotba, biztosítva a konfigurációs impotenciát, és támogatva az Infrastructure as Code (IaC) megközelítést a Windows-környezetkezelésben. A WinGet DSC-vel lehetővé teszi az Ansible-playbook megfelelőjének megvalósítását Windows-eszközökön, lehetővé téve a deklaratív, automatizált konfigurációkezelést.

Related Posts