Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WinGet Yapılandırma dosyası oluşturmak için:
- WinGet Yapılandırması
dosya adlandırma kuralından sonra bir YAML dosyası oluşturun. - WinGet Yapılandırma dosyası
biçimi hakkında bilgi edinin ve geçerli dosya şemasını bağlayın. - Onayları (gerekli önkoşullar) listesini ve Kaynaklar (makinenin geliştirme ortamını istenen duruma getirmek için gerekli yüklemelerin ve yapılandırma ayarlarının) dosyaya dahil etmek için belirleyin.
- İstediğiniz yapılandırma görevlerini gerçekleştirmek için gereken PowerShell modüllerini ve İstenen Durum Yapılandırması (DSC) Kaynaklarını belirleyin.
- Her yapılandırma kaynağı için gereken yönergeleri ve ayarları belirleyin.
- Her kaynağın bağımlılıklarını belirleyin.
WinGet yapılandırma komutunu kullanma hakkında daha fazla bilgi edinin.
Dosya biçimi
Windows Paket Yöneticisi, Windows kullanıcılarına yönelik paketleri bulmak ve yüklemek için bildirimleri (YAML dosyaları) kullanır. WinGet Yapılandırma dosyaları aynı YAML stil biçimini kullanır ve dosyanın yapısını ve doğrulamasını tanımlamaya yardımcı olmak için bir JSON şema belirtimi ekler. WinGet Yapılandırma dosyanızın biçiminin geçerli olup olmadığını algılamaya daha fazla yardımcı olmak için, düzgün söz dizimini desteklemek, biçimlendirme hatalarını algılamaya yardımcı olmak, vurgu desteği sağlamak ve otomatik tamamlama (JSON şema dosyasına bağlandığında) ve geçerli biçimlendirmeyi sağlamak için RedHat tarafından sunulan YAML uzantısıylaVisual Studio Code kullanmanızı öneririz.
Dosya adlandırma kuralı
WinGet Yapılandırma dosyasını adlandırma kuralı ".winget" dosya uzantısını (gibi configuration.winget) kullanmaktır. Git tabanlı projeler için varsayılan yapılandırma şu konumdaki ".config" dizininde depolanmalıdır. ./config/configuration.winget Bazı durumlarda, farklı araç zincirleri veya kullanıcı tercihleri göz önüne alındığında birden fazla yapılandırma dosyası uygun olabilir. Bu ek yapılandırma dosyaları da ".config" dizininde bulunmalıdır.
WinGet Yapılandırma dosyasının bölümleri
WinGet Yapılandırma dosyası iki birincil bölüme ayrılır:
- Onaylar: Yapılandırmayı çalıştırmak için gereken önkoşullar.
- Kaynaklar: Yüklenecek yazılım ve araçların listesi, bu yüklemelerin yapılandırma ayarları ve Windows işletim sisteminin yapılandırma ayarları.
Onaylar bölümü
Doğrulama listesi, bu WinGet Yapılandırma dosyasında listelenen kaynakların dosyayı çalıştıran makinede başarıyla çalışabilmesi için gereken önkoşulları kapsar. Onaylar paralel olarak tamamlanabilir ve sıralı bir sıralama gerektirmez.
Örnek bir onay:
- İşletim sistemi sürümü: Makinede yüklü işletim sisteminin* en düşük sürümü. Özellikler zaman içinde işletim sistemine eklendikçe, bazıları önceki sürümleri desteklemek üzere geri aktarılır ve bazıları desteklenmez. Yapılandırma için gereken belirli bir aracın veya özelliğin desteklenip desteklenmediğini belirlemek için en düşük işletim sistemi sürümünü denetlemek her zaman yararlıdır. Örneğin, WinGet (Windows Paket Yöneticisi) için en az Windows 10, sürüm 1809 veya üzeri gerekir. Windows'un eski sürümleri WinGet'i desteklemez. * PowerShell DSC Kaynaklarının sistemin durumunu değiştirmesi mümkündür, ancak açık kaynak bir projenin proje yapılandırmasında Windows Update'i çağırmak ve işletim sistemi sürümünü değiştirmek uygun olmaz.
Bir doğrulama, sistemin istenen durumda olmadığını belirtmek için "false" döndürürse, alanını kullanarak bu doğrulamayı bağımlılık olarak belirten dependsOn atlanacak ve çalıştırılamayacaktır. Bu durumda, Windows ortamına hiçbir yapılandırma değişikliği uygulanmamış olsa da, bu yapılandırma başarılı bir sonuç olarak kabul edilir.
Kaynaklar bölümü
Kaynaklar listesi, yüklenmesi gereken tüm yazılımları, araçları, paketleri ve Windows işletim sisteminiz veya yüklü uygulamalarınız için yapılandırma ayarlarını kapsar. Her kaynağa bir ad, gerçekleştirilecek yönergenin açıklaması ve bu yönergenin yürütülmesinden sorumlu olacak PowerShell modülünün yanı sıra ilişkili ayarlar veya bağımlılıklar verilmelidir.
Örnek WinGet Yapılandırma dosyası
Aşağıda örnek bir WinGet Yapılandırması configuration.winget biçimlendirilmiş dosyası verilmiştir:
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
assertions:
- resource: Microsoft.Windows.Developer/OsVersion
directives:
description: Verify min OS version requirement
allowPrerelease: true
settings:
MinVersion: '10.0.22000'
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2022 Community
securityContext: elevated
settings:
id: Microsoft.VisualStudio.2022.Community
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads from vsconfig file
allowPrerelease: true
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Community
channelId: VisualStudio.17.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
includeRecommended: true
configurationVersion: 0.2.0
Bu dosyanın bileşenleri şunlardan oluşur:
şema
: Yapılandırma dosyanızdaki ilk satır, dosyanın takip ettiği DSC şemasını belirtmek amacıyla şu yorumu içermelidir: . WinGet Yapılandırma şemasının en son sürümünü bulmak için adresine https://aka.ms/configuration-dsc-schema/gidin. Bu örneğin zamanı itibariyle en son şema numarası 0.2olduğundan, şema şu şekilde girilmiştir:# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2.Özellikler: Yapılandırma dosyasının kök düğümü,
propertiesyapılandırma sürümünü (configurationVersion: 0.2.0bu örnekte) içermelidir. Bu sürüm, yapılandırma dosyasındaki güncelleştirmelere uygun olarak güncelleştirilmelidir. Özellikler düğümü birassertionsdüğüm ve birresourcesdüğüm içermelidir.Onaylar: Bu bölümde bu yapılandırma için gereken önkoşulları (veya önkoşulları) listeleyin.
Kaynaklar: Hem
assertionshem deresourcesliste bölümleri, kurulum görevini temsil eden tek tekresourcedüğümlerden oluşur.resourceöğesine PowerShell modülünün adı ve ardından istenen durumunuzu uygulamak için çağrılacak modülün DSC kaynağının adı verilmelidir:{ModuleName}/{DscResource}. Her bir kaynakdirectivesvesettingsiçermek zorundadır. İsteğe bağlı olarak, biriddeğer de içerebilir. Yapılandırma uygulanırken, WinGet, modülü PowerShell Galerisi'nden yüklemeyi ve belirtilen DSC kaynağınıçalıştırmayı bilir.Yönergeler:
directivesbölümü modül ve kaynak hakkında bilgi sağlar. Bu bölüm, modül tarafından gerçekleştirilir yapılandırma görevini açıklayan birdescriptiondeğer içermelidir. değeri,allowPrereleaseyapılandırmanın (true) PowerShell Galerisi'nden "Ön sürüm" modüllerini kullanmasına izin verilip verilmeyeceğini seçmenizi sağlar. Bazı DSC kaynaklarının yönetici ayrıcalıklarıyla çalıştırılması gerekebilir. KaynağınsecurityContext: elevatedyönergeler bölümünün altındaki alan bu gereksinimi gösterir. olarak ayarlandığındaelevated, WinGet yapılandırmanın başlangıcında bir UAC onayı ister. WinGet daha sonra iki işlem başlatır: biri yükseltilmiş ayrıcalıklara sahip kaynakları, diğeri ise geçerli kullanıcının ayrıcalıklarıyla kaynakları çalıştıran bir işlem.Ayarlar: Kaynağın
settingsdeğeri, PowerShell DSC Kaynağına geçirilen ad-değer çiftleri koleksiyonunu temsil eder. Ayarlar, Geliştirici Modu'nu etkinleştirip etkinleştirmeme, bir reg anahtarı uygulamaya veya belirli bir ağ ayarı oluşturmaya kadar her şeyi temsil edebilir.Bağımlılıklar: Kaynağın
dependsOndeğeri, bu göreve başlamadan önce başka bir onay veya kaynağın tamamlanıp tamamlanmayacağını belirler. Bağımlılık başarısız olursa, bu kaynak da otomatik olarak başarısız olur.Kimlik: Belirli bir kaynak örneğinin benzersiz tanımlayıcısı. Bu
iddeğeri, başka bir kaynağın bu kaynak uygulanmadan önce bu kaynağa bağımlılığı varsa kullanılabilir.
Kaynaklar bölümünü düzenleme
WinGet Yapılandırma dosyanızın Kaynaklar bölümünü düzenlemeyi belirlerken göz önünde bulundurmanız gereken birden çok yaklaşım vardır. Dosya listenizi şu şekilde düzenleyebilirsiniz:
- Yürütme sırası: Kaynak listenizi yürütülmeleri gereken mantıksal sıraya göre düzenleme. Bu yaklaşım, kullanıcının dosya çalıştırıldıktan sonra gerçekleştirilen otomasyon adımlarını anlamasına ve izlemesine yardımcı olabilir. İlk yüklenen, ikinci, üçüncü olarak hangi ayarın güncelleştirildiği vb.
- Hata olasılığı: Kaynak listenizi olası bir hata olasılığına göre düzenlemek, kullanıcıların yapılandırma sürecinin erken aşamalarında sorunları yakalamalarına ve kalan adımların neden başarısız olabileceğini anlamalarına yardımcı olarak, çok fazla zaman harcamadan önce gerekli değişiklikleri belirlemelerine ve yapmalarına yardımcı olabilir.
- Benzer kaynak türlerini gruplandırma: Kaynak listenizi benzer kaynak türlerini birlikte gruplandırarak düzenlemek, yazılım mühendisliği yöntemlerinde yaygın bir yaklaşımdır ve yapılandırma dosyanızı kullanan diğer geliştiriciler veya sizin için en tanıdık olabilir.
Dosya yapısının kuruluş yaklaşımını içeren açık kaynak yayımlanmış winget yapılandırma dosyalarına bir README.md dosyası eklemenizi öneririz.
${WinGetConfigRoot} değişkenini kullanma
Bazı DSC kaynakları, dosyanın yolunu belirten bir parametre alabilir. Tam yolu belirtmek yerine, komutunun yürütüldüğü çalışma dizinini tanımlamak için değişkenini ${WinGetConfigRoot}winget configure kullanabilir ve ilgili dosyayı işaret etmek için göreli yolu ekleyebilirsiniz. Bu, bir yapılandırma dosyasını makineden bağımsız olacak şekilde genelleştirmek için kullanışlıdır.
Microsoft.VisualStudio.DSC/VSComponents Yukarıdaki örnekteki kaynak, bir projenin kök dizinindeki .vsconfig dosyasına işaret etmek için ${WinGetConfigRoot} kullanarak bu işlevi gösterir. Bu, kullanıcının komutu yürütmeden önce geçerli çalışma dizinine göre hedef dosyanın göreli yolda bulunduğundan winget configureemin olması gerektiği anlamına da gelir.
PowerShell DSC Kaynak modülleri nerede bulunur?
Microsoft tarafından desteklenen PowerShell İstenen Durum Yapılandırma Kaynakları
- Ortam: Bir makine veya işlem için ortam değişkenlerini yönetme.
- MsiPackage: MSI paketini yükleyin veya kaldırın.
- Kayıt defteri: Kayıt defteri anahtarını veya değerini yönetin.
- Komut Dosyası: PowerShell komut dosyası bloklarını çalıştırın.
- Hizmet: Bir Windows hizmetini yönetin.
- WindowsFeature: Bir Windows rolünü veya özelliğini yükleyin veya kaldırın.
- Windowsprocess: Bir Windows işlemini başlatın veya durdurun.
PowerShell DSC Kaynak modüllerini PowerShell Galerisi'nde de bulabilirsiniz. Bu galeri, kullanıcı topluluğu tarafından gönderilen İstenen Durum Yapılandırması (DSC) kaynaklarını içeren yüzlerce PowerShell Modülünü barındırıyor. "Kategoriler" altında "DSC Kaynağı" filtresini uygulayarak arama sonuçlarını filtreleyebilirsiniz. Bu depo Microsoft tarafından doğrulanmaz ve çeşitli yazarların ve yayımcıların kaynaklarını içerir. Herhangi bir rastgele betik eklenebileceği için kullanılmadan önce PowerShell modülleri her zaman güvenlik ve güvenilirlik açısından gözden geçirilmelidir. Güvenilir bir WinGet Yapılandırma dosyası oluşturma hakkında daha fazla ipucu için bkz. WinGet Yapılandırma dosyasının güvenilirliğini denetleme.
Windows developer