Aktivieren von Azure-VM-Erweiterungen mithilfe von Azure PowerShell
In diesem Artikel erfahren Sie, wie Sie Azure-Erweiterungen für virtuelle Computer (VM), die von Azure Arc-fähigen Servern unterstützt werden, bereitstellen, aktualisieren oder deinstallieren. Der Artikel zeigt Ihnen, wie Sie diese Aufgaben auf einem Linux- oder Windows-Hybridcomputer mithilfe von Azure PowerShell ausführen.
Hinweis
Das Bereitstellen und Verwalten von VM-Erweiterungen auf Azure-VMs wird auf Servern mit Azure Arc-Unterstützung nicht unterstützt. Weitere Informationen zu Azure-VMs finden Sie im Artikel Übersicht über VM-Erweiterungen.
Voraussetzungen
Einen Computer mit Azure PowerShell. Anweisungen hierzu finden Sie unter Installieren und Konfigurieren von Azure PowerShell.
Das Modul
Az.ConnectedMachine
. Bevor Sie Azure PowerShell zum Verwalten von VM-Erweiterungen auf Ihrem Hybridserver verwenden, der von Azure Arc-fähigen Servern verwaltet wird, müssen Sie dieses Modul installieren.Sie können diese Verwaltungsvorgänge von Ihrer Arbeitsstation aus ausführen. Sie müssen sie nicht auf dem Azure Arc-fähigen Server ausführen.
Führen Sie auf Ihrem Azure Arc-fähigen Server den folgenden Befehl aus:
Install-Module -Name Az.ConnectedMachine
Aktivieren einer Erweiterung
Zum Aktivieren einer VM-Erweiterung auf Ihrem Azure Arc-fähigen Server verwenden Sie New-AzConnectedMachineExtension
mit den Parametern -Name
, -ResourceGroupName
, -MachineName
, -Location
, -Publisher
, -ExtensionType
und -Settings
.
Im folgenden Beispiel wird die Erweiterung für benutzerdefinierte Skripts auf einem Server mit Azure Arc-Unterstützung aktiviert:
$Setting = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name "custom" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Compute" -Settings $Setting -ExtensionType CustomScriptExtension
Das folgende Beispiel aktiviert die Microsoft Antimalware-Erweiterung auf einem Azure Arc-fähigen Windows-Server:
$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"
Azure Key Vault-VM-Erweiterung
Warnung
Wenn Sie in der Datei „settings.json“ \
in "
hinzufügen, löst akvvm_service
den folgenden Fehler aus: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
Viele PowerShell-Benutzer verwenden zwar die Sequenz \"
als Escape-Zeichen für Anführungszeichen in anderen Codeblöcken, Sie sollten diese Formatierung in der Datei „settings.json“ jedoch vermeiden.
Das folgende Beispiel aktiviert die Key Vault-VM-Erweiterung auf einem Server mit Azure Arc-Unterstützung:
# Build settings
$settings = @{
secretsManagementSettings = @{
observedCertificates = @(
"observedCert1"
)
certificateStoreLocation = "myMachineName" # For Linux use "/var/lib/waagent/Microsoft.Azure.KeyVault.Store/"
certificateStore = "myCertificateStoreName"
pollingIntervalInS = "pollingInterval"
}
authenticationSettings = @{
msiEndpoint = "http://localhost:40342/metadata/identity"
}
}
$resourceGroup = "resourceGroupName"
$machineName = "myMachineName"
$location = "regionName"
# Start the deployment
New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "KeyVaultForWindows or KeyVaultforLinux" -Publisher "Microsoft.Azure.KeyVault" -ExtensionType "KeyVaultforWindows or KeyVaultforLinux" -Setting $settings
Datadog-VM-Erweiterung
Das folgende Beispiel aktiviert die Datadog-VM-Erweiterung auf einem Server mit Azure Arc-Unterstützung:
$resourceGroup = "resourceGroupName"
$machineName = "machineName"
$location = "machineRegion"
$osType = "Windows" # change to Linux if appropriate
$settings = @{
# change to your preferred Datadog site
site = "us3.datadoghq.com"
}
$protectedSettings = @{
# change to your Datadog API key
api_key = "APIKEY"
}
New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "Datadog$($osType)Agent" -Publisher "Datadog.Agent" -ExtensionType "Datadog$($osType)Agent" -Setting $settings -ProtectedSetting $protectedSettings
Auflisten der Installierten Erweiterungen
Zum Abrufen einer Liste der VM-Erweiterungen auf Ihrem Azure Arc-fähigen Server verwenden Sie Get-AzConnectedMachineExtension
mit den Parametern -MachineName
und -ResourceGroupName
.
Ein Beispiel:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Aktualisieren einer Erweiterungskonfiguration
Zur Neukonfiguration einer installierten Erweiterung können Sie das Update-AzConnectedMachineExtension
-Cmdlet mit den Parametern -Name
, -MachineName
, -ResourceGroupName
und -Settings
verwenden.
Lesen Sie den Referenzartikel für das Cmdlet, um die verschiedenen Methoden zum Bereitstellen der Änderungen zu verstehen, die Sie an der Erweiterung vornehmen möchten.
Upgraden von Erweiterungen
Wenn eine neue Version einer unterstützten VM-Erweiterung veröffentlicht wird, können Sie diese auf diese neueste Version upgraden. Für ein Upgrade einer VM-Erweiterung verwenden Sie Update-AzConnectedExtension
mit den Parametern -MachineName
, -ResourceGroupName
und -ExtensionTarget
.
Für den -ExtensionTarget
-Parameter müssen Sie die Erweiterung und die neueste verfügbare Version angeben. Um die neueste verfügbare Version für eine Erweiterung zu ermitteln, gehen Sie zur Seite Erweiterungen für den ausgewählten Azure Arc-fähigen Server im Azure-Portal, oder führen Sie Get-AzVMExtensionImage
aus. Sie können mehrere Erweiterungen in einer einzigen Upgradeanforderung angeben, indem Sie beide der folgenden Angaben bereitstellen:
- Eine durch Trennzeichen getrennte Liste von Erweiterungen, definiert durch ihren Herausgeber und Typ (durch einen Punkt getrennt)
- Die Zielversion für jede Erweiterung
Sie können die Version der installierten VM-Erweiterungen jederzeit überprüfen, indem Sie den Befehl Get-AzConnectedMachineExtension
ausführen. Der TypeHandlerVersion
-Eigenschaftswert stellt die Version der Erweiterung dar.
Entfernen von Erweiterungen
Zum Entfernen einer installierten VM-Erweiterung auf Ihrem Azure Arc-fähigen Server verwenden Sie Remove-AzConnectedMachineExtension
mit den Parametern -Name
, -MachineName
und -ResourceGroupName
.
Zugehöriger Inhalt
- Sie können VM-Erweiterungen über die Azure CLI, das Azure-Portal oder Azure Resource Manager-Vorlagen bereitstellen, verwalten und entfernen.
- Informationen zur Problembehandlung finden Sie in der Anleitung zur Problembehandlung von VM-Erweiterungen.