Sdílet prostřednictvím


Rozšíření PowerShell DSC

Poznámka:

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

Přehled

Rozšíření PowerShell DSC pro Windows je publikováno a podporováno Microsoftem. Rozšíření nahraje a použije konfiguraci PowerShell DSC na virtuálním počítači Azure. Rozšíření DSC volá do PowerShellU DSC za účelem přijetí přijaté konfigurace DSC na virtuálním počítači. 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, Windows Client 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 (.zip souboru), pokud je uložený v umístění mimo Azure.

Schéma rozšíření

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

{
  "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 Datový typ
apiVersion 2018-10-01 datum
vydavatel Microsoft.Powershell.DSC string
type DSC string
typeHandlerVersion 2.77 int

Hodnoty vlastností nastavení

Name Datový typ Popis
settings.wmfVersion string Určuje verzi rozhraní Windows Management Framework, která by se měla nainstalovat na virtuální počítač. Nastavením této vlastnosti na "latest" se nainstaluje nejaktuálnější verze WMF. Jedinou aktuální možnou hodnotou této vlastnosti jsou 4.0, 5.0 a latest. Tyto možné hodnoty podléhají aktualizacím. Výchozí hodnota je "latest".
settings.configuration.url string Určuje umístění adresy URL, ze kterého chcete stáhnout konfigurační soubor ZIP DSC. Pokud zadaná adresa URL vyžaduje token SAS pro přístup, budete muset nastavit protectedSettings.configurationUrlSasToken vlastnost na hodnotu tokenu SAS. Tato vlastnost se vyžaduje, pokud jsou definovány settings.configuration.script a/nebo settings.configuration.function.
settings.configuration.script string 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 se vyžaduje, pokud jsou definovány parametry settings.configuration.url a/nebo settings.configuration.script.
settings.configuration.function string Určuje název konfigurace DSC. Pojmenovaná konfigurace musí být obsažena ve skriptu definovaném pomocí configuration.script. Tato vlastnost se vyžaduje, 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 string Určuje adresu URL, ze které chcete stáhnout soubor konfiguračních dat (.pds1), který se má použít jako vstup pro konfiguraci DSC. Pokud zadaná adresa URL vyžaduje token SAS pro přístup, budete muset nastavit protectedSettings.configurationDataUrlSasToken vlastnost na hodnotu tokenu SAS.
settings.privacy.dataEnabled string Povolí nebo zakáže shromažďování telemetrie. Jediné možné hodnoty pro tuto vlastnost jsou Enable, Disable, ", nebo $null. Ponechání této vlastnosti prázdné nebo null povolí telemetrii.
settings.advancedOptions.forcePullAndApply Bool 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í před vrácením úspěchu nebo selhání počká na první spuštění konfigurace načítané ze služby. Pokud je hodnota nastavená na $false, stav vrácený rozšířením bude odkazovat pouze na to, jestli byl uzel úspěšně zaregistrován ve službě Azure Automation State Configuration a během registrace se konfigurace uzlu nespustí.
settings.advancedOptions.downloadMappings Kolekce Definuje alternativní umístění pro stahování závislostí, jako jsou WMF a .NET.

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

Name Datový typ Popis
protectedSettings.configurationArguments string Definuje všechny parametry, které chcete předat konfiguraci DSC. Tato vlastnost bude zašifrována.
protectedSettings.configurationUrlSasToken string Určuje token SAS pro přístup k adrese URL definované pomocí configuration.url. Tato vlastnost bude zašifrována.
protectedSettings.configurationDataUrlSasToken string Určuje token SAS pro přístup k adrese URL definované configurationData.url. Tato vlastnost bude zašifrována.

Nasazení šablon

Rozšíření virtuálních počítačů Azure je možné nasadit pomocí šablon Azure Resource Manageru. Š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 šablonu Resource Manageru, která obsahuje rozšíření DSC pro Windows, najdete v galerii Rychlý start Azure.

Řešení potíží a podpora

Odstraňování 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 následující příkaz pomocí Azure CLI.

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ýznamy

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

Technická podpora

Pokud potřebujete další pomoc v libovolném bodě tohoto článku, můžete kontaktovat odborníky na Azure na fórech MSDN Azure a Stack Overflow. Případně můžete podat incident podpora Azure. 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.