Share via


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-AzConnectedMachineExtension met de -Nameparameters , , -MachineName-ResourceGroupName, -Location, -Publisher-ExtensionType en -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

" Als u aan de settings.json toevoegt\, mislukt akvvm_service met de volgende fout:[CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

Hoewel PowerShell-gebruikers vaak de \" reeks gebruiken om aanhalingstekens in andere codeblokken te ontsnappen, moet u deze opmaak in het settings.json bestand vermijden.

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-AzConnectedMachineExtension met de -MachineName parameters om -ResourceGroupName 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-AzConnectedMachineExtension 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-AzConnectedExtension met de -MachineName-ResourceGroupNameen -ExtensionTarget parameters.

Voor de -ExtensionTarget parameter moet u de extensie en de meest recente versie opgeven die beschikbaar is. Ga naar de pagina Extensies voor de geselecteerde server met Arc in Azure Portal of voer Get-AzVMExtensionImage uit om de nieuwste versie te bepalen die beschikbaar is voor een extensie. 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.

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-AzConnectedMachineExtension 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-AzConnectedMachineExtension met de -Name-MachineName en -ResourceGroupName 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