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.