Share via


PowerShell DSC-extensie

Notitie

Voordat u de DSC-extensie inschakelt, willen we graag dat u weet dat er nu een nieuwere versie van DSC algemeen beschikbaar is, die wordt beheerd door een functie van Azure Automange met de naam machineconfiguratie. De functie voor machineconfiguratie combineert functies van de dsc-extensiehandler (Desired State Configuration), Azure Automation State Configuration en de meest gevraagde functies uit feedback van klanten. Machineconfiguratie omvat ook ondersteuning voor hybride machines via servers met Arc.

Overzicht

De PowerShell DSC-extensie voor Windows wordt gepubliceerd en ondersteund door Microsoft. De extensie uploadt en past een PowerShell DSC-configuratie toe op een Azure-VM. De DSC-extensie roept PowerShell DSC aan om de ontvangen DSC-configuratie op de VM uit te voeren. In dit document worden de ondersteunde platforms, configuraties en implementatieopties voor de DSC-extensie voor virtuele machines voor Windows beschreven.

Vereisten

Besturingssysteem

De DSC-extensie ondersteunt de volgende besturingssystemen

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

Internetconnectiviteit

De DSC-extensie voor Windows vereist dat de virtuele doelmachine kan communiceren met Azure en de locatie van het configuratiepakket (.zip-bestand) als deze is opgeslagen op een locatie buiten Azure.

Extensieschema

In de volgende JSON ziet u het schema voor het instellingengedeelte van de DSC-extensie in een Azure Resource Manager-sjabloon.

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

Eigenschapswaarden

Naam Waarde/voorbeeld Gegevenstype
apiVersion 2018-10-01 datum
publisher Microsoft.Powershell.DSC tekenreeks
type DSC tekenreeks
typeHandlerVersion 2.77 int

Instellingen Eigenschapswaarden

Naam Gegevenstype Beschrijving
settings.wmfVersion tekenreeks Hiermee geeft u de versie van de Windows Management Framework die op uw VIRTUELE machine moet worden geïnstalleerd. Als u deze eigenschap instelt op 'nieuwste', wordt de meest bijgewerkte versie van WMF geïnstalleerd. De enige huidige mogelijke waarden voor deze eigenschap zijn '4.0', '5.0' en 'latest'. Deze mogelijke waarden zijn onderhevig aan updates. De standaardwaarde is 'nieuwste'.
settings.configuration.url tekenreeks Hiermee geeft u de URL-locatie van waaruit het ZIP-bestand van de DSC-configuratie te downloaden. Als voor de opgegeven URL een SAS-token is vereist voor toegang, moet u de eigenschap protectedSettings.configurationUrlSasToken instellen op de waarde van uw SAS-token. Deze eigenschap is vereist als settings.configuration.script en/of settings.configuration.function zijn gedefinieerd.
settings.configuration.script tekenreeks Hiermee geeft u de bestandsnaam van het script dat de definitie van uw DSC-configuratie bevat. Dit script moet zich in de hoofdmap bevinden van het zip-bestand dat is gedownload van de URL die is opgegeven door de eigenschap configuration.url. Deze eigenschap is vereist als settings.configuration.url en/of settings.configuration.script zijn gedefinieerd.
settings.configuration.function tekenreeks Hiermee geeft u de naam van uw DSC-configuratie. De configuratie met de naam moet zijn opgenomen in het script dat is gedefinieerd door configuration.script. Deze eigenschap is vereist als settings.configuration.url en/of settings.configuration.function zijn gedefinieerd.
settings.configurationArguments Verzameling Definieert alle parameters die u wilt doorgeven aan uw DSC-configuratie. Deze eigenschap wordt niet versleuteld.
settings.configurationData.url tekenreeks Hiermee geeft u de URL van waaruit uw configuratiegegevensbestand (.pds1) moet worden gedownload om te gebruiken als invoer voor uw DSC-configuratie. Als voor de opgegeven URL een SAS-token is vereist voor toegang, moet u de eigenschap protectedSettings.configurationDataUrlSasToken instellen op de waarde van uw SAS-token.
settings.privacy.dataEnabled tekenreeks Hiermee schakelt u telemetrieverzameling in of uit. De enige mogelijke waarden voor deze eigenschap zijn 'Inschakelen', 'Uitschakelen', 'of $null. Als u deze eigenschap leeg of null laat, wordt telemetrie ingeschakeld
settings.advancedOptions.forcePullAndApply Booleaanse waarde Deze instelling is ontworpen om de ervaring van het werken met de extensie voor het registreren van knooppunten met Azure Automation DSC te verbeteren. Als de waarde is $true, wacht de extensie op de eerste uitvoering van de configuratie die is opgehaald uit de service voordat de geslaagde/mislukte bewerking wordt geretourneerd. Als de waarde is ingesteld op $false, verwijst de status die door de extensie wordt geretourneerd alleen naar of het knooppunt is geregistreerd bij Azure Automation State Configuration en wordt de knooppuntconfiguratie niet uitgevoerd tijdens de registratie.
settings.advancedOptions.downloadMappings Verzameling Definieert alternatieve locaties voor het downloaden van afhankelijkheden zoals WMF en .NET

