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.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor