WinGeti ja YAML-failid arvuti professionaalseks seadistamiseks

  • WinGet võimaldab teil Windowsi rakendusi käsurea ja valideeritud YAML-manifestide abil installida, värskendada ja desinstallida.
  • YAML-vormingus WinGeti konfiguratsioonifailid koos DSC-ga kirjeldavad deklaratiivselt arvuti soovitud olekut.
  • Väidete ja ressursside jaotised kontrollivad eeltingimusi, tarkvara installimist, Windowsi sätteid ja skriptide käivitamist.
  • Privaatsed repositooriumid, DSC moodulid ja rühmapoliitikad võimaldavad seda deklaratiivset mudelit rakendada turvalistes ettevõtte juurutustes.

WinGeti ja YAML-failid arvuti seadistamiseks

Kui iga uue varustuse saamiseks pead kulutama tunde Programmide installimine, Windowsi kohandamine ja arenduskeskkonna seadistamineOn aeg lihtsustada. WinGeti ja YAML-failid võimaldavad teil muuta kogu selle tülika protsessi praktiliselt automaatseks, mida saate korrata mis tahes arvutis ühe käsuga.

Idee seisneb selles, et konfiguratsioonifailis kirjeldatakse, mida soovite installida ja kuidas teie süsteem peaks konfigureerima, ning seejärel lastakse sel... Windowsi paketihaldur (winget) koos PowerShelli soovitud oleku konfiguratsiooniga (DSC) Tee must töö ära: installi tarkvara, rakenda sätteid, käivita skripte ja kontrolli, kas su masin on õiges seisukorras, et saaksid tööd teha ilma aega raiskamata.

Mis on WinGet ja miks see on arvuti automatiseerimiseks nii kasulik?

WinGet on Microsofti ametlik paketihaldur Windows 10 ja Windows 11 jaoksSee töötab käsurealt ja võimaldab teil rakendusi installida, värskendada, konfigureerida ja desinstallida väga sarnaselt sellele, mida tehakse GNU/Linuxis apt, dnf või sarnase abil, kuid on ideaalselt integreeritud Windowsi ökosüsteemi.

Selle asemel, et otsida installijaid sadadelt veebisaitidelt, alla laadida EXE- või MSI-faile ja klõpsata nupul „Järgmine, järgmine, nõustu”, saate WinGetiga käivitada käsu, näiteks wingeti installipaketi nimi Seejärel laadib süsteem programmi usaldusväärsest allikast alla, teostab vaikse installi ja registreerib paketi tulevaste värskenduste jaoks.

WinGeti peamised tarkvaraallikad on Microsoft Store ja GitHubis majutatud kogukonnahoidlakus iga rakendust kirjeldab YAML-manifest, mis näitab, kuidas seda installida, selle versiooni, terviklikkuse räsi jne. Lisaks on võimalik lisada privaatseid repositooriume, näiteks oma organisatsiooni jaoks, et levitada sisemist tarkvara kontrollitud viisil.

Kogu WinGeti ökosüsteem põhineb kolmel sambal:

  • La CLI tiib (käsk, mida terminalis kasutate).
  • osa teenused, mis majutavad ja valideerivad pakette.
  • osa YAML-i konfiguratsioonifailid mis võimaldavad teil deklaratiivselt määratleda kogu masina, mitte ainult üksikute rakenduste soovitud oleku.

winget

Rakenduste haldamiseks mõeldud WinGeti põhikäsud

Enne kui süveneme YAML-i konfiguratsioonifailide tehnilistesse aspektidesse, on kasulik mõista põhitõdesid. WinGeti põhikäsud igapäevaseks kasutamiseksKõike hallatakse PowerShelli, Windowsi terminali või klassikalise käsuviiba kaudu.

Kui sa lihtsalt kirjutad winget Konsoolis näete installitud versiooni, saadaolevaid alamkäsklusi ja valikute kokkuvõtet. Sealt saate kartmatult katsetama hakata.

