WinGet dan YAML untuk mengotomatiskan instalasi perangkat lunak.

Pembaharuan Terakhir: 07/01/2026
penulis: Isaac
  • WinGet memungkinkan Anda untuk menginstal, memperbarui, dan menghapus aplikasi di Windows dari garis perintah menggunakan manifest dalam format YAML.
  • berkas konfigurasi WinGet, dikombinasikan dengan DSC dari PowerShellMereka secara deklaratif menggambarkan keadaan yang diinginkan dari suatu mesin.
  • Assertions dan resources menyusun YAML untuk memvalidasi prasyarat dan menerapkan instalasi, pengaturan sistem, dan skrip secara otomatis.
  • WinGet terintegrasi dengan repositori publik dan privat, kebijakan grup, dan sumber daya DSC, menjadikannya alat penting untuk lingkungan pengembangan dan bisnis.

WinGet dan YAML untuk mengotomatiskan instalasi perangkat lunak.

Membangun PC baru atau bergabung dengan sebuah proyek seringkali melibatkan penginstalan program yang sama berulang kali, konfigurasi Windows, dan penggunaan alat pengembangan. Dengan WinGet dan file konfigurasi YAML, kita dapat menyederhanakan seluruh proses ini menjadi satu perintah, menghilangkan kebutuhan untuk mengunduh penginstal satu per satu dan menavigasi wizard yang tak berujung.

WinGet (Windows Package Manager) adalah jawaban resmi Microsoft terhadap model pengelola paket GNU/Linux seperti apt atau dnf. Dikombinasikan dengan Desired State Configuration (DSC) PowerShell dan file konfigurasi deklaratif dalam format YAML, WinGet memungkinkan Anda untuk mengkonfigurasi mesin Windows apa pun untuk pekerjaan yang berulang, otomatis, dan kolaboratif baik di lingkungan pribadi maupun bisnis.

Apa itu WinGet dan mengapa penting untuk otomatisasi?

WinGet adalah alat baris perintah. dari Windows Package Manager yang terintegrasi dalam versi Windows 10 dan versi terbaru. Windows 11 (melalui "Penginstal Aplikasi" Microsoft Store). Perintah utamanya adalah winget, yang kemudian ditambahkan subperintah untuk mencari, menginstal, memperbarui, menghapus instalasi, atau mengkonfigurasi perangkat lunak.

Berbeda dengan model tradisional yang mengharuskan pengguna mengunjungi situs web setiap program, mengunduh penginstal, dan mengklik Berikutnya, WinGet bertindak sebagai indeks terpusat: ia menggunakan Microsoft Store dan repositori komunitas di GitHub sebagai sumber, dan mengandalkan manifes dalam format YAML (disebut manifes paket) yang menjelaskan cara menginstal setiap aplikasi dan cara memverifikasi integritasnya menggunakan hash seperti SHA256.

Ekosistem WinGet terdiri dari tiga bagian: alat baris perintah itu sendiri, layanan pengemasan yang menampung dan memvalidasi paket, dan file konfigurasi WinGet , yang memungkinkan Anda untuk mengkonsolidasikan semua konfigurasi tim atau proyek ke dalam satu file deklaratif.

Bagi pengembang dan administrator , ini berarti mampu menjelaskan alat dan konfigurasi yang dibutuhkan untuk lingkungan kerja (IDE, peramban, SDK, utilitas, kebijakan Windows, dll.) dan memiliki WinGet yang andal dan berulang kali menempatkan mesin ke dalam "kondisi yang diinginkan," baik itu laptop baru atau Anda sedang mempersiapkan beberapa komputer di perusahaan.

Perintah WinGet dasar untuk mengelola aplikasi

Sebelum kita membahas YAML dan otomatisasi tingkat lanjutPenting untuk memahami perintah WinGet dasar, karena perintah tersebut menjadi fondasi untuk semua hal lainnya. Untuk memulainya, cukup buka PowerShell di Windows. terminal atau bahkan command prompt dan ketik winget untuk melihat bantuan umum.

