Azure virtual machine extensions and features

Extensions are small applications that provide post-deployment configuration and automation on Azure virtual machines (VMs). The Azure platform hosts many extensions covering VM configuration, monitoring, security, and utility applications. Publishers take an application, wrap it into an extension, and simplify the installation. All you need to do is provide mandatory parameters.

View available extensions

You can view available extensions for a VM in the Azure portal.

  1. In the portal, go to the Overview page for a VM.
  2. Under Settings, select Extensions + Applications.

The list of available extensions are displayed. To see the complete list of extensions, see Discovering VM Extensions for Linux and Discovering VM Extensions for Windows.

Install and use extensions

Azure VM extensions can be managed by using the Azure CLI, PowerShell, Azure Resource Manager (ARM) templates, and the Azure portal.

  1. From the Extensions + Applications for the VM, on the Extensions tab, select + Add.
  2. Locate the Custom Script Extension option. Select the extension option, then select Next.

You can then pass in a command or script to run the extension.

For more information, see Linux Custom Script Extension and Windows Custom Script Extension.

Check for prerequisites

Some individual VM extension applications might have their own environmental prerequisites, such as access to an endpoint. Each extension has an article that explains any prerequisites, including which operating systems are supported.

Manage extension application lifecycle

You don't need to connect to a VM directly to install or delete an extension. The Azure extension lifecycle is managed outside of the VM and integrated into the Azure platform.

Troubleshoot extensions

If you're looking for general troubleshooting steps for Windows VM extensions, refer to Troubleshooting Azure Windows VM extension failures .

Otherwise, specific troubleshooting information for each extension can be found in the Troubleshoot and support section in the overview for the extension. Here's a list of the troubleshooting information available:

Namespace Troubleshooting
microsoft.azure.monitoring.dependencyagent.dependencyagentlinux Azure Monitor Dependency for Linux
microsoft.azure.monitoring.dependencyagent.dependencyagentwindows Azure Monitor Dependency for Windows
microsoft.azure.security.azurediskencryptionforlinux Azure Disk Encryption for Linux
microsoft.azure.security.azurediskencryption Azure Disk Encryption for Windows
microsoft.compute.customscriptextension Custom Script for Windows
microsoft.ostcextensions.customscriptforlinux
microsoft.powershell.dsc Desired State Configuration for Windows
microsoft.hpccompute.nvidiagpudriverlinux NVIDIA GPU Driver Extension for Linux
microsoft.hpccompute.nvidiagpudriverwindows NVIDIA GPU Driver Extension for Windows
microsoft.azure.security.iaasantimalware Antimalware Extension for Windows
microsoft.enterprisecloud.monitoring.omsagentforlinux Azure Monitor for Linux
microsoft.enterprisecloud.monitoring.microsoftmonitoringagent Azure Monitor for Windows
stackify.linuxagent.extension.stackifylinuxagentextension Stackify Retrace for Linux
vmaccessforlinux.microsoft.ostcextensions VMAccess for Linux
microsoft.recoveryservices.vmsnapshot Snapshot for Linux
microsoft.recoveryservices.vmsnapshot Snapshot for Windows

Next steps