Azure VM-extensies inschakelen met Behulp van Azure PowerShell

In dit artikel leest u hoe u Azure VM-extensies, die worden ondersteund door servers met Azure Arc, implementeert, bijwerkt en verwijdert op een hybride Linux- of Windows-machine met behulp van Azure PowerShell.

Notitie

Servers met Azure Arc bieden geen ondersteuning voor het implementeren en beheren van VM-extensies op virtuele Azure-machines. Zie het volgende overzichtsartikel over VM-extensies voor Azure-VM's.

Vereisten

Voordat u Azure PowerShell gebruikt om VM-extensies te beheren op uw hybride server die wordt beheerd door servers met Azure Arc, moet u de Az.ConnectedMachine module installeren. Deze beheerbewerkingen kunnen worden uitgevoerd vanaf uw werkstation. U hoeft ze niet uit te voeren op de server met Azure Arc.

Voer de volgende opdracht uit op uw Server met Azure Arc:

Install-Module -Name Az.ConnectedMachine.

Wanneer de installatie is voltooid, wordt het volgende bericht geretourneerd:

The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.

Extensie inschakelen

Als u een VM-extensie wilt inschakelen op uw Server met Azure Arc, gebruikt u New-Az Verbinding maken edMachineExtension met de parameters -Name, , -MachineName-ResourceGroupName, -Location, -Publisher-ExtensionTypeen-Settings.

In het volgende voorbeeld wordt de Log Analytics VM-extensie ingeschakeld op een Linux-server met Azure Arc:

$Setting = @{ "workspaceId" = "workspaceId" }
$protectedSetting = @{ "workspaceKey" = "workspaceKey" }
New-AzConnectedMachineExtension -Name OMSLinuxAgent -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.EnterpriseCloud.Monitoring" -Settings $Setting -ProtectedSetting $protectedSetting -ExtensionType "OmsAgentForLinux"

Als u de Log Analytics VM-extensie wilt inschakelen op een Windows-server met Azure Arc, wijzigt u de waarde voor de -ExtensionType parameter "MicrosoftMonitoringAgent" in het vorige voorbeeld.

In het volgende voorbeeld wordt de aangepaste scriptextensie ingeschakeld op een server met 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

In het volgende voorbeeld wordt de Microsoft Antimalware-extensie ingeschakeld op een Windows-server met Azure Arc:

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

Key Vault VM-extensie

Waarschuwing

PowerShell-clients voegen vaak toe \ aan " de settings.json, waardoor akvvm_service mislukt met de volgende fout: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

In het volgende voorbeeld wordt de Key Vault VM-extensie ingeschakeld op een server met 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-extensie

In het volgende voorbeeld wordt de Datadog VM-extensie ingeschakeld op een server met Azure Arc:

$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

Geïnstalleerde lijstextensies

Gebruik Get-Az Verbinding maken edMachineExtension met de -MachineName en -ResourceGroupName parameters om een lijst op te halen van de VM-extensies op uw Server met Azure Arc.

Voorbeeld:

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

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

Extensieconfiguratie bijwerken

Als u een geïnstalleerde extensie opnieuw wilt configureren, kunt u de cmdlet Update-Az Verbinding maken edMachineExtension gebruiken met de -Nameparameters , -MachineNameen-ResourceGroupName-Settings.

Raadpleeg het naslagartikel voor de cmdlet om inzicht te hebben in de verschillende methoden om de gewenste wijzigingen in de extensie op te geven.

Upgrade-extensie

Wanneer een nieuwe versie van een ondersteunde VM-extensie wordt uitgebracht, kunt u deze upgraden naar die nieuwste versie. Als u een VM-extensie wilt upgraden, gebruikt u Update-Az Verbinding maken edExtension met de -MachineName-ResourceGroupNameen -ExtensionTarget parameters.

Voor de -ExtensionTarget parameter moet u de extensie en de meest recente versie opgeven die beschikbaar is. Als u wilt achterhalen wat de nieuwste versie is, kunt u deze informatie ophalen op de pagina Extensies voor de geselecteerde server met Arc in Azure Portal of door Get-AzVMExtensionImage uit te voeren. U kunt meerdere extensies opgeven in één upgradeaanvraag door een door komma's gescheiden lijst met extensies op te geven, gedefinieerd door de uitgever en het type (gescheiden door een punt) en de doelversie voor elke extensie, zoals wordt weergegeven in het onderstaande voorbeeld.

Voer de volgende opdracht uit om de Log Analytics-agentextensie voor Windows met een nieuwere versie te upgraden:

Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'

U kunt de versie van geïnstalleerde VM-extensies op elk gewenst moment bekijken door de opdracht Get-Az Verbinding maken edMachineExtension uit te voeren. De TypeHandlerVersion eigenschapswaarde vertegenwoordigt de versie van de extensie.

Extensies verwijderen

Als u een geïnstalleerde VM-extensie op uw Server met Azure Arc wilt verwijderen, gebruikt u Remove-Az Verbinding maken edMachineExtension met de -Name-MachineName parameters en -ResourceGroupName de parameters.

Als u bijvoorbeeld de Log Analytics VM-extensie voor Linux wilt verwijderen, voert u de volgende opdracht uit:

Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux

Volgende stappen