Instal aplikasi individual. Semudah menggunakan winget install diikuti dengan pengidentifikasi atau nama paket. Misalnya, untuk menginstal Visual Studio Code dari repositori WinGet, Anda dapat menjalankan:

winget install Microsoft.VisualStudioCode

Perbarui aplikasi Hal ini juga dapat dilakukan dari baris perintah. Dengan winget upgrade --all Kami berupaya memperbarui semua program yang dapat dikelola oleh WinGet (tidak hanya yang diinstal dengan WinGet, tetapi juga versi terbaru). Jika Anda ingin fokus pada aplikasi tertentu, Anda dapat menggunakan, misalnya:

winget upgrade Microsoft.VisualStudioCode

Untuk menghapus instalasi perangkat lunak, digunakan winget uninstall, kemudian diikuti lagi oleh nama atau pengenal paket, misalnya: winget uninstall Microsoft.VisualStudioCodeProses penghapusan instalasi terbatas pada apa yang dikenali oleh WinGet, baik karena WinGet yang menginstalnya atau karena WinGet mendeteksi program tersebut pada sistem.

Mencari aplikasi yang tersedia selesai dengan winget searchJika Anda menulis winget search notepadAnda akan mendapatkan daftar paket yang berisi istilah tersebut, beserta sumbernya (Store atau repositori), nama, dan ID, yang harus Anda gunakan saat menginstal dari repositori komunitas untuk menghindari ambiguitas.

Terakhir, Anda dapat mencantumkan perangkat lunak yang terinstal. yang dideteksi WinGet pada mesin menggunakan winget listIni membantu Anda mengidentifikasi paket mana yang dapat Anda kelola langsung dengan pengelola paket dan mana yang tidak.

File YAML konfigurasi WinGet: kunci menuju otomatisasi

Lompatan nyata ke depan terjadi ketika kita beralih dari menjalankan perintah individual ke menggunakan file konfigurasi WinGet dalam format YAML. Alih-alih menjalankan lusinan perintah secara manual, Anda cukup mendeskripsikan kondisi akhir mesin yang diinginkan dan mengeksekusi satu perintah untuk membuat semuanya terjadi secara otomatis.

File konfigurasi WinGet mencantumkan versi perangkat lunak, paket, alat, dependensi, skrip, dan pengaturan sistem yang dibutuhkan untuk menyiapkan lingkungan pengembangan. Hal iniさらに ditingkatkan dengan integrasi dengan Desired State Configuration (DSC) PowerShell , teknologi yang memungkinkan Anda menerapkan perubahan konfigurasi ke sistem operasi dan aplikasi menggunakan sumber daya khusus.

Keajaiban terjadi dengan perintah tersebut. winget configure, tersedia dari WinGet v1.6.2631. Perintah ini mengambil file YAML (atau dengan ekstensi .winget), memvalidasinya terhadap skema JSON, mengunduh sumber daya DSC yang diperlukan, dan menerapkan semua pernyataan dan sumber daya yang dideklarasikan untuk mendorong tim menuju kondisi yang diinginkan.

  Bersihkan folder WinSxS di Windows: metode aman, perintah DISM, dan trik untuk memulihkan ruang

Perbedaan utama dibandingkan dengan skrip tradisional adalah bahwa file-file ini bersifat deklaratif: file-file ini mendefinisikan hasil yang diinginkan, bukan urutan langkah yang kaku. WinGet dan DSC menangani perhitungan apa yang perlu dilakukan, dalam urutan apa, dan apa yang dapat dieksekusi secara paralel, sehingga memberikan kekokohan dan fleksibilitas pada otomatisasi.

Selain itu, sistem ini ideal untuk kolaborasi : file konfigurasi dapat disimpan di repositori Git (misalnya, di GitHub), di lokasi pribadi seperti OneDrive atau yang serupa, dan dibagikan dengan tim. Masalah, permintaan tarik (pull request), dan perubahan dapat dibuat dan ditinjau seperti file kode lainnya.

