Freigeben über


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.