共用方式為


使用 Azure PowerShell 啟用 Azure VM 擴充功能

本文說明如何部署、更新和卸載已啟用 Azure Arc 的伺服器支援的 Azure 虛擬機 (VM) 擴充功能。 它說明如何使用 Azure PowerShell 在 Linux 或 Windows 混合式電腦上執行這些工作。

注意

已啟用 Azure Arc 的伺服器不支援將 VM 擴充功能部署和管理至 Azure 虛擬機。 如需 Azure VM,請參閱 VM 擴充功能概觀 一文。

必要條件

  • 具備 Azure PowerShell 的電腦。 如需指示,請參閱 安裝並設定 Azure PowerShell

  • 模組 Az.ConnectedMachine 。 在使用 Azure PowerShell 來管理已啟用 Azure Arc 的伺服器所管理混合式伺服器上的 VM 擴充功能之前,您需要安裝此模組。

    您可以從工作站執行這些管理作業。 您不需要在已啟用 Azure Arc 的伺服器上執行它們。

    在已啟用 Azure Arc 的伺服器上,執行下列命令:

Install-Module -Name Az.ConnectedMachine

啟用擴充功能

若要在已啟用 Azure Arc 的伺服器上啟用 VM 擴充功能,請搭配 、、、、、-Publisher、 和ExtensionType-Settings 參數使用。-ResourceGroupName-Location-MachineName-NameNew-AzConnectedMachineExtension

下列範例會在已啟用 Azure Arc 的伺服器上啟用自訂指令碼延伸模組:

$Setting = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name "custom" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Compute"  -Settings $Setting -ExtensionType CustomScriptExtension

下列範例會在已啟用 Azure Arc 的伺服器上啟用 Microsoft Antimalware 延伸模組:

$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"

Key Vault VM 延伸模組

警告

在 settings.json 檔案中新增 \" 會導致失敗,並出現 akvvm_service 下列錯誤: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

雖然 PowerShell 使用者通常會使用 \" 序列來逸出其他程式代碼區塊中的引號,但您應該避免settings.json檔案中的格式設定。

下列範例會在已啟用 Azure Arc 的伺服器上啟用自訂指令碼延伸模組:

# 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 延伸模組

下列範例會在已啟用 Azure Arc 的伺服器上啟用 Datadog VM 延伸模組:

$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

列出已安裝的延伸模組

若要取得已啟用 Azure Arc 之伺服器上的 VM 擴充功能清單,請搭配和 -ResourceGroupName 參數使用。Get-AzConnectedMachineExtension -MachineName

以下是範例:

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

Name    Location  PropertiesType        ProvisioningState
----    --------  --------------        -----------------
custom  westus2   CustomScriptExtension Succeeded

更新擴充功能組態

若要重新設定已安裝的擴充功能,您可以使用 Update-AzConnectedMachineExtension Cmdlet 搭配 -Name-MachineName-ResourceGroupName-Settings 參數。

若要瞭解提供您想要擴充功能變更的方法,請參閱 Cmdlet 的參考文章。

升級延伸模組

發行支援的 VM 延伸模組新版本時,您可以將其升級至該最新版本。 若要升級 VM 擴充功能,請搭配 -MachineName-ResourceGroupName-ExtensionTarget 參數使用Update-AzConnectedExtension

針對 -ExtensionTarget 參數,您必須指定延伸模組和可用的最新版本。 若要判斷擴充功能可用的最新版本,請移至 Azure 入口網站 中所選已啟用 Azure Arc 之伺服器的 [擴充功能] 頁面,或執行 Get-AzVMExtensionImage。 您可以在單一升級要求中指定多個延伸模組,方法是同時提供:

  • 以逗號分隔的延伸模組清單,由其發行者和類型定義(以句號分隔)
  • 每個擴充功能的目標版本

您可以執行 命令 Get-AzConnectedMachineExtension,隨時檢閱已安裝的 VM 擴充功能版本。 TypeHandlerVersion 屬性值代表延伸模組的版本。

移除延伸模組

若要在已啟用 Azure Arc 的伺服器上移除已安裝的 VM 擴充功能,請搭配 、 和 參數使用Remove-AzConnectedMachineExtension-Name-ResourceGroupName -MachineName