Struktur dan format file konfigurasi WinGet

Format file konfigurasi Sistem ini berbasis YAML tetapi menggunakan spesifikasi skema JSON untuk membantu memvalidasi strukturnya. Microsoft menerbitkan skema tersebut di alamat yang disingkat. https://aka.ms/configuration-dsc-schema/, di mana Anda dapat memeriksa versi yang tersedia (misalnya 0.2).

Baris pertama file Ini biasanya berupa komentar khusus untuk memberi tahu alat seperti Visual Studio Code (dengan ekstensi Red Hat YAML) skema mana yang harus digunakan. Contoh tipikalnya adalah seperti ini: # yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2, menunjukkan versi skema yang diterapkan pada file tersebut.

Node akar dokumen es properties, yang berisi definisi versi konfigurasi (configurationVersion) sebagai dua bagian utama dari berkas tersebut: assertions (pernyataan) dan resources (sumber daya). Kedua bagian ini adalah daftar tugas deklaratif yang akan dievaluasi dan diterapkan oleh WinGet dan DSC.

Versi konfigurasi, sebagai contoh configurationVersion: 0.2.0Ini harus diperbarui setiap kali ada perubahan yang relevan pada konten. Di dalam propertiesPernyataan-pernyataan tersebut menguraikan prasyarat, dan sumber daya menjelaskan semua instalasi dan penyesuaian yang harus dilakukan pada sistem.

Setiap elemen dalam pernyataan atau sumber daya didefinisikan oleh sebuah node resource yang menunjukkan modul PowerShell mana yang akan digunakan dan sumber daya DSC spesifik mana yang akan dipanggil untuk menerapkan status yang diinginkan, mengikuti format {ModuleName}/{DscResource}Selain itu, bidang-bidang seperti directives, settings, sebuah pengidentifikasi opsional id dan kemungkinan ketergantungan dependsOn.

Pernyataan: Pemeriksaan awal dan persyaratan minimum

Bagian pernyataan menguraikan prasyarat yang harus dipenuhi agar konfigurasi dianggap valid. Ini bukan langkah instalasi, melainkan pemeriksaan lingkungan yang dijalankan sebelum menerapkan sumber daya yang bergantung padanya.

Contoh klasik dari sebuah pernyataan adalah memverifikasi versi sistem operasi minimum. Misalnya, WinGet membutuhkan setidaknya Windows 10 versi 1809, dan banyak konfigurasi modern mungkin membutuhkan versi Windows 11 yang lebih baru. Mendefinisikan pernyataan versi sistem operasi mencegah Anda mencoba menginstal alat yang tidak akan berfungsi.

Pernyataan-pernyataan ini dapat dieksekusi secara paralel.tanpa urutan sekuensial yang ketat. Masing-masing mengembalikan apakah sistem memenuhi kondisi (benar atau salah). Jika sebuah pernyataan gagal, sumber daya apa pun yang mendeklarasikannya sebagai dependensi menggunakan dependsOn Hal itu secara otomatis dihilangkan, dan itu dianggap sebagai hasil yang benar dari sudut pandang konfigurasi (tidak ada perubahan yang tidak konsisten yang dilakukan pada sistem).

Dalam log keluaran dari eksekusi winget configure Seringkali kita melihat pesan seperti: pernyataan tertentu (misalnya, versi sistem operasi) tidak ditemukan atau gagal, sehingga sumber daya yang bergantung padanya (seperti mengaktifkan mode pengembang atau menginstal paket WinGet tertentu) tidak dijalankan.

Keuntungan utamanya adalah, bahkan jika beberapa pernyataan gagal, sisa file akan terus diproses. WinGet akan terus menjalankan semua tugas yang memungkinkan, menggerakkan mesin sejauh mungkin menuju keadaan target. Setelah eksekusi selesai, pengguna harus meninjau kesalahan dan melakukan penyesuaian yang diperlukan.

Sumber daya: instalasi, konfigurasi, dan skrip

Bagian sumber daya adalah tempat semua hal yang ingin kita instal dan konfigurasikan pada mesin tercantum: paket WinGet, pengaturan Windows, instalasi komponen tertentu (misalnya, beban kerja Visual Studio), menjalankan skrip PowerShell, mengelola layanan, log, dll.

Setiap sumber daya memiliki beberapa komponen kunci.: lapangan resource dengan modul dan sumber daya DSC yang akan digunakan, bagian directives dengan metadata dan persyaratan eksekusi, bagian tersebut settings dengan parameter yang diteruskan ke sumber daya dan, secara opsional, pengidentifikasi unik. id dan daftar dependensi dependsOn.

Arahan-arahan tersebut biasanya mencakup sebuah description yang menjelaskan tugas yang sedang dilakukan, indikatornya allowPrerelease untuk memutuskan apakah akan menerima modul pratinjau dari PowerShell Gallery dan securityContext, yang menunjukkan apakah sumber daya tersebut perlu dieksekusi dengan hak akses yang lebih tinggi (elevated) atau dapat bekerja dengan izin pengguna saat ini.

Bagian pengaturan sebenarnya mendefinisikan perilakunya.

Sebagai contoh, sebuah sumber daya Mengaktifkan mode pengembang Windows dapat menggunakan sumber daya. Microsoft.Windows.Settings/WindowsSettings dengan settings di mana hal itu didirikan DeveloperMode: trueSumber daya yang menginstal Visual Studio 2022 Community dapat digunakan Microsoft.WinGet.DSC/WinGetPackage dengan parameter seperti id: Microsoft.VisualStudio.2022.Community y source: winget.

