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 emin olmak isteriz. Makine yapılandırma özelliği, İstenen Durum Yapılandırması (DSC) uzantı işleyicisinin özelliklerini, durum yapılandırması Azure Otomasyonu 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ı, Bir Azure VM'sine 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 açıklenmektedir.

Ö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 İstemcisi 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 ş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

Veri Akışı Adı Değer / Örnek Veri Türü
apiVersion 2018-10-01 tarih
yayınevi Microsoft.Powershell.DSC Dize
Tür DSC Dize
typeHandlerVersion 2.77 int

Ayarlar Özellik değerleri

Veri Akışı Adı Veri Türü Açıklama
settings.wmfVersion Dize 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 Dize 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ımlandığında bu özellik gereklidir.
settings.configuration.script Dize 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 Dize 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 Koleksiyon DSC yapılandırmanıza geçirmek istediğiniz parametreleri tanımlar. Bu özellik şifrelenmez.
settings.configurationData.url Dize 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 Dize 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ılı/başarısız döndürmeden önce hizmetten alınan 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 Durum Yapılandırmasına başarıyla kaydedilip kaydedilmediğine ve düğüm yapılandırmasının kayıt sırasında çalıştırılmayacağına başvurur.
settings.advancedOptions.downloadMappings Koleksiyon WMF ve .NET gibi bağımlılıkları indirmek için alternatif konumları tanımlar

Korumalı Ayarlar Özellik değerleri

Veri Akışı Adı Veri Türü Açıklama
protectedSettings.configurationArguments Dize DSC yapılandırmanıza geçirmek istediğiniz parametreleri tanımlar. Bu özellik şifrelenir.
protectedSettings.configurationUrlSasToken Dize configuration.url tarafından tanımlanan URL'ye erişmek için SAS belirtecini belirtir. Bu özellik şifrelenir.
protectedSettings.configurationDataUrlSasToken Dize 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ı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

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şteki bir sorunu 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.