et installige rakendus Kasutate alamkäsku install. Näiteks Visual Studio koodi installimiseks arvutisse tehke lihtsalt järgmist:

winget install Microsoft.VisualStudioCode

Sellisel juhul Microsoft.VisualStudioCode on täpne paketi identifikaator WinGeti hoidlas. Paljudel juhtudel saate installida ka täpselt sellise nimega, nagu see poes kuvatakse, tühikute korral jutumärkides, kuid ID kasutamine vähendab ebaselgust.

Kui soovite uuenda oma programmeVõite paluda WinGetil proovida üles laadida kõik, mida see tuvastab, kasutades järgmist:

winget upgrade --all

Või võiksite keskenduda konkreetsele rakendusele, näiteks:

winget upgrade Microsoft.VisualStudioCode

WinGeti tänapäevased versioonid suudavad uuendada mitte ainult seda, mida ta ise installis, vaid ka süsteemis tuvastatud rakendusi, millel on päritoluga seotud manifest.

et tarkvara desinstallidaMehaanika on sama lihtne:

winget uninstall Microsoft.VisualStudioCode

Eemaldamine toimib seni, kuni WinGetil on programm oma kataloogis kaardistatud, kas seetõttu, et see on installitud või seetõttu, et see on süsteemis registreeritud teabe kaudu ära tuntav.

Kui teil on vaja programmi leida, saate seda kasutada Wingeti otsingNäiteks märkmiku valikute vaatamiseks tehke järgmist.

winget search notepad

Käsk tagastab nimekirja, milles on nimi, paki ID ja päritolu (kogukonna hoidla, pood või privaatne hoidla) ja see ID on see, mida peaksite installimisel või uuendamisel kasutama, et olla turvalised.

Kui soovite teada, milline tarkvara teie arvutis WinGeti kontrollib, saate kasutada järgmist.

winget list

Selle abil saate paketihalduri poolt tuvastatud rakenduste inventuur. Väga kasulik otsustamaks, mida uuendada või mida konfiguratsioonifailidesse lisada.

Installatsioonide automatiseerimine YAML-failide abil: selle kõige ilu

Tõeliselt huvitav osa tuleb siis, kui minnakse üle käskude ükshaaval tippimiselt Kirjeldage oma ideaalset keskkonda ühes YAML-failisKäskude spikrite või habrasa skripti asemel defineerid deklaratiivselt, kuidas soovid masinat näha, ning delegeerid töö WinGetile ja DSC-le.

WinGeti konfiguratsioonifail sisaldab pakettide, versioonide, tööriistade, skriptide ja süsteemisätete loend mida vajate oma arenduskeskkonna (või kogu ettevõtte) jaoks. See ei piirdu ainult programmide installimisega: see saab aktiveerida Windowsi funktsioone, muuta registrit, hallata teenuseid, käivitada PowerShelli skripte... Kõik, mis on vajalik arvuti kindlasse olekusse viimiseks.

Selle toimimiseks peab teil olema WinGeti piisavalt uuem versioon, täpsemalt v1.6.2631 või uuemSee toimub siis, kui DSC 3.0 ja YAML-i konfiguratsioonifailide töötlemise eest vastutava käsuga winget configure stabiilselt integreeritakse.

Selle eeliseks on see, et protsess muutub järelevalveta ja korduvSa täidad käsu, nõustud vajalike lepingutega ja võid minna kohvi jooma, samal ajal kui süsteem installib kõik vajaliku, seadistab Windowsi, konfigureerib sinu IDE-d ja valmistab keskkonna kasutusvalmis. Ja kui sa homme arvuteid vahetad, pead lihtsalt protsessi kordama ja oledki valmis.

Lisaks saavad need failid salvesta see Giti hoidlasse, OneDrive'i või kuhu iganes soovid, jaga oma meeskonnaga, versioonimuudatusi, avatud probleeme ja pull-requeste… Lühidalt, käsitle oma masina konfiguratsiooni koodina (IaC), mitte millegi käsitsi kirjutatud ja kordumatuna.