Ketergantungan (dependsOn) Fitur ini memungkinkan Anda membuat hubungan logis antara sumber daya dan pernyataan. Misalnya, sumber daya yang menginstal komponen Visual Studio tambahan mungkin bergantung pada Visual Studio itu sendiri yang diinstal terlebih dahulu (diidentifikasi oleh id (dari sumber daya sebelumnya), atau bahwa penegasan versi sistem operasi telah berhasil.

  Instal dan atur font dengan FontBase atau NexusFont di Windows

Contoh praktis file YAML untuk WinGet

Mari kita lihat bagaimana semua ini diterjemahkan ke dalam file YAML sederhana. Bayangkan Anda ingin mendefinisikan konfigurasi dasar untuk memeriksa versi Windows minimum, menginstal Visual Studio Code, Google Chrome , dan menjalankan skrip PowerShell kecil untuk mempersiapkan lingkungan.

Skema yang disederhanakan bisa termasuk di dalam properties bagian dari assertions dengan pemeriksaan MinVersion dari sistem operasi dan sebagian dari resources dengan sumber daya paket dan skrip. Secara konseptual, kira-kira seperti ini:

properties:
assertions:
- MinVersion: "10.0.19041.0"
resources:
- package: Microsoft.VisualStudioCode
version: "latest"
- package: Google.Chrome
version: "latest"
- script: |
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Install-Module -Name PowerShellGet -Force -AllowClobber

Dalam konfigurasi konseptual ini Pertama-tama, ditetapkan persyaratan versi Windows minimum, dan jika terpenuhi, dua paket yang ditentukan (VS Code dan Chrome) akan diinstal dalam versi terbaru yang tersedia. Kemudian, sebuah skrip dijalankan yang menyesuaikan arahan eksekusi dan menambahkan modul tersebut. PowerShellGet dengan parameter yang sesuai.

Terapkan file tersebut ke mesin tertentu. Semudah menjalankan perintah di PowerShell. winget configure --file ruta\a\tu\archivo.yamlDari situ, WinGet akan memvalidasi dokumen terhadap skema, mengunduh modul DSC yang diperlukan, dan mulai mengevaluasi pernyataan dan sumber daya.

Dalam file yang lebih canggih, sebagai contoh tipikal configuration.wingetSumber daya didefinisikan untuk memverifikasi versi sistem operasi minimum, mengaktifkan Mode Pengembang, menginstal Visual Studio 2022 Community sebagai paket WinGet, dan menginstal komponen Visual Studio tambahan dari sebuah file. .vsconfig, menggunakan properti seperti productId, channelId, vsConfigFile dan bahkan parameternya includeRecommended untuk memperluas fasilitas tersebut.

Praktik terbaik, organisasi, dan variabel WinGetConfigRoot

Cara Anda mengatur bagian sumber daya dalam file sangat memengaruhi pemahaman dan pemeliharaannya. Meskipun eksekusi tidak berurutan dan urutannya tidak kritis, disarankan untuk mengikuti pendekatan yang konsisten agar pengembang atau administrator lain dapat memahaminya sekilas.

Beberapa pendekatan pengorganisasian yang umum meliputi pengurutan berdasarkan urutan eksekusi logis yang diasumsikan (apa yang paling masuk akal untuk terjadi terlebih dahulu), pengelompokan berdasarkan probabilitas kegagalan (menempatkan item yang paling "kritis" di bagian atas untuk mendeteksi kesalahan sedini mungkin), atau pengelompokan berdasarkan jenis sumber daya (paket, konfigurasi sistem, skrip, layanan, dll.). Semua metode ini dapat berfungsi selama didokumentasikan secara minimal.

Sangat disarankan untuk menyertakan file README di repositori bersama konfigurasi tersebut, yang menjelaskan strategi pengorganisasian, dependensi utama, cara menjalankan konfigurasi, prasyarat atau izin Windows apa yang dibutuhkan, dan pertimbangan keamanan apa pun.

Trik yang sangat berguna untuk rute. adalah dengan menggunakan variabel ${WinGetConfigRoot}, yang mewakili direktori kerja tempat perintah tersebut dieksekusi. winget configureAlih-alih menggunakan jalur absolut, Anda dapat membuat jalur relatif berdasarkan variabel ini, sehingga file lebih mudah dipindahkan antar komputer yang berbeda.

Sebagai contoh, sebuah sumber daya Jenis Microsoft.VisualStudio.DSC/VSComponents bisa digunakan ${WinGetConfigRoot} untuk menemukan sebuah file .vsconfig di direktori akar proyek, seperti pada '${WinGetConfigRoot}\..\.vsconfig'Ini tentu saja menyiratkan bahwa pengguna harus memastikan bahwa file tersebut ada di jalur relatif tersebut sebelum menjalankan konfigurasi.

Pembuatan, nama file, dan konvensi yang direkomendasikan

Untuk membuat file konfigurasi WinGet dari awal, disarankan untuk mengikuti serangkaian langkah logis: tentukan nama dan lokasi file, pahami skema dan formatnya, definisikan pernyataan dan sumber daya, serta tentukan dependensi dan parameter.

Microsoft merekomendasikan penggunaan ekstensi tersebut. .winget untuk file konfigurasi ini, misalnya configuration.wingetDalam proyek berbasis Git, konvensi yang disarankan adalah menyimpannya di dalam direktori tersembunyi. .config, khususnya di ./.config/configuration.winget sebagai konfigurasi default.

Jika suatu proyek memerlukan beberapa konfigurasi (misalnya, toolchain yang berbeda, profil pengembang yang berbeda, atau preferensi pengguna), file tambahan dapat ditambahkan ke direktori yang sama. .configmasing-masing dengan nama deskriptifnya sendiri untuk mencerminkan tujuannya.

Proses tipikal dalam mendesain file konfigurasi meliputi mengidentifikasi semua pernyataan yang diperlukan (versi sistem, keberadaan fitur tertentu, dll.), mencantumkan sumber daya (perangkat lunak, paket, pengaturan sistem) yang akan diterapkan, menemukan modul dan sumber daya DSC yang sesuai di PowerShell Gallery, dan secara eksplisit mendefinisikan kebijakan dan dependensi dari setiap sumber daya.

Untuk memverifikasi keabsahan file saat menyusun draf, sangat berguna untuk menggunakan Visual Studio Code dengan ekstensi Red Hat YAML dan menautkan skema JSON yang sesuai. Ini memungkinkan validasi struktur, pelengkapan otomatis, saran bidang, dan penyorotan kesalahan format yang mungkin tidak terdeteksi.

Keamanan, kepercayaan, dan arahan grup dengan WinGet

Karena ini adalah alat yang mampu menginstal dan mengkonfigurasi perangkat lunak. Dalam hal jumlah besar, keamanan adalah aspek kunci. WinGet terintegrasi dengan Microsoft Store menggunakan sumber yang disebut msstore dan menggunakan teknik "penjangkaran sertifikat" untuk memastikan bahwa koneksi ke Toko tersebut sah dan tidak sedang dicegat.

Dalam lingkungan perusahaan yang menggunakan firewall dengan inspeksi SSL, validasi ini dapat menyebabkan kesalahan jika lalu lintas dicegat dan dikemas ulang. Untuk kasus seperti itu, ada arahan yang disebut BypassCertificatePinningForMicrosoftStore , yang memungkinkan Anda untuk menentukan apakah WinGet harus melewati validasi hash sertifikat ini atau tetap mengaktifkannya.

Opsi untuk kebijakan ini adalah: membiarkannya tidak dikonfigurasi (perilaku default yang direkomendasikan, dengan memperhatikan nilai standar dari Windows Package Manager), mengaktifkannya (WinGet tidak akan memvalidasi sertifikat Microsoft Store), atau menonaktifkannya (WinGet akan mensyaratkan bahwa sertifikat tersebut sesuai dengan sertifikat Microsoft Store yang dikenal sebelum menerima koneksi).

  Cara Mengatur File Windows Secara Otomatis Menggunakan Excel

Menonaktifkan certificate pinning meningkatkan risiko serangan man-in-the-middle yang mencegat komunikasi untuk mencuri kredensial atau informasi sensitif lainnya. Oleh karena itu, hal ini hanya boleh dipertimbangkan sebagai upaya terakhir dan setelah pemahaman menyeluruh tentang implikasi kebijakan keamanan organisasi.

Selain arahan iniWinGet menawarkan serangkaian templat kebijakan grup (file) .admx y .adml) yang memungkinkan departemen TI untuk mengontrol aspek-aspek seperti sumber yang diizinkan atau diblokir, mengaktifkan fitur eksperimental, kebijakan pengembangan lokal, opsi proksi, atau perilaku antarmuka baris perintah.

