Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Die DSC-Erweiterung wird am 31. März 2028 eingestellt. Wechseln Sie zu Azure Machine Configuration bis zu diesem Datum. Weitere Informationen finden Sie in der Ankündigung des Blogbeitrags . Der Azure Machine Configuration-Dienst kombiniert bestimmte Features der DSC-Erweiterung, azure Automation State Configuration und häufig angeforderte Features aus Kundenfeedback. Die Azure-Computerkonfiguration umfasst auch die Unterstützung von Hybridcomputern über Arc-fähige Server.
Die Azure VM-Erweiterung für Azure-VMs (Virtuelle Maschinen) und die zugehörigen Erweiterungen sind Teil der Microsoft Azure-Infrastrukturdienste. Azure VM-Erweiterungen sind Softwarekomponenten, die die VM-Funktionalität erweitern und verschiedene Verwaltungsvorgänge für VMs vereinfachen.
Die DSC-Erweiterung pusht nur eine Konfiguration an die VM. Es ist keine fortlaufende Berichterstellung verfügbar, lediglich lokal in der VM.
Hinweis
Testen Sie die VM-Unterstützung für eine schnellere Diagnose. Es wird empfohlen, vm assist for Windows or VM assist for Linux auszuführen. Diese skriptbasierten Diagnosetools helfen Ihnen, häufige Probleme zu identifizieren, die sich auf den Azure VM-Gast-Agent und die allgemeine VM-Integrität auswirken.
Wenn Leistungsprobleme mit virtuellen Computern auftreten, führen Sie diese Tools aus, bevor Sie sich an den Support wenden.
Verfügbare DSC-Versionen
Die DSC-Erweiterung unterstützt Konfigurationen ab Version 1.1 der DSC-Plattform. Weitere Informationen finden Sie unter PSDesiredStateConfiguration V1.1.
Voraussetzungen
Entwicklerworkstation: Für die Interaktion mit der Azure DSC-Erweiterung müssen Sie das Azure-Portal oder das Azure PowerShell-/CLI-SDK verwenden.
Gast-Agent: Die mit der DSC-Konfiguration vorbereitete Azure-VM muss über ein Betriebssystem verfügen, das Windows Management Framework (WMF) 4.0 oder höher unterstützt. Die vollständige Liste der unterstützten Betriebssystemversionen finden Sie im Versionsverlauf der Azure DSC-Erweiterung.
Begriffe und Konzepte
In diesem Artikel wird vorausgesetzt, dass Sie mit den folgenden Konzepten vertraut sind:
Konfiguration bezieht sich auf ein DSC-Konfigurationsdokument.
Knoten ist ein Ziel für die DSC-Konfiguration. In diesem Artikel bezieht sich Knoten immer auf eine Azure-VM.
Konfigurationsdaten werden in einer PowerShell DSC-Formatdatei (.psd1) gespeichert, die Umgebungsdaten für eine Konfiguration enthält.
Aufbau
Die Azure DSC-Erweiterung nutzt das VM-Erweiterungsframework von Azure zur Übermittlung und Inkraftsetzung von DSC-Konfigurationen auf virtuellen Azure-Computern sowie zur Erstellung entsprechender Berichte. Die DSC-Erweiterung nimmt ein Konfigurationsdokument und einen Satz von Parametern entgegen.
Wenn die Erweiterung zum ersten Mal bereitgestellt wird, wird eine Version von WMF mithilfe der folgenden Logik installiert:
Wenn auf der Azure-VM das Betriebssystem Windows Server 2016 installiert ist, wird keine Aktion ausgeführt. Unter Windows Server 2016 ist bereits die neueste Version von PowerShell installiert.
Wenn die
wmfVersion-Eigenschaft angegeben ist, wird die angegebene WMF-Version installiert, es sei denn, die angegebene Version ist mit dem Betriebssystem auf der VM nicht kompatibel.Ohne Angabe der Eigenschaft
wmfVersionwird die neueste geeignete WMF-Version installiert.
Die WMF-Installation erfordert einen Neustart. Nach dem Neustart automatisiert die Erweiterung den Download der .zip in der modulesUrl Eigenschaft angegebenen Datei, sofern angegeben. Wenn sich der Speicherort in Azure Blob Storage befindet, können Sie in der sasToken-Eigenschaft ein SAS-Token für den Dateizugriff angeben. Als Nächstes wird die in configurationFunction der Konfiguration definierte Konfigurationsfunktion ausgeführt, um eine MOF-Datei (Managed Object Format) (MOF) zu generieren. Anschließend führt die Erweiterung anhand der generierten MOF-Datei den Befehl Start-DscConfiguration -Force aus. Die Erweiterung erfasst die Ausgabe und schreibt sie in den Azure-Statuskanal.
Name der Knotenkonfiguration
Geben Sie für den Parameter NodeConfigurationName den Namen der Knotenkonfiguration an, nicht den Namen der Konfiguration.
Die Konfiguration ist in einem Skript definiert, das zum Kompilieren der Knotenkonfiguration (MOF-Datei) verwendet wird. Der Name der Knotenkonfiguration ist immer der Name der Konfiguration, gefolgt von einem Punkt . und entweder localhost oder einem bestimmten Computernamen.
ARM-Vorlagenbereitstellung
Die üblichste Methode zum Bereitstellen der DSC-Erweiterung ist die Verwendung von Azure Resource Manager-Vorlagen. Weitere Informationen und Beispiele zum Einschließen der DSC-Erweiterung in ARM-Vorlagen finden Sie unter Desired State Configuration-Erweiterung mit ARM-Vorlagen.
PowerShell-Cmdlet-Bereitstellung
PowerShell-Cmdlets zum Verwalten der DSC-Erweiterung eignen sich ideal für die interaktive Problembehandlung und zum Sammeln von Informationen. Sie können die Cmdlets zum Verpacken, Veröffentlichen und Überwachen der Bereitstellung der DSC-Erweiterung verwenden.
Im Folgenden werden einige verfügbare PowerShell-Cmdlets aufgeführt:
Das Cmdlet Publish-AzVMDscConfiguration verwendet eine Konfigurationsdatei, scannt sie nach abhängigen DSC-Ressourcen und erstellt dann eine
.zipDatei. Die.zipDatei enthält die Konfigurations- und DSC-Ressourcen, die zum Ausführen der Konfiguration erforderlich sind. Mit dem Parameter-OutputArchivePathkann das Cmdlet das Paket auch lokal erstellen. Andernfalls veröffentlicht das Cmdlet die.zipDatei in Blob Storage und sichert sie dann mit einem SAS-Token.Das vom Cmdlet erstellte PowerShell-Konfigurationsskript (
.ps1) befindet sich in der.zipDatei im Stammverzeichnis des Archivordners. Der Modulordner wird im Archivordner in den Ressourcen platziert.Mit dem Cmdlet Set-AzVMDscExtension werden die für die PowerShell DSC-Erweiterung erforderlichen Einstellungen in einem VM-Konfigurationsobjekt eingefügt.
Mit dem Cmdlet Get-AzVMDscExtension wird der DSC-Erweiterungsstatus eines bestimmten virtuellen Computers abgerufen.
Mit dem Cmdlet Get-AzVMDscExtensionStatus wird der Status der DSC-Konfiguration abgerufen, die vom DSC-Erweiterungshandler durchgeführt wird. Diese Aktion kann auf einer einzelnen VM oder einer VM-Gruppe ausgeführt werden.
Mit dem Cmdlet Remove-AzVMDscExtension wird der Erweiterungshandler von einem bestimmten virtuellen Computer entfernt. Beachten Sie, dass dieses Cmdlet weder die Konfiguration entfernt noch WMF deinstalliert oder die angewendeten Einstellungen auf der VM ändert. Das Cmdlet entfernt lediglich den Erweiterungshandler.
Wichtige Hinweise
Bei der Arbeit mit Azure Resource Manager-Cmdlets müssen mehrere Aspekte berücksichtigt werden.
Azure Resource Manager-Cmdlets sind synchron.
Mehrere Parameter sind erforderlich, darunter
ResourceGroupName,VMName,ArchiveStorageAccountName,VersionundLocation.ArchiveResourceGroupNameist ein optionaler Parameter. Geben Sie diesen Parameter an, wenn Ihr Speicherkonto nicht der Ressourcengruppe angehört, in der die VM erstellt wurde.Der Schalter
AutoUpdateermöglicht die automatische Aktualisierung des Erweiterungshandlers auf die neueste Version, sobald diese verfügbar ist. Durch diesen Parameter wird die VM unter Umständen neu gestartet, wenn eine neue WMF-Version veröffentlicht wird.
Konfiguration mit PowerShell-Cmdlets
Die Azure-DSC-Erweiterung kann DSC-Konfigurationsdokumente zum Konfigurieren von virtuellen Azure-Computern während der Bereitstellung verwenden. Bei diesem Schritt wird der Knoten nicht bei Azure Automation oder der Computerkonfiguration registriert. Beachten Sie, dass der Knoten nicht zentral verwaltet wird.
Der folgende Code zeigt eine einfache Beispielkonfiguration. Um mit diesem Beispiel zu arbeiten, speichern Sie diese Konfiguration lokal als iisInstall.ps1-Skriptdatei.
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Mit den folgenden PowerShell-Befehlen wird das iisInstall.ps1 Skript auf der angegebenen VM platziert. Mit den Befehlen führen Sie auch die Konfiguration aus und melden anschließend den Status.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Bereitstellung mithilfe der Azure-Befehlszeilenschnittstelle
Die Azure CLI kann verwendet werden, um die DSC-Erweiterung auf einer vorhandenen VM bereitzustellen. Die folgenden Beispiele zeigen, wie eine VM unter Windows bereitgestellt wird.
Verwenden Sie für eine VM unter Windows den folgenden Befehl:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
Azure-Portal-Bereitstellung
Führen Sie die folgenden Schritte aus, um die DSC-Erweiterung im Azure-Portal einzurichten:
Wechseln Sie zu einem virtuellen Computer.
Wählen Sie unter Einstellungen die Option Erweiterungen und Anwendungen aus.
Klicken Sie unter Erweiterungen auf + Hinzufügen.
Wählen Sie PowerShell Desired State Configuration und dann Weiter aus.
Konfigurieren Sie die folgenden Parameter für die DSC-Erweiterung.
Konfigurationsmodule oder Skript: (Erforderlich) Geben Sie die Konfigurationsmodule oder die Skriptdatei für Ihre VM an.
Konfigurationsmodule und Skripts erfordern eine
.ps1Datei mit einem Konfigurationsskript oder einer.zipDatei mit einem.ps1Konfigurationsskript im Stammverzeichnis. Wenn Sie eine.zipDatei verwenden, müssen alle abhängigen Ressourcen in Modulordner in der.zipDatei enthalten sein. Sie können die.zipDatei mithilfe des CmdletsPublish-AzureVMDscConfiguration -OutputArchivePath erstellen, das im Azure PowerShell SDK enthalten ist. Die.zipDatei wird in Ihren Benutzer blob Storage hochgeladen und durch ein SAS-Token gesichert.Modulqualifizierter Konfigurationsname: (Erforderlich) Geben Sie diese Einstellung an, um mehrere Konfigurationsfunktionen in eine einzelne
.ps1Skriptdatei einzuschließen. Geben Sie für diese Einstellung den Namen der Konfigurationsskriptdatei.ps1gefolgt von einem Schrägstrich\und dann den Namen der Konfigurationsfunktion ein. Wenn die.ps1Skriptdatei beispielsweise den Namen configuration.ps1 und der Konfigurationsname IisInstall ist, geben Sie den Wertconfiguration.ps1\IisInstallfür die Einstellung ein.Konfigurationsargumente: Falls die Konfigurationsfunktion Argumente akzeptiert, geben Sie die Werte im Format
argumentName1=value1,argumentName2=value2ein. Dieses Format unterscheidet sich von dem Format, mit dem Konfigurationsargumente in PowerShell-Cmdlets oder ARM-Vorlagen angegeben werden.Konfigurationsdaten-PSD1-Datei: Wenn Ihre Konfiguration eine Konfigurationsdatendatei im
.psd1Format erfordert, verwenden Sie diese Einstellung, um die Datendatei auszuwählen und in Den Benutzer-Blob Storage hochzuladen. Die Konfigurationsdatendatei wird durch ein SAS-Token im Blob Storage geschützt.WMF-Version: Geben Sie die Version von Windows Management Framework an, die auf Ihrer VM installiert werden soll. Wenn Sie den Standardwert latest auswählen, wird die neueste WMF-Version installiert. Andere mögliche Werte sind 4.0, 5.0 und 5.1. Die möglichen Werte können sich gelegentlich ändern.
Datensammlung: Aktivieren Sie diese Einstellung, wenn die DSC-Erweiterung Telemetriedaten zu Ihrer VM sammeln soll. Weitere Informationen finden Sie unter Azure DSC extension data collection (Datensammlung mit der Azure DSC-Erweiterung).
Version: (Erforderlich) Geben Sie die Version der zu installierenden DSC-Erweiterung an. Informationen zu Versionen finden Sie unter Versionsverlauf der Azure DSC-Erweiterung.
Automatisches Upgrade für Nebenversion: Diese Einstellung wird dem Schalter
AutoUpdatein den Cmdlets zugeordnet. Konfigurieren Sie diese Einstellung, damit die DSC-Erweiterung während der Installation automatisch auf die neueste Version aktualisiert werden kann. Ja weist den DSC-Erweiterungshandler an, die neueste verfügbare Version zu verwenden. Nein (Standard) erzwingt die Installation der Version, die Sie in der Einstellung Version angeben.
Nachdem Sie die Parameter konfiguriert haben, wählen Sie Überprüfen und Erstellen und dann Erstellen aus.
DSC-Erweiterungsprotokolle
Sie können Protokolle für die Azure DSC-Erweiterung auf der VM unter C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number> anzeigen.
Nächste Schritte
- Weitere Informationen zu PowerShell DSC finden Sie im PowerShell-Dokumentationscenter.
- Sehen Sie sich die ARM-Vorlage für die Azure DSC-Erweiterung an.
- Durchsuchen Sie für mehr Funktionalität, die Sie mithilfe von PowerShell DSC verwalten können, und für weitere DSC-Ressourcen den PowerShell-Katalog.
- Informationen zur Weitergabe von sensiblen Parametern an Konfigurationen finden Sie unter Sicheres Verwalten von Anmeldeinformationen mit dem Azure DSC-Erweiterungshandler.