YAML

Käsk winget configure ja selle peamised valikud

Kogu deklaratiivse süsteemi värav on käsk tiiva konfigureerimine. See vastutab teie WinGeti konfiguratsioonifaili lugemise, selle õigsuse kontrollimise, vajalike PowerShelli moodulite allalaadimise ja muudatuste rakendamise eest.

Enne sukeldumist on soovitatav konfiguratsioonikomponentide lubamine (kui nad pole veel aktiivsed) koos:

winget configure --enable

Kui see on tehtud, on kõige mõistlikum alustada YAML-faili valideerimisega käsuga:

winget configure validate -f ruta\a\archivo.winget

Valideerimine kontrollib nii YAML-i süntaks JSON-skeemi vastavusena ametlik konfiguratsioon. Pea meeles, et YAML on tundlik taande suhtes (tühikud, mitte tabulaatorid), seega on nende failide redigeerimine Visual Studio koodis Red Hat YAML-i laienduse ja lingitud WinGet-skeemiga peaaegu kohustuslik, et vältida hulluks minemist.

Kui kõik hea välja näeb, siis saad Rakenda seadeid tõsiselt koos:

winget configure --file ruta\a\archivo.winget --accept-configuration-agreements

Sel hetkel tuleb mängu konfiguratsiooniprotsessor, mis tõlgendab YAML-i, laadib PowerShelli galeriist alla puuduvad DSC moodulid ning hakkab täitma väiteid ja ressursse. Ülesanded, mis seda võimaldavad, täidetakse paralleelselt. Need, mis seda nõuavad administraatori õigused käivitab käivitamisel kõrguse korral UAC-hoiatuse.

Kui eelistate enne millegi muutmist teha "kuiva testi", võite kasutada järgmist:

winget configure test -f ruta\a\archivo.winget --accept-configuration-agreements

Funktsiooniga test hindab WinGet süsteemi, võrreldes seda failis kirjeldatud soovitud olekuga ja See näitab, mis asjad kokku ei klapi.ilma masinat veel puudutamatagi. See on väga kasulik keerukate sätete reguleerimiseks ja tagab, et viili rakendamisel ei teki üllatusi.

Samuti on võimalik töötada kaugfailidega, näiteks avalikus või privaatses hoidlas majutatud failidega, käivitades midagi sellist:

winget configure --accept-configuration-agreements --disable-interactivity -f https://tu-servidor/tu-config.winget

See kasutusmeetod sobib väga hästi olukordadesse, kus massiline juurutamine või tsentraliseeritud haldaminekus IT avaldab konfiguratsiooni ja kasutajad või skriptid peavad ettevõtte arvutist lahkumiseks vaid käsu käivitama, et see määratletud standardiga töötaks.

winget configure'i argumendid, valikud ja alamkäsud

Alamkäsk configure toetab mitmeid peenhäälestamise käitumise parameetridMõned kõige olulisemad on:

  • -f, –fail. Rakendatava WinGeti konfiguratsioonifaili tee.
  • –mooduli tee. Kohalik kaust, kuhu allalaaditud DSC moodulid salvestatakse (vaikimisi %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules).
  • –protsessori tee. Kohandatud konfiguratsiooniprotsessori asukoht, kui see on kohaldatav.
  • –konfiguratsioonilepingute aktsepteerimine. Interaktiivse teavituse vältimiseks aktsepteerige konfiguratsioonihoiatus eelnevalt.
  • –esialgsete detailide summutamine. Puhtama tulemuse saamiseks proovige algseadistuse üksikasjad peita.
  • –luba / –keela. Konfiguratsioonikomponentide lubamine või keelamine (nõuab juurdepääsu poodile).
  • –logid, –avatud-logid. Avage kaust, kuhu konfiguratsioonilogid on salvestatud.
  • –paljusõnaline, –paljusõnalised-logid. Võimaldab tõrkeotsinguks üksikasjalikku logimist.
  • –nowarn, –ignoreeri-hoiatusi. Hoiatusteadete kuvamise keelamine väljumisel.
  • –interaktiivsuse keelamine. See hoiab ära igasuguse interaktiivse viipa kuvamise, mis sobib ideaalselt järelevalveta skriptide jaoks.
  • –proksi / –proksi puudumine. See võimaldab teil selle konkreetse teostuse jaoks määrata puhverserveri või puhverserveri kasutamise keelata.

