PowerShell DSC Uzantısı

Uyarı

DSC uzantısı 31 Mart 2028'de kullanımdan kaldırılacaktır. Bu tarihe kadar Azure Makine Yapılandırması'na geçin. Daha fazla bilgi için blog gönderisi duyurusunu inceleyin. Azure Makine Yapılandırma hizmeti, DSC Uzantısının, Azure Otomasyonu Durum Yapılandırması'nın ve müşteri geri bildirimlerinden sık istenen özelliklerin belirli özelliklerini birleştirir. Azure 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ı, Bir Azure sanal makinesine PowerShell DSC Yapılandırması yükler ve uygular. DSC Uzantısı, sanal makinede 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 açıklenmektedir.

Uyarı

Daha hızlı tanılama için VM yardımını deneyin. Windows için VM yardımını veya Linux için VM yardımını çalıştırmanızı öneririz. Bu betik tabanlı tanılama araçları, Azure VM Konuk Aracısı'nı ve genel VM durumunu etkileyen yaygın sorunları belirlemenize yardımcı olur.

Sanal makinelerle ilgili performans sorunları yaşıyorsanız desteğe başvurmadan önce bu araçları çalıştırın.

Önkoşullar

İşletim sistemi

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

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

Internet connectivity

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

Uzantı şeması

Aşağıdaki JSON, Bir Azure Resource Manager şablonunda 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

İsim Değer / Örnek Veri Türü
apiVersion 2018-10-01 date
yayınevi Microsoft.Powershell.DSC String
type DSC String
tipİşleyiciVersiyonu 2.77 int

Ayarlar Özellik değerleri

İsim Veri Türü Description
settings.wmfVersion String VM'nize yüklenmesi gereken Windows Management Framework 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 ayarlayın. Settings.configuration.script ve/veya settings.configuration.function tanımlandığında 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ımlandığında 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 yer almalıdır. Settings.configuration.url ve/veya settings.configuration.function tanımlandığında bu özellik gereklidir.
settings.configurationArguments Collection 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 ayarlayın.
settings.privacy.dataEnabled String Telemetri koleksiyonunu etkinleştirir veya devre dışı bırakır. Bu özelliğin tek olası değerleri 'Enable', 'Disable', "veya $null'dır. Bu özelliği boş veya null bırakmak telemetriyi etkinleştirir
settings.advancedOptions.forcePullAndApply Boole Bu ayar, Azure Otomasyonu DSC'ye düğümleri kaydetmek için uzantıyla çalışma deneyimini geliştirmek için tasarlanmıştır. değeri ise $trueuzantı, başarı/başarısızlık 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, düğümün Azure Otomasyonu Durum Yapılandırması'na başarıyla kaydedilip kaydedilmediğini ve kayıt sırasında düğüm yapılandırmasının çalışmayacağını belirtir.
settings.advancedOptions.downloadMappings Collection WMF ve .NET gibi bağımlılıkları indirmek için alternatif konumları tanımlar

Korumalı Ayarlar Özellik değerleri

İsim Veri Türü Description
protectedSettings.configurationArguments String DSC yapılandırmanıza geçirmek istediğiniz parametreleri tanımlar.
protectedSettings.configurationUrlSasToken String configuration.url tarafından tanımlanan URL'ye erişmek için SAS belirtecini belirtir.
protectedSettings.configurationDataUrlSasToken String configurationData.url tarafından tanımlanan URL'ye erişmek için SAS belirtecini belirtir.

Ş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ılı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

Troubleshoot

Uzantı dağıtımlarının durumuyla ilgili veriler Azure portalından 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ı durum dosyası, her uzantı çalıştırması için ayrıntılı hata ve açıklamanın yanı sıra alt durumu ve durum başarı/hata kodlarını içerir.

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

Uzantı çıkış günlükleri aşağıdaki dizine kaydedilir:

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

Hata kodları ve anlamları

Hata Kodu Meaning 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şteki bir sorunu gösterir. Hata iletisi belirli bir özel durum tarafından sağlanır

Support

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 destek talebi de oluşturabilirsiniz. Azure destek sitesine gidin ve Destek al'ı seçin. Azure Desteği'ni kullanma hakkında bilgi için Microsoft Azure desteği hakkında SSS bölümünü okuyun.