Rozšíření PowerShell DSC

Poznámka

Než povolíte rozšíření DSC, chtěli bychom, abyste věděli, že novější verze DSC je teď obecně dostupná a spravuje ji funkce Azure Automange s názvem Konfigurace počítače. Funkce konfigurace počítače kombinuje funkce obslužné rutiny rozšíření Desired State Configuration (DSC), Azure Automation State Configuration a nejčastěji požadované funkce ze zpětné vazby od zákazníků. Konfigurace počítače zahrnuje také podporu hybridních počítačů prostřednictvím serverů s podporou Arc.

Přehled

Rozšíření PowerShell DSC pro Windows publikuje a podporuje Společnost Microsoft. Rozšíření nahraje a použije konfiguraci DSC PowerShellu na virtuální počítač Azure. Rozšíření DSC volá do PowerShellU DSC, aby na virtuálním počítači provedlo přijatou konfiguraci DSC. Tento dokument podrobně popisuje podporované platformy, konfigurace a možnosti nasazení rozšíření virtuálního počítače DSC pro Windows.

Požadavky

Operační systém

Rozšíření DSC podporuje následující operační systém

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

Připojení k internetu

Rozšíření DSC pro Windows vyžaduje, aby cílový virtuální počítač mohl komunikovat s Azure a umístěním konfiguračního balíčku (soubor .zip), pokud je uložený v umístění mimo Azure.

Schéma rozšíření

Následující kód JSON ukazuje schéma pro část nastavení rozšíření DSC v šabloně Azure Resource Manager.

{
  "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"
    }
  }
}

Hodnoty vlastností

Název Hodnota / příklad Typ dat
apiVersion 2018-10-01 date
vydavatel Microsoft.Powershell.DSC řetězec
typ DSC řetězec
typeHandlerVersion 2.77 int

Hodnoty vlastností nastavení

Název Typ dat Popis
settings.wmfVersion řetězec Určuje verzi Windows Management Framework, která se má na virtuální počítač nainstalovat. Nastavením této vlastnosti na "nejnovější" se nainstaluje nejaktuálnější verze WMF. Jediné aktuální možné hodnoty pro tuto vlastnost jsou "4.0", "5.0" a "latest". Tyto možné hodnoty se mohou aktualizovat. Výchozí hodnota je "latest".
settings.configuration.url řetězec Určuje umístění adresy URL, ze kterého chcete stáhnout soubor ZIP konfigurace DSC. Pokud zadaná adresa URL vyžaduje pro přístup token SAS, budete muset vlastnost protectedSettings.configurationUrlSasToken nastavit na hodnotu vašeho tokenu SAS. Tato vlastnost je vyžadována, pokud jsou definovány settings.configuration.script a/nebo settings.configuration.function.
settings.configuration.script řetězec Určuje název souboru skriptu, který obsahuje definici konfigurace DSC. Tento skript musí být v kořenové složce souboru zip staženého z adresy URL určené vlastností configuration.url. Tato vlastnost je vyžadována, pokud jsou definovány settings.configuration.url a/nebo settings.configuration.script.
settings.configuration.function řetězec Určuje název konfigurace DSC. Konfigurace s názvem musí být obsažena ve skriptu definovaném nástrojem configuration.script. Tato vlastnost je vyžadována, pokud jsou definovány settings.configuration.url a/nebo settings.configuration.function.
settings.configurationArguments Kolekce Definuje všechny parametry, které chcete předat konfiguraci DSC. Tato vlastnost nebude zašifrována.
settings.configurationData.url řetězec Určuje adresu URL, ze které chcete stáhnout soubor konfiguračních dat (.pds1), který se použije jako vstup pro konfiguraci DSC. Pokud zadaná adresa URL vyžaduje token SAS pro přístup, budete muset nastavit vlastnost protectedSettings.configurationDataUrlSasToken na hodnotu vašeho tokenu SAS.
settings.privacy.dataEnabled řetězec Povolí nebo zakáže shromažďování telemetrických dat. Jediné možné hodnoty pro tuto vlastnost jsou 'Enable', 'Disable', ", nebo $null. Pokud tuto vlastnost ponecháte prázdnou nebo prázdnou, povolí se telemetrie.
settings.advancedOptions.forcePullAndApply Logická hodnota Toto nastavení je navržené tak, aby zlepšilo práci s rozšířením pro registraci uzlů v Azure Automation DSC. Pokud je $truehodnota , rozšíření počká na první spuštění konfigurace natažené ze služby, než vrátí úspěch nebo selhání. Pokud je hodnota nastavená na $false, bude stav vrácený rozšířením odkazovat pouze na to, jestli byl uzel úspěšně zaregistrován s Azure Automation State Configuration a konfigurace uzlu se během registrace nespustí.
settings.advancedOptions.downloadMappings Kolekce Definuje alternativní umístění ke stažení závislostí, jako jsou WMF a .NET.

Hodnoty vlastností chráněného nastavení

Název Typ dat Popis
protectedSettings.configurationArguments řetězec Definuje všechny parametry, které chcete předat konfiguraci DSC. Tato vlastnost bude zašifrovaná.
protectedSettings.configurationUrlSasToken řetězec Určuje token SAS pro přístup k adrese URL definované configuration.url. Tato vlastnost bude zašifrovaná.
protectedSettings.configurationDataUrlSasToken řetězec Určuje token SAS pro přístup k adrese URL definované configurationData.url. Tato vlastnost bude zašifrovaná.

Nasazení šablon

Rozšíření virtuálních počítačů Azure je možné nasadit pomocí šablon Azure Resource Manager. Šablony jsou ideální při nasazování jednoho nebo více virtuálních počítačů, které vyžadují konfiguraci po nasazení. Ukázkovou Resource Manager šablonu, která obsahuje rozšíření DSC pro Windows, najdete v Galerii rychlých startů Azure.

Řešení potíží a podpora

Řešení potíží

Údaje o stavu nasazení rozšíření je možné získat z webu Azure Portal a pomocí Azure CLI. Pokud chcete zobrazit stav nasazení rozšíření pro daný virtuální počítač, spusťte pomocí Azure CLI následující příkaz.

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

Balíček rozšíření se stáhne a nasadí do tohoto umístění na virtuálním počítači Azure.

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

Soubor stavu rozšíření obsahuje průběžný stav a úspěšný stav nebo kódy chyb spolu s podrobným zněním a popisem chyb pro každé spuštění rozšíření.

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

Protokoly výstupu rozšíření se protokolují do následujícího adresáře:

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

Kódy chyb a jejich význam

Kód chyby Význam Možná akce
1000 Obecná chyba Zprávu o této chybě poskytuje konkrétní výjimka v protokolech rozšíření.
52 Chyba instalace rozšíření Zpráva o této chybě je poskytována konkrétní výjimkou.
1002 Chyba instalace WMF Při instalaci WMF došlo k chybě.
1004 Neplatný balíček ZIP Neplatný zip ; Chyba při rozbalování souboru ZIP
1100 Chyba argumentu Označuje problém ve vstupu poskytnutém uživatelem. Zpráva o chybě je poskytována konkrétní výjimkou.

Podpora

Pokud budete kdykoli potřebovat další pomoc v tomto článku, můžete kontaktovat odborníky na Azure na fórech MSDN Azure a Stack Overflow. Případně můžete zakládaný podpora Azure incident. Přejděte na web podpora Azure a vyberte Získat podporu. Informace o používání podpory Azure najdete v nejčastějších dotazech k Microsoftu podpora Azure.