Lisaks põhikäsule winget configure'il on mitu alamkäsku mida tasub teada:

  • wingeti konfigureerimine näitab -f . Kuvab konkreetse konfiguratsioonifaili üksikasjad, mis on kasulik selle kontrollimiseks ilma redaktoris avamata.
  • wingeti konfiguratsioonide loend. See kuvab süsteemile rakendatud konfiguratsioonide kokkuvõtte, mis aitab jälgida, mida on käivitatud.
  • wingeti konfigureerimine test -f . Kontrollimisrežiim, mis võrdleb süsteemi praegust olekut konfiguratsioonis määratletuga.
  • wingeti konfigureerimine validate -f . Kinnitage ainult faili, ilma masinat puutumata.
  • wingeti konfigureeri eksport -o . See võimaldab eksportida konfiguratsiooniressursse faili, olenemata sellest, kas tegemist on kõigi pakettide konfiguratsioonidega (--all), konkreetne pakett (--package-id) või konkreetne ressurss (--module y --resource), lisades väljundfailile, kui see on juba olemas.

winget

WinGeti konfiguratsioonifaili vorming ja nimetamiskonventsioon

WinGeti konfiguratsioonifailid kasutavad YAML-vorming koos seotud JSON-skeemiga mis määratleb kehtiva struktuuri. WinGeti enda manifestisüsteem põhineb samuti YAML-il. Seega sobib kõik sama mudeli alla.

Kokkuleppeliselt salvestatakse need failid laiendiga .winget, näiteks configuration.wingetGiti kasutavates projektides on üldiselt soovitatav need salvestada peidetud kataloogi. .configmarsruutide jätmine nagu ./.config/configuration.winget projekti "vaikimisi" konfiguratsiooni jaoks.

Kui teie projekt kasutab erinevaid tööriistade või eelistuste kombinatsioone, saate samas kaustas hoida mitu konfiguratsioonifaili, millel kõigil on kirjeldav nimi, mis näitab, millist keskkonda see kasutab (näiteks frontend.winget, backend.wingetJne).

Faili esimene rida on tavaliselt spetsiaalne kommentaar, mis annab toimetajatele teada, millist JSON-skeemi kasutada. Tavaliselt näeb see välja umbes selline:

# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2

Aluse suunas https://aka.ms/configuration-dsc-schema/ Saate kontrollida uusimat skeemi versiooni ja värskendada oma faili, kui Microsoft avaldab uusi versioone, millel on rohkem võimalusi.

Pärast seda päist on dokumendi juursõlm alati omadusedmis peab sisaldama välja configurationVersion (näiteks 0.2.0) ja kaks peamist osa, mis kõike struktureerivad: assertions y resources.

Konfiguratsioonifaili struktuur: omadused, väited ja ressursid

Sõlme all omadused Ühelt poolt deklareeritakse, et konfiguratsiooniversioonmida peaksite faili arenedes suurendama ja teisalt kollektsioonide assertions y resources mis kirjeldavad käitumist.

  • Jaotis väited. See hõlmab väiteid või eeltingimusi, mis peavad olema täidetud, et teatud ressursid oleksid tähendusrikkad: minimaalne Windowsi versioon, teatud funktsiooni olemasolu jne. Need ei ole iseenesest toimingud, vaid pigem keskkonnakontrollid.
  • Jaotis ressursse. See koondab kõik konfiguratsiooniressursid, mida kavatsete rakendada: tarkvarainstallatsioonid, süsteemiseaded, skriptid, teenuste haldus, registrimuudatused jne. Iga üksust nendes loendites esindab tüübi sõlm resource vajaliku teabega.

