PowerShell DSC Uzantısı

Not

DSC uzantısını etkinleştirmeden önce, Azure Automange adlı makine yapılandırması özelliği tarafından yönetilen daha yeni bir DSC sürümünün genel kullanıma sunulduğundan haberdar olmak isteriz. Makine yapılandırma özelliği, Desired State Configuration (DSC) uzantı işleyicisinin özelliklerini, Azure Otomasyonu State Configuration ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Makine yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği de içerir.

Genel Bakış

Windows için PowerShell DSC Uzantısı Microsoft tarafından yayımlanır ve desteklenir. Uzantı, Azure VM'sine bir PowerShell DSC Yapılandırması yükler ve uygular. DSC Uzantısı, VM'de alınan DSC yapılandırmasını uygulamak için PowerShell DSC'ye çağrı yapar. Bu belgede, Windows için DSC sanal makine uzantısı için desteklenen platformlar, yapılandırmalar ve dağıtım seçenekleri ayrıntılı olarak yer alır.

Önkoşullar

İşletim sistemi

DSC Uzantısı aşağıdaki işletim sistemini destekler

Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012R2, Windows Server 2012, Windows Server 2008 R2 SP1, Windows client 7/8.1/10

İnternet bağlantısı

Windows için DSC uzantısı, hedef sanal makinenin Azure'la ve Azure dışında bir konumda depolanıyorsa yapılandırma paketinin (.zip dosyası) konumuyla iletişim kurabilmesini gerektirir.

Uzantı şeması

Aşağıdaki JSON, bir Azure Resource Manager şablonundaki DSC Uzantısının ayarlar bölümünün şemasını gösterir.

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "Microsoft.Powershell.DSC",
  "apiVersion": "2018-10-01",
  "location": "<location>",
  "properties": {
    "publisher": "Microsoft.Powershell",
    "type": "DSC",
    "typeHandlerVersion": "2.77",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "wmfVersion": "latest",
        "configuration": {
            "url": "http://validURLToConfigLocation",
            "script": "ConfigurationScript.ps1",
            "function": "ConfigurationFunction"
        },
        "configurationArguments": {
            "argument1": "Value1",
            "argument2": "Value2"
        },
        "configurationData": {
            "url": "https://foo.psd1"
        },
        "privacy": {
            "dataCollection": "enable"
        },
        "advancedOptions": {
            "forcePullAndApply": false,
            "downloadMappings": {
             "specificDependencyKey": "https://myCustomDependencyLocation"
            }
        }
    },
    "protectedSettings": {
        "configurationArguments": {
            "parameterOfTypePSCredential1": {
                "userName": "UsernameValue1",
                "password": "PasswordValue1"
            },
            "parameterOfTypePSCredential2": {
                "userName": "UsernameValue2",
                "password": "PasswordValue2"
            }
        },
        "configurationUrlSasToken": "?g!bber1sht0k3n",
        "configurationDataUrlSasToken": "?dataAcC355T0k3N"
    }
  }
}

Özellik değerleri

Name Değer / Örnek Veri Türü
apiVersion 2018-10-01 date
yayımcı Microsoft.Powershell.DSC string
tür DSC string
typeHandlerVersion 2.77 int

Ayarlar Özellik değerleri