Templat-templat ini didistribusikan. di dalam sebuah file DesktopAppInstallerPolicies.zip pada versi WinGet yang dipublikasikan di GitHub. Setelah diunduh, file-file tersebut diekstrak dan disalin ke jalur kebijakan standar di Windows (C:\Windows\PolicyDefinitions untuk file .admx dan subfolder bahasa, seperti en-US(untuk file .adml), ​​dan dari sana dapat dikelola dari Konsol Manajemen Kebijakan Grup.

Repositori, sumber tambahan, dan katalog paket

Secara default, WinGet memiliki dua sumber utama : Microsoft Store (msstore) dan repositori komunitas WinGet yang dihosting di GitHub, yang berfungsi sebagai indeks paket dan manifes. Repositori ini sudah berisi daftar panjang aplikasi terkenal: peramban seperti Chrome dan Firefox, utilitas kompresi seperti 7-Zip, alat pengembangan seperti OpenJDK, Git, dan Visual Studio, aplikasi desain seperti Blender dan Inkscape, dan masih banyak lagi.

Vendor perangkat lunak independen (ISV) dapat menggunakan WinGet sebagai saluran distribusi, dengan mengirimkan manifest untuk paket mereka ke repositori komunitas melalui permintaan tarik (pull request). Manifest ini dan biner yang ditunjuknya menjalani validasi otomatis dan, dalam banyak kasus, tinjauan manual untuk memastikan tingkat kualitas dan keamanan minimum.

Mirip dengan cara kerja repositori tambahan di GNU/Linux, WinGet memungkinkan Anda menambahkan sumber Anda sendiri. Sebuah organisasi dapat memelihara repositori pribadi dengan manifes khusus untuk aplikasi internalnya, baik di Azure, di server lokal, atau dalam solusi khusus seperti proyek yang menyediakan infrastruktur untuk repositori WinGet yang dihosting sendiri menggunakan Docker.

Tambahkan sumber alternatif Hal ini dilakukan dengan membuka PowerShell sebagai administrator dan menjalankan perintah seperti ini: winget source add --name <nombre_del_repositorio> --arg <URL_del_repositorio>Secara opsional, parameter tambahan dapat digunakan seperti --type (biasanya sumber REST), --trust-level (tidak ada atau terpercaya) dan --accept-source-agreements untuk secara otomatis menerima perjanjian lisensi sumber.

Untuk memverifikasi bahwa sumber telah ditambahkan dengan benar., bisa digunakan winget source listIni akan menampilkan semua sumber yang tersedia beserta nama dan tipenya. Mulai saat itu, pencarian dan instalasi akan dapat mempertimbangkan repositori baru tersebut, berdasarkan konfigurasi yang telah dilakukan.

WinGet, DSC, dan tempat menemukan sumber daya tambahan.

Kombinasi WinGet dengan DSC PowerShell memungkinkan Anda melampaui sekadar menginstal aplikasi dan benar-benar mengontrol konfigurasi mesin. DSC menawarkan banyak sumber daya siap pakai (disebut "inbox") dan banyak lainnya yang disumbangkan oleh komunitas dan diterbitkan di PowerShell Gallery.

Sumber daya konfigurasi status yang diinginkan secara umum mencakup modul untuk mengelola variabel lingkungan, menginstal atau menghapus paket MSI, menangani kunci dan nilai Registri, menjalankan skrip PowerShell, mengelola layanan Windows, menambah atau menghapus peran dan fitur sistem, serta memulai atau menghentikan proses Windows.

PowerShell Gallery berisi ratusan modul dengan sumber daya DSC tambahan, yang dapat ditemukan dengan menerapkan filter "Sumber Daya DSC" ke kategori yang relevan. Ini adalah sumber daya yang ampuh untuk memperluas kemampuan file konfigurasi Anda, tetapi juga memerlukan kehati-hatian.

Penting untuk dicatat bahwa PowerShell Gallery, meskipun sangat populer, bukanlah repositori yang diverifikasi oleh Microsoft. Repositori ini berisi kontribusi dari banyak penulis dan penerbit yang berbeda, dan setiap sumber daya mungkin menyertakan skrip sembarangan. Oleh karena itu, Anda harus selalu meninjau modul untuk menilai kredibilitas dan keamanannya sebelum mengintegrasikannya ke dalam konfigurasi yang akan diterapkan pada mesin produksi.

Microsoft sangat menyarankan untuk selalu memvalidasi integritas dan keandalan setiap file konfigurasi WinGet: tinjau isinya secara manual, pahami modul dan skrip apa yang digunakannya, uji terlebih dahulu di lingkungan terisolasi atau laboratorium, dan andalkan praktik terbaik yang dijelaskan dalam dokumentasi resmi tentang cara memverifikasi keandalan file konfigurasi.

WinGet, file konfigurasi YAML, dan PowerShell DSC membentuk kombinasi ampuh yang memungkinkan Anda beralih dari konfigurasi mesin secara manual ke deskripsi lingkungan secara deklaratif dengan cara yang dapat dibagikan dan otomatis. Dengan satu perintah, Anda dapat mereplikasi mesin pengembangan, menstandarisasi perangkat lunak di seluruh organisasi, atau sekadar menghindari kerumitan menginstal ulang perangkat lunak yang sama setiap kali Anda mendapatkan mesin baru.