Mõlemal juhul Iga kirje määratletakse, näidates ära kasutatava DSC ressursi., vorminguga {NombreModulo}/{NombreRecursoDSC}. Näiteks Microsoft.Windows.Settings/WindowsSettings Windowsi sätete puudutamiseks või Microsoft.WinGet.DSC/WinGetPackage WinGeti paketi installimiseks DSC-st.

Lisaks ressursiväljale sisaldab iga üksus tavaliselt ka järgmisi sektsioone: direktiivid ja seaded, valikuline identifikaator id ja vajadusel sõltuvuste loend dependsOn teiste ressursside või väidete suhtes.

Väited: kontrollige Windowsi versiooni ja muid eeltingimusi

The Väited toimivad eelfiltritena mis otsustavad, kas teatud ressursside käitamine praegusel masinal on mõttekas. Nii ei proovi te installida ega konfigureerida midagi süsteemi, mis ei vasta põhinõuetele.

Tüüpiline näide on kontrollimine minimaalne operatsioonisüsteemi versioonPaljud konfiguratsioonid nõuavad vähemalt Windows 10 1809 või Windows 11 konkreetset järku ning on mõttetu jätkata, kui kasutate vanemat versiooni, mis isegi WinGeti ei toeta.

Selle stiili väide kasutab DSC ressursse, näiteks Microsoft.Windows.Developer/OsVersion, mis näitab atribuuti sätete kaudu MinVersioon (näiteks '10.0.22000'), mis määrab konfiguratsiooni vastuvõetava läve.

Väited võivad paralleelselt hindamailma range järjestuseta ja tagastavad sisuliselt tõese või väära oleku. Kui väide tagastab väära (ei ole täidetud), siis iga ressurss, mis seda sõltuvusena sisaldab, dependsOn See jäetakse automaatselt välja.

Deklaratiivse süsteemi vaatenurgast peetakse seda käitumist korrektseks tulemuseks: parem on vahele jätta plokk, millel pole mõtet, kui sundida seda sobimatus keskkonnas käivitama. Väljundsõnumid võivad kuvada midagi sellist nagu "Ressurssi ei käivitatud, kuna väide nurjus või oli väär".

Isegi kui mõned sätted ei kehti, proovib WinGet neid ikkagi rakendada. jätka teiste sõltumatute ressurssidega et viia süsteem soovitud olekule võimalikult lähedale. Lõpuks vastutate vigade ülevaatamise ja otsustamise eest, kas muuta konfiguratsiooni või keskkonda.

Ressursid: Pakettide installimine, Windowsi kohandamine ja skriptide käivitamine

Jaotis ressursid on konfiguratsioonifaili praktiline südaSiin loetlete kõik, mida soovite masinas teha: tarkvara installimine, süsteemi konfiguratsiooni muudatused, PowerShelli skriptide käitamine, teenuste haldamine jne.

Iga ressurss on määratletud väljaga resource mis järgib vormi Modulo/RecursoDSC, näiteks Microsoft.Windows.Settings/WindowsSettings süsteemi funktsioonide aktiveerimiseks või Microsoft.WinGet.DSC/WinGetPackage paketi installimise korraldamiseks DSC-st WinGeti kaudu.

Valikuliselt saate määrata unikaalne ID mis aitab teil sellele viidata dependsOn teistes ressurssides. See on väga kasulik näiteks siis, kui soovite, et Visual Studio lisakomponentide konfigureerimine sõltuks otseselt Visual Studio enda eelnevast installimisest.

Iga ressursi sees on jaotis direktiivid sisaldavad kontekstuaalset teavet kuidas seda tuleks täita: ülesande tekstiline kirjeldus (description), kui PowerShelli galeriist võetakse vastu eelvaate mooduleid (allowPrerelease) ja securityContext mis näitab, kas käivitamiseks on vaja kõrgendatud õigusi.