Name Veri Türü Açıklama
settings.wmfVersion string VM'nize yüklenmesi gereken Windows Yönetim Çerçevesi sürümünü belirtir. Bu özelliğin 'en son' olarak ayarlanması WMF'nin en güncel sürümünü yükler. Bu özellik için tek geçerli olası değerler '4.0', '5.0' ve 'latest' değerleridir. Bu olası değerler güncelleştirmelere tabidir. Varsayılan değer 'en son' değeridir.
settings.configuration.url string DSC yapılandırma zip dosyanızın indirildiği URL konumunu belirtir. Sağlanan URL erişim için bir SAS belirteci gerektiriyorsa protectedSettings.configurationUrlSasToken özelliğini SAS belirtecinizin değerine ayarlamanız gerekir. settings.configuration.script ve/veya settings.configuration.function tanımlanmışsa bu özellik gereklidir.
settings.configuration.script string DSC yapılandırmanızın tanımını içeren betiğin dosya adını belirtir. Bu betik, configuration.url özelliği tarafından belirtilen URL'den indirilen zip dosyasının kök klasöründe olmalıdır. settings.configuration.url ve/veya settings.configuration.script tanımlanmışsa bu özellik gereklidir.
settings.configuration.function string DSC yapılandırmanızın adını belirtir. adlı yapılandırma configuration.script tarafından tanımlanan betikte bulunmalıdır. settings.configuration.url ve/veya settings.configuration.function tanımlanmışsa bu özellik gereklidir.
settings.configurationArguments Koleksiyon DSC yapılandırmanıza geçirmek istediğiniz parametreleri tanımlar. Bu özellik şifrelenmez.
settings.configurationData.url string DSC yapılandırmanız için giriş olarak kullanılacak yapılandırma verileri (.pds1) dosyanızın indirildiği URL'yi belirtir. Sağlanan URL erişim için bir SAS belirteci gerektiriyorsa protectedSettings.configurationDataUrlSasToken özelliğini SAS belirtecinizin değerine ayarlamanız gerekir.
settings.privacy.dataEnabled string Telemetri toplamayı etkinleştirir veya devre dışı bırakır. Bu özellik için yalnızca 'Enable', 'Disable', " veya $null değerleri kullanılabilir. Bu özelliği boş veya null bırakmak telemetriyi etkinleştirir
settings.advancedOptions.forcePullAndApply Bool Bu ayar, Azure Otomasyonu DSC ile düğümleri kaydetmek için uzantıyla çalışma deneyimini geliştirmek için tasarlanmıştır. değer ise $trueuzantı, başarılı/başarısız döndürmeden önce hizmetten çekilen yapılandırmanın ilk çalıştırmasını bekler. Değer $false olarak ayarlanırsa, uzantı tarafından döndürülen durum yalnızca düğümün Azure Otomasyonu State Configuration başarıyla kaydedilip kaydedilmediğine ve düğüm yapılandırmasının kayıt sırasında çalıştırılmayacağına işaret eder.
settings.advancedOptions.downloadMappings Koleksiyon WMF ve .NET gibi bağımlılıkları indirmek için alternatif konumlar tanımlar

Korumalı Ayarlar Özellik değerleri

Name Veri Türü Açıklama
protectedSettings.configurationArguments string DSC yapılandırmanıza geçirmek istediğiniz parametreleri tanımlar. Bu özellik şifrelenir.
protectedSettings.configurationUrlSasToken string configuration.url ile tanımlanan URL'ye erişmek için SAS belirtecini belirtir. Bu özellik şifrelenir.
protectedSettings.configurationDataUrlSasToken string configurationData.url tarafından tanımlanan URL'ye erişmek için SAS belirtecini belirtir. Bu özellik şifrelenir.

Şablon dağıtımı

Azure VM uzantıları Azure Resource Manager şablonlarıyla dağıtılabilir. Şablonlar, dağıtım sonrası yapılandırma gerektiren bir veya daha fazla sanal makine dağıtırken idealdir. Windows için DSC uzantısını içeren örnek bir Resource Manager şablonu Azure Hızlı Başlangıç Galerisi'nde bulunabilir.

Sorun giderme ve destek

Sorun giderme

Uzantı dağıtımlarının durumu hakkındaki veriler Azure portaldan ve Azure CLI kullanılarak alınabilir. Belirli bir VM'nin uzantılarının dağıtım durumunu görmek için Azure CLI kullanarak aşağıdaki komutu çalıştırın.

az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

Uzantı paketi indirilir ve Azure VM'de bu konuma dağıtılır

C:\Packages\Plugins\{Extension_Name}\{Extension_Version}

Uzantı durumu dosyası, alt durum ve durum başarı/hata kodlarının yanı sıra her uzantı çalıştırmasının ayrıntı hatasını ve açıklamasını da içerir.

C:\Packages\Plugins\{Extension_Name}\{Extension_Version}\Status\{0}.Status  -> {0} being the sequence number

Uzantı çıkış günlükleri şu dizinde günlüğe kaydedilir:

C:\WindowsAzure\Logs\Plugins\{Extension_Name}\{Extension_Version}

Hata kodları ve anlamları

Hata Kodu Anlamı Olası Eylem
1000 Genel hata Bu hatanın iletisi uzantı günlüklerindeki özel durum tarafından sağlanır
52 Uzantı Yükleme Hatası Bu hatanın iletisi belirli bir özel durum tarafından sağlanır
1002 Wmf Yükleme Hatası WMF yüklenirken hata oluştu.
1004 Geçersiz Zip Paketi Geçersiz zip ; Zip paketini açma hatası
1100 Bağımsız Değişken Hatası Kullanıcı tarafından sağlanan girişte bir sorun olduğunu gösterir. Hata iletisi belirli bir özel durum tarafından sağlanır

Destek

Bu makalenin herhangi bir noktasında daha fazla yardıma ihtiyacınız varsa MSDN Azure ve Stack Overflow forumlarında Azure uzmanlarına başvurabilirsiniz. Alternatif olarak, bir Azure desteği olayı da oluşturabilirsiniz. Azure desteği sitesine gidin ve Destek al'ı seçin. Azure Desteği'ni kullanma hakkında bilgi için Microsoft Azure desteği SSS bölümünü okuyun.