This repository contains PowerShell cmdlets for developers and administrators to develop, deploy, and manage Microsoft Azure applications.
Try it out in Azure Cloud Shell!
Below is a table containing our Azure PowerShell rollup module.
|Description||Module Name||PowerShell Gallery Link|
|Azure PowerShell with preview modules||
For a full list of modules found in this repository, please see the Azure PowerShell Modules document.
Run the following command in an elevated PowerShell session to install the rollup module for Azure PowerShell cmdlets:
Install-Module -Name Az
This module runs on Windows PowerShell with .NET Framework 4.7.2 or greater, or the latest version of PowerShell 7. The
Az module replaces
AzureRM. You should not install
Az side-by-side with
If you have an earlier version of the Azure PowerShell modules installed from the PowerShell Gallery and would like to update to the latest version, run the following commands in an elevated PowerShell session:
Update-Module -Name Az
Update-Module installs the new version side-by-side with previous versions. It does not uninstall the previous versions.
For detailed instructions on installing Azure PowerShell, please refer to the installation guide.
Log into Azure
To connect to Azure, use the
# Device Code login - Provides a link to sign into Azure via your web browser Connect-AzAccount # Service Principal login - Use a previously created service principal to log in Connect-AzAccount -ServicePrincipal -ApplicationId 'http://my-app' -Credential $PSCredential -TenantId $TenantId
To log into a specific cloud (AzureChinaCloud, AzureCloud, AzureGermanCloud, AzureUSGovernment), use the
# Specific cloud login - Logs into the Azure China cloud Connect-AzAccount -Environment AzureChinaCloud
Getting and setting your Azure PowerShell session context
A session context persists login information across Azure PowerShell modules and PowerShell instances. To view the context you are using in the current session, which contains the subscription and tenant, use the
# Gets the Azure PowerShell context for the current PowerShell session Get-AzContext # Lists all available Azure PowerShell contexts in the current PowerShell session Get-AzContext -ListAvailable
To get the subscriptions in a tenant, use the
# Get all of the Azure subscriptions in your current Azure tenant Get-AzSubscription # Get all of the Azure subscriptions in a specific Azure tenant Get-AzSubscription -TenantId $TenantId
To change the subscription that you are using for your current context, use the
# Set the Azure PowerShell context to a specific Azure subscription Set-AzContext -Subscription $SubscriptionName -Name 'MyContext' # Set the Azure PowerShell context using piping Get-AzSubscription -SubscriptionName $SubscriptionName | Set-AzContext -Name 'MyContext'
For details on Azure PowerShell contexts, see our persisted credentials guide.
Get-Command cmdlet to discover cmdlets within a specific module, or cmdlets that follow a specific search pattern:
# List all cmdlets in the Az.Accounts module Get-Command -Module Az.Accounts # List all cmdlets that contain VirtualNetwork Get-Command -Name '*VirtualNetwork*' # List all cmdlets that contain VM in the Az.Compute module Get-Command -Module Az.Compute -Name '*VM*'
Cmdlet help and examples
To view the help content for a cmdlet, use the
# View the basic help content for Get-AzSubscription Get-Help -Name Get-AzSubscription # View the examples for Get-AzSubscription Get-Help -Name Get-AzSubscription -Examples # View the full help content for Get-AzSubscription Get-Help -Name Get-AzSubscription -Full # View the help content for Get-AzSubscription on https://docs.microsoft.com Get-Help -Name Get-AzSubscription -Online
For detailed instructions on using Azure PowerShell, please refer to the getting started guide.
Reporting Issues and Feedback
If you find any bugs when using the Azure PowerShell modules, please file an issue in our GitHub issues page. Please fill out the provided template with the appropriate information.
Alternatively, be sure to check out the Azure Community Support if you have issues with the cmdlets or Azure services.
If you would like to become an active contributor to this project, please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.
Azure PowerShell collects telemetry data by default. Microsoft aggregates collected data to identify patterns of usage to identify common issues and to improve the experience of Azure PowerShell. Microsoft Azure PowerShell does not collect any private or personal data.
For example, the usage data helps identify issues such as cmdlets with low success and helps prioritize our work.
While we appreciate the insights this data provides, we also understand that not everyone wants to send usage data. You can disable data collection with the
Disable-AzDataCollection cmdlet. You can also read our privacy statement to learn more.