Kui sa paned turvakontekst: kõrgendatudWinGet küsib administraatori õigusi üks kord installimise alguses ja sellest ajast alates saab see käitada kõrgendatud ja mitte-kõrgendatud ressursse erinevate protsesside abil, ilma et teid rohkemate UAC-akendega pommitataks.

Jaotis seaded defineerivad nime-väärtuse paarid mis edastatakse DSC ressursile. See võib olla midagi nii lihtsat nagu DeveloperMode: true Windowsi arendajarežiimi aktiveerimiseks või keerukamate parameetrite, näiteks id y source WinGeti paketist, .vsconfig-faili tee, konkreetne registriväärtus või lubatava teenuse üksikasjad.

Lõpuks, väli sõltubOn See võimaldab teil deklareerida, et seda ressurssi tuleks käivitada ainult siis, kui teatud eelnevad väited või ressursid on edukalt lõpule viidud. Kui üks neist sõltuvustest ebaõnnestub, märgitakse ressurss automaatselt mittekäivitatuks või ebaõnnestunuks, vältides soovimatuid kõrvalmõjusid.

Korraldage ressursside osa loetavalt

Suurtes projektides võivad konfiguratsioonifailid üsna suureks kasvada, seega tasub selleks aega võtta. Mõtle veidi sellele, kuidas sa ressursside osa korraldad nii et see oleks aja jooksul hooldatav.

Levinud strateegia on ressursside korraldamine vastavalt loogiline teostusjärjekord:

  1. Esiteks, mida süsteem ette valmistab (väited, põhilised värskendused).
  2. Seejärel üldised tööriistad (brauserid, kompressorid, utiliidid).
  3. Seejärel IDE ja SDK.
  4. Lõpuks, täpsemad skriptid või sätted.

Teine huvitav lähenemisviis on nende rühmitamine ebaõnnestumise või keerukuse tõenäosusTeisisõnu, asetage kõige sagedamini katkevad ülesanded (mahukad installid, mis sõltuvad heast ühendusest või volitustest) algusesse, et kasutaja saaks varakult aru, et midagi on valesti, ilma et peaks ootama kõige lõppu.

Paljud eelistavad rühmitada ressursi tüüpEsmalt WinGeti pakett, seejärel Windowsi konfiguratsioonid (register, funktsioonid, teenused), seejärel skriptid ja lõpuks konkreetse projekti jaoks mõeldud tööriistad. See stiil sarnaneb sageli tarkvaraprojekti tüüpilise struktuuriga ja aitab teil kiiresti orienteeruda.

Olenemata kriteeriumidest on tungivalt soovitatav lisada toimikule README repositooriumis konfiguratsioonistruktuuri, peamiste sõltuvuste, minimaalselt nõutavate Windowsi versioonide ja soovitatavate teostusetappide selgitamine.

See dokumentatsioon teeb selle nii, et Teised arendajad saavad arhiivi panustada väiksema riskiga. midagi katki tegema, kuna nad mõistavad enne uue ressursi lisamist paremini, mida iga plokk teeb ja millised väited või dependsOn-id on mängus.

Muutuja ${WinGetConfigRoot} kasutamine failiteedes

Paljud DSC ressursid aktsepteerivad parameetreid, mis eeldavad teed konkreetsete failideniVisual Studio konfiguratsioonid, skriptid, mallid jne. Absoluutsete teede kasutamisel kaotab teie fail teisaldatavuse kohe, kui muudate kasutajaid, draive või kaustu.

Selle vältimiseks lisab WinGet muutuja ${WinGetConfigRoot}, mis osutab kataloogile, kust sa käivitad winget configureSealt saate luua suhtelisi teid, mis toimivad samamoodi igas arvutis, kus austatakse sama kaustastruktuuri.

Näiteks kui salvestate konfiguratsioonifaili kausta .config/configuration.winget ja faili .vsconfig Hoidla juurkataloogis saate kasutada sellist teed nagu '${WinGetConfigRoot}\..\.vsconfig'See osa .. Mine töökaustast ühe taseme võrra üles ja lange otse kataloogi, kus asub .vsconfig fail.

