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
Azure Automation State Configuration wird am 30. September 2027 eingestellt, bitte wechseln Sie zu Azure Computerkonfiguration bis zu diesem Datum. Weitere Informationen finden Sie im Blogbeitrag. Der Azure Computerkonfigurationsdienst kombiniert Features der DSC-Erweiterung, Azure Automation State Configuration und die am häufigsten angeforderten Features aus Kundenfeedback. Azure Computerkonfiguration umfasst auch hybride Computerunterstützung über Arc-fähige Server.
Wichtig
Die Navigationslinks Hinzufügen, Konfiguration verfassenund Katalog werden am 31. März 2025 aus dem Portal entfernt.
Achtung
Azure Automation DSC für Linux wurde am 30. September 2023 eingestellt. Weitere Informationen finden Sie in der Ankündigung.
Sie können Desired State Configuration(DSC)-Konfigurationen auf folgende Weise in Azure Automation State Configuration kompilieren:
Azure State Configuration Kompilierungsdienst
- Anfängermethode mit interaktiver Benutzeroberfläche
- Einfach den Auftragsstatus verfolgen
Windows PowerShell
- Starten von Windows PowerShell von der lokalen Arbeitsstation oder dem Build-Service
- Integrieren Sie mit der Entwicklungstest-Pipeline
- Bereitstellen komplexer Parameterwerte
- Arbeiten mit Knoten- und Nicht-Knotendaten im großen Maßstab
- Beträchtliche Leistungsverbesserung
Sie können auch Azure Resource Manager Vorlagen mit Azure Desired State Configuration-Erweiterung (DSC) verwenden, um Konfigurationen an Ihre Azure VMs zu übertragen. Die Azure DSC-Erweiterung verwendet das Azure VM-Agent-Framework, um DSC-Konfigurationen bereitzustellen, zu erlassen und zu berichten, die auf Azure VMs ausgeführt werden. Kompilierungsdetails mit Azure Resource Manager Vorlagen finden Sie unter Desired State Configuration Erweiterung mit Azure Resource Manager Vorlagen.
Kompilieren einer DSC-Konfiguration in Azure State Configuration
Portal
- Wählen Sie im Automation-Konto Zustandskonfiguration (DSC) aus.
- Wählen Sie die Registerkarte Konfigurationen und dann den Namen der Konfiguration aus, die kompiliert werden soll.
- Klicken Sie auf Kompilieren.
- Wenn die Konfiguration keine Parameter enthält, werden Sie gefragt, ob Sie sie kompilieren möchten. Wenn die Konfiguration Parameter enthält, wird der Bereich Konfiguration kompilieren geöffnet, auf dem Sie Parameterwerte angeben können.
- Die Seite „Kompilierungsauftrag“ wird geöffnet, auf der Sie den Status des Kompilierungsauftrags nachverfolgen können. Sie können diese Seite auch verwenden, um die Knotenkonfigurationen (MOF-Konfigurationsdokumente) nachzuverfolgen, die auf dem Azure Automation State Configuration Pullserver platziert wurden.
Azure PowerShell
Sie können Start-AzAutomationDscCompilationJob verwenden, um mit der Kompilierung mit Windows PowerShell zu beginnen. Der folgende Beispielcode startet die Kompilierung einer DSC-Konfiguration namens SampleConfig.
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
Start-AzAutomationDscCompilationJob gibt ein Kompilierungsauftragsobjekt zurück, das zum Nachverfolgen des Auftragsstatus verwendet werden kann. Anschließend können Sie dieses Kompilierungsauftragsobjekt mit Get-AzAutomationDscCompilationJob verwenden, um den Status des Kompilierungsauftrags zu ermitteln, und mit Get-AzAutomationDscCompilationJobOutput, um seine Streams (Ausgabe) anzuzeigen. Das folgende Beispiel startet die Kompilierung der SampleConfig-Konfiguration, wartet, bis die Kompilierung abgeschlossen ist, und zeigt dann die Datenströme an.
$CompilationJob = Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
while($null -eq $CompilationJob.EndTime -and $null -eq $CompilationJob.Exception)
{
$CompilationJob = $CompilationJob | Get-AzAutomationDscCompilationJob
Start-Sleep -Seconds 3
}
$CompilationJob | Get-AzAutomationDscCompilationJobOutput –Stream Any
Deklarieren grundlegender Parameter
Die Parameterdeklaration in DSC-Konfigurationen, einschließlich Parametertypen und Eigenschaften, funktioniert genauso wie in Azure Automation Runbooks. Weitere Informationen zu Runbookparametern finden Sie unter Starting a runbook in Azure Automation.
Im folgenden Beispiel werden die Parameter FeatureName und IsPresent verwendet, um die Werte der Eigenschaften in der während der Kompilierung generierten Knotenkonfiguration ParametersExample.sample zu ermitteln.
Configuration ParametersExample
{
param(
[Parameter(Mandatory=$true)]
[string] $FeatureName,
[Parameter(Mandatory=$true)]
[boolean] $IsPresent
)
$EnsureString = 'Present'
if($IsPresent -eq $false)
{
$EnsureString = 'Absent'
}
Node 'sample'
{
WindowsFeature ($FeatureName + 'Feature')
{
Ensure = $EnsureString
Name = $FeatureName
}
}
}
Sie können DSC-Konfigurationen kompilieren, die grundlegende Parameter im Azure Automation State Configuration Portal oder mit Azure PowerShell verwenden.
Portal
Im Portal können Sie Parameterwerte eingeben, nachdem Sie auf Kompilierengeklickt haben.
Azure PowerShell
PowerShell erfordert Parameter in einer Hashtabelle, in der der Schlüssel dem Parameternamen entspricht und der Wert gleich dem Parameterwert ist.
$Parameters = @{
'FeatureName' = 'Web-Server'
'IsPresent' = $False
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ParametersExample' -Parameters $Parameters
Informationen zum Übergeben von PSCredential-Objekten als Parameter finden Sie unter Zugangsdatenbestände.
Kompilierungskonfigurationen mit zusammengesetzten Ressourcen in Azure Automation
Das Feature Zusammengesetzte Ressourcen ermöglicht Ihnen, die DSC-Konfigurationen als geschachtelte Ressourcen innerhalb einer Konfiguration zu verwenden. Dieses Feature ermöglicht die Anwendung mehrerer Konfigurationen auf eine einzelne Ressource. Unter Zusammengesetzte Ressourcen: Verwenden einer DSC-Konfiguration als Ressource erfahren Sie mehr über zusammengesetzte Ressourcen.
Hinweis
Damit Konfigurationen, die zusammengesetzte Ressourcen enthalten, ordnungsgemäß kompiliert werden, müssen Sie zuerst in Azure Automation DSC-Ressourcen importieren, auf die die Verbundkomponenten basieren. Das Hinzufügen einer zusammengesetzten DSC-Ressource unterscheidet sich nicht vom Hinzufügen eines PowerShell-Moduls zu Azure Automation. Dieser Vorgang wird in Manage Modules in Azure Automation dokumentiert.
Verwalten von ConfigurationData beim Kompilieren von Konfigurationen in Azure Automation
Bei ConfigurationData handelt es sich um einen integrierten DSC-Parameter, mit dem Sie bei Verwendung von PowerShell DSC die Strukturkonfiguration von jeglicher umgebungsspezifischen Konfiguration trennen können. Weitere Informationen finden Sie unter Separating „What“ from „Where“ in PowerShell DSC (Trennen des „Was“ vom „Wo“ in PowerShell DSC).
Hinweis
Beim Kompilieren in Azure Automation State Configuration können Sie ConfigurationData in Azure PowerShell, aber nicht im Azure-Portal verwenden.
In der folgenden DSC-Beispielkonfiguration wird ConfigurationData über die Schlüsselwörter $ConfigurationData und $AllNodes verwendet. Für dieses Beispiel benötigen Sie außerdem das Modul xWebAdministration.
Configuration ConfigurationDataSample
{
Import-DscResource -ModuleName xWebAdministration -Name MSFT_xWebsite
Write-Verbose $ConfigurationData.NonNodeData.SomeMessage
Node $AllNodes.Where{$_.Role -eq 'WebServer'}.NodeName
{
xWebsite Site
{
Name = $Node.SiteName
PhysicalPath = $Node.SiteContents
Ensure = 'Present'
}
}
}
Sie können die vorherige DSC-Konfiguration mit Windows PowerShell kompilieren. Das folgende Skript fügt dem Azure Automation State Configuration Pulldienst zwei Knotenkonfigurationen hinzu: ConfigurationDataSample.MyVM1 und ConfigurationDataSample.MyVM3.
$ConfigData = @{
AllNodes = @(
@{
NodeName = 'MyVM1'
Role = 'WebServer'
},
@{
NodeName = 'MyVM2'
Role = 'SQLServer'
},
@{
NodeName = 'MyVM3'
Role = 'WebServer'
}
)
NonNodeData = @{
SomeMessage = 'I love Azure Automation State Configuration and DSC!'
}
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ConfigurationDataSample' -ConfigurationData $ConfigData
Arbeiten mit Ressourcen in Azure Automation während der Kompilierung
Objektverweise sind sowohl in Azure Automation State Configuration als auch in Runbooks identisch. Weitere Informationen finden Sie in den folgenden Artikeln:
Zugangsdaten
Wenn eine Konfiguration über einen Parameter verfügt, der ein PSCredential-Objekt angibt, verwenden Sie Get-AutomationPSCredential, indem Sie den Namen einer Azure Automation Anmeldeinformationsressource an das Cmdlet übergeben, um die Anmeldeinformationen abzurufen. Azure Automation übergibt die Anmeldeinformationen an die Konfiguration.
Um die Anmeldeinformationen in Knotenkonfigurationen sicher zu halten, verschlüsseln Sie die Anmeldeinformationen in der MOF-Datei der Knotenkonfiguration. Sie müssen PowerShell DSC die Berechtigung zum Ausgeben von Anmeldeinformationen im Klartext während der MOF-Generierung der Knotenkonfiguration erteilen. PowerShell DSC ist sich nicht bewusst, dass Azure Automation die gesamte MOF-Datei nach dem Generieren durch einen Kompilierungsauftrag verschlüsselt.
Sie können PowerShell DSC mitteilen, dass es in Ordnung ist, wenn Anmeldeinformationen in den mithilfe von Konfigurationsdaten generierten MOF-Dateien der Knotenkonfiguration im Klartext ausgegeben werden. Übergeben Sie PSDscAllowPlainTextPassword = $true über ConfigurationData für jeden Knotenblocknamen, der in der DSC-Konfiguration erscheint und Anmeldeinformationen verwendet.
Das folgende Beispiel zeigt eine DSC-Konfiguration, die ein Automation-Anmeldeinformations-Asset verwendet.
Configuration CredentialSample
{
Import-DscResource -ModuleName PSDesiredStateConfiguration
$Cred = Get-AutomationPSCredential 'SomeCredentialAsset'
Node $AllNodes.NodeName
{
File ExampleFile
{
SourcePath = '\\Server\share\path\file.ext'
DestinationPath = 'C:\destinationPath'
Credential = $Cred
}
}
}
Sie können die vorherige DSC-Konfiguration über PowerShell kompilieren. Der folgende PowerShell-Code fügt dem Azure Automation State Configuration Pullserver zwei Knotenkonfigurationen hinzu: CredentialSample.MyVM1 und CredentialSample.MyVM2.
$ConfigData = @{
AllNodes = @(
@{
NodeName = '*'
PSDscAllowPlainTextPassword = $True
},
@{
NodeName = 'MyVM1'
},
@{
NodeName = 'MyVM2'
}
)
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'CredentialSample' -ConfigurationData $ConfigData
Hinweis
Wenn die Kompilierung abgeschlossen ist, wird möglicherweise die Fehlermeldung angezeigt
The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported. Sie können diese Nachricht sicher ignorieren.
Kompilieren Sie die DSC-Konfiguration in Windows PowerShell
Der Prozess zum Kompilieren von DSC-Konfigurationen in Windows PowerShell ist in der PowerShell-DSC-Dokumentation Write, Compile und Apply a Configuration enthalten. Sie können diesen Prozess von einer Entwicklerarbeitsstation oder innerhalb eines Builddiensts ausführen, z. B. Azure DevOps. Anschließend können Sie die MOF-Dateien importieren, die durch Kompilieren der Konfiguration in den Azure State Configuration-Dienst erstellt werden.
Das Kompilieren in Windows PowerShell bietet auch die Möglichkeit, Konfigurationsinhalte zu signieren. Der DSC-Agent überprüft eine signierte Knotenkonfiguration lokal auf einem verwalteten Knoten. Durch die Überprüfung wird sichergestellt, dass die auf den Knoten angewandte Konfiguration aus einer autorisierten Quelle stammt.
Sie können auch Knotenkonfigurationen importieren, die außerhalb von Azure kompiliert wurden. Der Import umfasst die Kompilierung von einer Entwicklerarbeitsstation oder in einem Dienst wie Azure DevOps. Dieser Ansatz bietet mehrere Vorteile, z. B. hinsichtlich Leistung und Zuverlässigkeit.
Hinweis
Eine Knotenkonfigurationsdatei darf maximal 1 MB groß sein, damit Azure Automation sie importieren kann.
Weitere Informationen zum Signieren von Knotenkonfigurationen finden Sie unter Verbesserungen in WMF 5.1 – Signieren von Konfigurationen und Modulen.
Importieren einer Knotenkonfiguration im Azure-Portal
Wählen Sie in Ihrem Automation-Konto unter Konfigurationsverwaltung die Option Zustandskonfiguration (DSC) aus.
Wählen Sie auf der Seite „Zustandskonfiguration (DSC)“ die Registerkarte Konfigurationen und dann Hinzufügen aus.
Wählen Sie auf der Seite „Importieren“ das Ordnersymbol neben dem Feld Knotenkonfigurationsdatei aus, um eine MOF-Knotenkonfigurationsdatei auf dem lokalen Computer zu suchen.
Geben Sie im Feld Konfigurationsname einen Namen ein. Dieser Name muss mit dem Namen der Konfiguration übereinstimmen, aus der die Knotenkonfiguration kompiliert wurde.
Wählen Sie OK aus.
Importieren einer Knotenkonfiguration mit Azure PowerShell
Sie können das Cmdlet Import-AzAutomationDscNodeConfiguration verwenden, um eine Knotenkonfiguration in Ihr Automation-Konto zu importieren.
$importAzAutomationDscNodeConfigurationSplat = @{
AutomationAccountName = 'MyAutomationAccount'
ResourceGroupName = 'MyResourceGroup'
ConfigurationName = 'MyNodeConfiguration'
Path = 'C:\MyConfigurations\TestVM1.mof'
}
Import-AzAutomationDscNodeConfiguration @importAzAutomationDscNodeConfigurationSplat
Nächste Schritte
- Informationen zu den ersten Schritten finden Sie unter Get started with Azure Automation State Configuration.
- Informationen zum Kompilieren von DSC-Konfigurationen, damit Sie sie Zielknoten zuweisen können, finden Sie unter Compile DSC-Konfigurationen in Azure Automation State Configuration.
- Eine Referenz zu den PowerShell-Cmdlets finden Sie unter Az.Automation.
- Preisinformationen finden Sie unter Azure Automation State Configuration Pricing.
- Ein Beispiel für die Verwendung von State Configuration in einer kontinuierlichen Bereitstellungspipeline finden Sie unter Einrichten einer kontinuierlichen Bereitstellung mit Chocolatey.
- Um Probleme bei der Kompilierung von DSC-Konfigurationen in Azure Automation State Configuration zu beheben, siehe Probleme mit Azure Automation State Configuration beheben.