Eigenschapswaarden voor beveiligde instellingen

Naam Gegevenstype Beschrijving
protectedSettings.configurationArguments tekenreeks Definieert alle parameters die u wilt doorgeven aan uw DSC-configuratie. Deze eigenschap wordt versleuteld.
protectedSettings.configurationUrlSasToken tekenreeks Hiermee geeft u het SAS-token voor toegang tot de URL die is gedefinieerd door configuration.url. Deze eigenschap wordt versleuteld.
protectedSettings.configurationDataUrlSasToken tekenreeks Hiermee geeft u het SAS-token voor toegang tot de URL die is gedefinieerd door configurationData.url. Deze eigenschap wordt versleuteld.

Sjabloonimplementatie

Azure VM-extensies kunnen worden geïmplementeerd met Azure Resource Manager-sjablonen. Sjablonen zijn ideaal bij het implementeren van een of meer virtuele machines waarvoor configuratie na de implementatie is vereist. Een voorbeeld Resource Manager sjabloon die de DSC-extensie voor Windows bevat, vindt u in de Galerie Aan de slag met Azure.

Problemen oplossen en ondersteuning

Problemen oplossen

Gegevens over de status van extensie-implementaties kunnen worden opgehaald uit Azure Portal en met behulp van de Azure CLI. Als u de implementatiestatus van extensies voor een bepaalde VM wilt zien, voert u de volgende opdracht uit met behulp van de Azure CLI.

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

Het uitbreidingspakket wordt gedownload en geïmplementeerd op deze locatie op de Azure-VM

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

Bestand met extensiestatus bevat de substatus en de codes voor het slagen/mislukken van elke run, samen met de gedetailleerde fout en beschrijving voor elke extensie-run.

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

Extensie-uitvoerlogboeken worden vastgelegd in de volgende map:

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

Foutcodes en hun betekenis

Foutcode Betekenis Mogelijke actie
1000 Algemene fout Het bericht voor deze fout wordt geleverd door de specifieke uitzondering in extensielogboeken
52 Fout bij het installeren van extensie Het bericht voor deze fout wordt geleverd door de specifieke uitzondering
1002 Wmf-installatiefout Fout tijdens het installeren van WMF.
1004 Ongeldig zip-pakket Ongeldige zip; Fout bij het uitpakken van de zip
1100 Argumentfout Geeft een probleem aan in de invoer die door de gebruiker is opgegeven. Het bericht voor de fout wordt geleverd door de specifieke uitzondering

Ondersteuning

Als u op enig moment in dit artikel meer hulp nodig hebt, kunt u contact opnemen met de Azure-experts op de MSDN Azure- en Stack Overflow-forums. U kunt ook een ondersteuning voor Azure-incident indienen. Ga naar de ondersteuning voor Azure-site en selecteer Ondersteuning krijgen. Lees de Veelgestelde vragen over Microsoft ondersteuning voor Azure voor meer informatie over het gebruik van Azure-ondersteuning.