See tehnika teeb selle nii, et Sama konfiguratsioon kehtib kõigile meeskonna liikmetele mis kloonivad projekti erinevatele radadele, kui need austavad failide suhtelist paigutust hoidlas.

Siiski tasub README-failis meeles pidada, et Kasutaja peab veenduma, et sihtfail on olemas. suhtelises tees, mis ootab konfiguratsiooni enne winget configure'i käivitamist, vastasel juhul märgistab täitmine nende ressursside vigu.

Kust leida DSC mooduleid ja kasutusvalmis ressursse

Selleks, et kogu see süsteem töötaks, tugineb WinGet PowerShelli moodulid, mis rakendavad DSC ressursseMõned tulevad süsteemiga "vaikimisi" kaasa (nn postkasti ressursid) ja teised saadakse PowerShelli galeriist.

Standardsete ressursside hulgas on moodulid, mida saate hallata keskkonnamuutujad, installida või desinstallida MSI pakette (msiPackage), manipuleerida registrivõtmete ja väärtustega (Registry), käivitada skriptiplokke (Script), juhtida Windowsi teenuseid (Service), lisada või eemaldada rolle ja funktsioone (WindowsFeature) või käivitada ja peatada protsesse (WindowsProcess).

La PowerShelli galeriis on sadu lisamooduleid kogukonna poolt lisatud DSC ressurssidega. Otsingufiltrite abil saate kuvada ainult neid, mis on märgitud kui „DSC ressurss”, ja leida seeläbi oma konfiguratsioonide jaoks korduvkasutatavaid osi.

Siiski on oluline meeles pidada, et galerii ei ole täielikult auditeeritud keskkond: Igaüks saab mooduleid avaldadaja mõned võivad sisaldada riskantset või lausa pahatahtlikku skriptimist, kui neid hoolikalt läbi ei vaadata.

Sel põhjusel nõuab Microsoft, et moodulite päritolu ja sisu enne nende kasutamist konfiguratsioonides, mis töötavad tootmismasinatel, eriti kui need ressursid töötavad kõrge turvalisusega kontekstis.

Konfiguratsioonifailide konkreetsete näidete nägemiseks haldab Microsoft DSC WinGeti ja YAML-i konfiguratsioonihoidla ligipääsetav lühikese lingi https://aka.ms/dsc.yaml kaudu, kust leiate inspiratsiooni ja saate alusena kasutada juba testitud malle.

WinGetiga seotud turvalisuse, usalduse ja grupipoliitikad

Kuna WinGet ja DSC saavad installida ja konfigureerida tarkvara hulgiTurvalisuse aspekt on ülioluline, eriti ettevõtetes, kus on üsna ranged vastavusnõuded.

WinGet integreerub Microsoft Store'iga päritolu kaudu msstore ja kasutab tehnikaid, sertifikaadi kinnitamine et kontrollida, kas poe HTTPS-sertifikaat vastab ühele teadaolevale sertifikaadile ja seega vältida vahemehe (MITM) rünnakuid.

Organisatsioonides, mis kasutavad SSL-kontrolliga tulemüüre, võib see käitumine probleeme tekitada, kui turvaseade pakib ühenduse ümber oma sertifikaadiga. Selliste juhtumite jaoks on olemas poliitika nimega Sertifikaadi kinnitamise vahelejätmine Microsofti poe jaoks mis võimaldab teil määrata, kas WinGet peaks selle kontrolli vahele jätma.

Võimalike valikute hulka kuuluvad poliitika konfigureerimata jätmine (järgides vaikimisi soovitatud käitumist) või selle lubamine nii, et WinGet Ära valideeri poe sertifikaati või keelake see selgesõnaliselt, et sundida seda aktsepteerima ainult teadaolevaid Microsofti sertifikaate.

Sertifikaatide ankurdamise keelamine suurendab vahemehe rünnakute ohtuSeetõttu tuleks seda teha ainult täielike faktide tundmise korral ja kui mõistlikku alternatiivi pole, sobitades selle üldise turvastrateegiaga.

