Azure virtual machine extensions and features

Extensions are small applications that provide post-deployment configuration and automation on Azure 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.

How can I find what extensions are available?

You can view available extensions by selecting a VM, the selecting Extensions in the left menu. To pull a full list of extensions, see Discovering VM Extensions for Linux and Discovering VM Extensions for Windows.

How can I install an extension?

Azure VM extensions can be managed using the Azure CLI, PowerShell, Resource Manager templates, and the Azure portal. To try an extension, go to the Azure portal, select the Custom Script Extension, then pass in a command or script to run the extension.

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

How do I manage extension application lifecycle?

You do not 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.

Anything else I should be thinking about for extensions?

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

Troubleshoot extensions

Troubleshooting information for each extension can be found in the Troubleshoot and support section in the overview for the extension. Here is 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 Desired State Configuration for Linux
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 Reset password for Linux
microsoft.recoveryservices.vmsnapshot Snapshot for Linux
microsoft.recoveryservices.vmsnapshot Snapshot for Windows

Next steps