Delen via


PowerShell DSC-extensie

Notitie

Voordat u de DSC-extensie inschakelt, willen we graag weten dat een nieuwere versie van DSC nu algemeen beschikbaar is, beheerd door een functie van azure Automange benoemde machineconfiguratie. De functie voor machineconfiguratie combineert functies van de DSC-extensiehandler (Desired State Configuration), Azure Automation State Configuration en de meest aangevraagde functies van 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 virtuele machine uit te voeren. In dit document worden de ondersteunde platformen, configuraties en implementatieopties voor de extensie voor de virtuele DSC-machine voor Windows beschreven.

Vereisten

Besturingssysteem

De DSC-extensie ondersteunt het volgende besturingssysteem

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

Verbinding met internet

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
uitgever Microsoft.Powershell.DSC tekenreeks
type DSC tekenreeks
typeHandlerVersion 2.77 int

Eigenschapswaarden van instellingen

Naam Gegevenssoort Beschrijving
settings.wmfVersion tekenreeks Hiermee geeft u de versie van het Windows Management Framework op die moet worden geïnstalleerd op uw VIRTUELE machine. Als u deze eigenschap instelt op 'latest', 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 'latest'.
settings.configuration.url tekenreeks Hiermee geeft u de URL-locatie van waaruit u het ZIP-bestand voor de DSC-configuratie moet 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 op van het script dat de definitie van uw DSC-configuratie bevat. Dit script moet zich in de hoofdmap van het zip-bestand bevinden 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 benoemde configuratie 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 aan uw DSC-configuratie wilt doorgeven. Deze eigenschap wordt niet versleuteld.
settings.configurationData.url tekenreeks Hiermee geeft u de URL van waaruit u uw configuratiegegevensbestand (.pds1) moet downloaden 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 laat of null, wordt telemetrie ingeschakeld
settings.advancedOptions.forcePullAndApply Bool Deze instelling is ontworpen om de ervaring van het werken met de extensie te verbeteren om knooppunten te registreren bij Azure Automation DSC. 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 of het knooppunt is geregistreerd bij Azure Automation State Configuration en de knooppuntconfiguratie niet wordt 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 Gegevenssoort Beschrijving
protectedSettings.configurationArguments tekenreeks Definieert alle parameters die u aan uw DSC-configuratie wilt doorgeven. Deze eigenschap wordt versleuteld.
protectedSettings.configurationUrlSasToken tekenreeks Hiermee geeft u het SAS-token om toegang te krijgen tot de URL die is gedefinieerd door configuration.url. Deze eigenschap wordt versleuteld.
protectedSettings.configurationDataUrlSasToken tekenreeks Hiermee geeft u het SAS-token op 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 van een Resource Manager-sjabloon met de DSC-extensie voor Windows vindt u in de Galerie Aan de slag met Azure.

Problemen met en ondersteuning oplossen

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

Extensiepakket 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 betekenissen

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

Ondersteuning

Als u op elk gewenst 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 informatie over het gebruik van Azure-ondersteuning.