Lisaks sellele direktiivile on olemas WinGeti-spetsiifilised grupipoliitika mallid (.admx ja .adml failid), mis võimaldavad administraatoritel kontrollida lubatud või blokeeritud allikaid, lubada või keelata eksperimentaalseid funktsioone, määratleda käitumist puhverserverite suhtes ja üldiselt kujundavad paketihalduri käitumist organisatsioonis.

Need mallid on paketis levitatud DesktopAppInstallerPolicies.zip WinGet GitHubi repositooriumis. Pärast lahtipakkimist kopeeritakse failid asukohta C:\Windows\PolicyDefinitions Vastav keelekaust on nüüd saadaval, seega saab seda hallata rühmapoliitika halduskonsooli kaudu.

Samuti on olemas grupipoliitika objektid, näiteks EnableWindowsPackageManagerConfiguration ja EnableWindowsPackageManagerConfiguration selgitus mis võimaldavad blokeerida WinGeti konfiguratsioonifailide kasutamist kogu organisatsioonis, juhul kui leitakse, et seda funktsiooni tuleks rangelt piirata.

Täiendavad repositooriumid ja privaatsete allikate kasutamine WinGetis

Karbist väljas kasutab WinGet oma peamiste allikatena järgmisi: Microsoft Store ja GitHubi kogukonnahoidlakust leiad manifeste paljudele populaarsetele programmidele: brauserid, arenduspaketid, disainitööriistad, mitmesugused utiliidid jne.

Paljud ettevõtted vajavad aga midagi enamat: privaatsed hoidlad, kus saate oma rakendusi majutada, sisemised paketid, teatud tööriistade valideeritud versioonid või filtreeritud kataloogid, mis vastavad nende poliitikatele.

WinGet võimaldab teil registreerida täiendavaid allikaid käsuga:

winget source add --name <nombre_del_repositorio> --arg <URL_del_repositorio>

See päritolu on vaikimisi tavaliselt REST-tüüpi, kuigi saate seda määrata ka --type Kui teil seda vaja on. Lisaks on olemas parameetrid, näiteks –usaldustasemel usalduse taseme (puudub või usaldusväärne) määratlemiseks ja –aktsepteeri lähtekoodilepinguid lähtekoodi litsentsilepingute automaatseks aktsepteerimiseks, mis on repositooriumide lisamise automatiseerimisel oluline.

Arvutis olevate fontide kontrollimiseks võite käivitada järgmise käsu:

winget source list

See käsk tagastab kõik saadaolevad allikad koos nende nime ja tüübiga. Sellest hetkest alates võtavad WinGeti otsingud ja installid arvesse ka täiendavaid repositooriume vastavalt teie konfigureeritud sätetele.

On projekte, mis pakuvad Privaatsete WinGeti hoidlate jaoks valmis juurutuslahendused Azure'is või kohapealsetes installatsioonides Dockeri abil, mis pakub märkimisväärset paindlikkust ettevõtte kataloogide või kontrollitud keskkondade seadistamisel, kus on olemas ainult IT- poolt heakskiidetud tarkvara.

Praktikas võimaldab privaatsete hoidlate kombineerimine hästi disainitud YAML-i konfiguratsioonifailidega tarkvara ja seadmete konfiguratsiooni täielik standardiseerimine ettevõttest, teades rahulikult, et kõik pärineb päritolukohast, mida sa ise kontrollid.

Kõige eelnevaga muudavad WinGet, selle YAML-i konfiguratsioonifailid ja DSC-ressursid Windowsi arvutite ettevalmistamise ja hooldamise tüütu ülesande protsessiks palju kiirem, korratav ja ohutumOlenemata sellest, kas oled arendaja, kes soovib oma keskkonda kloonida mitmesse arvutisse, või haldad organisatsioonis arvutiparki ja soovid lõpetada kõige käsitsi tegemise.