This article shows you how to manage preview features in your Azure subscription. Preview features let you opt in to new functionality before it releases. Some preview features are available to anyone who wants to opt in. Other preview features require approval from the product team.
Azure Feature Exposure Control (AFEC) is available through the Microsoft.Features namespace. Preview features have the following format for the resource ID:
To list, register, or unregister preview features in your Azure subscription, you need access to the Microsoft.Features/* actions. This permission is granted through the Contributor and Owner built-in roles. You can also specify the required access through a custom role.
List preview features
You can list all the preview features and their registration states for an Azure subscription.
The portal only shows a preview feature when the service that owns the feature explicitly opts in to the preview features management experience. If the feature you're looking for doesn't appear on the list, we recommend using Azure CLI and Azure PowerShell.
To filter the output for a specific resource provider, use the ProviderNamespace parameter. The default output shows only the registered features. To display all preview features for a resource provider, use the ListAvailable parameter with the ProviderNamespace parameter.
To expose more functionality for a resource provider, register a preview feature in your Azure subscription. Some preview features require approval.
After you register a preview feature in your subscription, you see one of two states: Registered or Pending.
For a preview feature that doesn't require approval, the state is Registered.
If a preview feature requires approval, the registration state is Pending. You must request approval from the Azure service offering the preview feature. Usually, you request access through a support ticket.
After the registration is approved, the preview feature's state changes to Registered.
Some services require other methods, such as email, to get approval for pending requests. Check announcements about the preview feature for information about how to get access.
To view the registration's status, use the az feature show command.
az feature show --name InGuestPatchVMPreview --namespace Microsoft.Compute --output table
Name RegistrationState
--------------------------------------- -------------------
Microsoft.Compute/InGuestPatchVMPreview Registered
Note
When you run the register command, it returns a message that suggests running az provider register --namespace <provider-name> after the feature is registered to propagate the changes.
When you finish using a preview feature, unregister it from your Azure subscription. You might notice two different statuses after unregistering the feature. If you unregister through the portal, the status is Not registered. If you unregister through Azure CLI, PowerShell, or REST API, the status is Unregistered. The status is different because the portal deletes the feature registration, but the commands unregister the feature. In both cases, the feature is no longer available in your subscription. You can opt in to the feature again by re-registering it.
To view the unregistration's status, use the az feature show command.
az feature show --name InGuestPatchVMPreview --namespace Microsoft.Compute --output table
Name RegistrationState
--------------------------------------- -------------------
Microsoft.Compute/InGuestPatchVMPreview Unregistered
Note
When you run the unregister command, it returns a message that suggests running az provider register --namespace <provider-name> after the feature is registered to propagate the changes.
To find Unregistered preview features, use the following command. Replace <ResourceProvider.Name> with a provider name such as Microsoft.Compute.
The following example displays an Unregistered preview feature for the Microsoft.Compute resource provider.
az feature list --namespace <ResourceProvider.Name> --query "[?properties.state=='Unregistered'].{Name:name, RegistrationState:properties.state}" --output table
Name RegistrationState
--------------------------------------- -------------------
Microsoft.Compute/InGuestPatchVMPreview Unregistered
To unregister a preview feature, use the Unregister-AzProviderFeature cmdlet. The RegistrationState state changes to Unregistered.
You can remediate subscriptions to register to a preview feature if they're not already registered using a built-in policy definition. When you add new subscriptions to an existing tenant, they aren't automatically registered.
Next steps
To use REST API calls and list, register, or unregister preview features, see the Features documentation.