Skip to content

Azure CLI

Comprehensive Azure CLI commands and workflows for managing Microsoft Azure cloud services, including virtual machines, storage, and Azure Active Directory.

Installation & Authentication

CommandDescription
az loginLogin to Azure
az login --service-principal -u <app-id> -p <password> --tenant <tenant>Login with service principal
az logoutLogout from Azure
az account listList all subscriptions
az account set --subscription "subscription-name"Set active subscription
az account showShow current subscription
az configureConfigure Azure CLI settings

Resource Groups

CommandDescription
az group listList all resource groups
az group create --name myResourceGroup --location eastusCreate resource group
az group delete --name myResourceGroupDelete resource group
az group show --name myResourceGroupShow resource group details
az group update --name myResourceGroup --tags environment=productionUpdate resource group tags

Virtual Machines

VM Management

CommandDescription
az vm listList all VMs
az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --generate-ssh-keysCreate VM
az vm start --resource-group myResourceGroup --name myVMStart VM
az vm stop --resource-group myResourceGroup --name myVMStop VM
az vm restart --resource-group myResourceGroup --name myVMRestart VM
az vm delete --resource-group myResourceGroup --name myVMDelete VM
az vm deallocate --resource-group myResourceGroup --name myVMDeallocate VM

VM Information

CommandDescription
az vm show --resource-group myResourceGroup --name myVMShow VM details
az vm list-sizes --location eastusList available VM sizes
az vm image list --output tableList popular VM images
az vm image list --publisher Canonical --output tableList images by publisher
az vm get-instance-view --resource-group myResourceGroup --name myVMGet VM instance view

VM Extensions

CommandDescription
az vm extension list --resource-group myResourceGroup --vm-name myVMList VM extensions
az vm extension set --resource-group myResourceGroup --vm-name myVM --name customScript --publisher Microsoft.Azure.Extensions --settings '{"fileUris":["https://example.com/script.sh"],"commandToExecute":"sh script.sh"}'Install extension
az vm extension delete --resource-group myResourceGroup --vm-name myVM --name customScriptRemove extension

Storage

Storage Accounts

CommandDescription
az storage account listList storage accounts
az storage account create --name mystorageaccount --resource-group myResourceGroup --location eastus --sku Standard_LRSCreate storage account
az storage account delete --name mystorageaccount --resource-group myResourceGroupDelete storage account
az storage account show --name mystorageaccount --resource-group myResourceGroupShow storage account details
az storage account keys list --account-name mystorageaccount --resource-group myResourceGroupList storage account keys

Blob Storage

CommandDescription
az storage container list --account-name mystorageaccountList containers
az storage container create --name mycontainer --account-name mystorageaccountCreate container
az storage container delete --name mycontainer --account-name mystorageaccountDelete container
az storage blob upload --file myfile.txt --container-name mycontainer --name myblob --account-name mystorageaccountUpload blob
az storage blob download --container-name mycontainer --name myblob --file myfile.txt --account-name mystorageaccountDownload blob
az storage blob list --container-name mycontainer --account-name mystorageaccountList blobs

File Shares

CommandDescription
az storage share list --account-name mystorageaccountList file shares
az storage share create --name myshare --account-name mystorageaccountCreate file share
az storage file upload --share-name myshare --source myfile.txt --account-name mystorageaccountUpload file
az storage file download --share-name myshare --path myfile.txt --dest myfile.txt --account-name mystorageaccountDownload file

App Service

Web Apps

CommandDescription
az webapp listList web apps
`az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myWebApp --runtime "NODE14-lts"`
az webapp delete --resource-group myResourceGroup --name myWebAppDelete web app
az webapp start --resource-group myResourceGroup --name myWebAppStart web app
az webapp stop --resource-group myResourceGroup --name myWebAppStop web app
az webapp restart --resource-group myResourceGroup --name myWebAppRestart web app

App Service Plans

CommandDescription
az appservice plan listList app service plans
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku B1Create app service plan
az appservice plan delete --name myAppServicePlan --resource-group myResourceGroupDelete app service plan
az appservice plan update --name myAppServicePlan --resource-group myResourceGroup --sku S1Update app service plan

Deployment

CommandDescription
az webapp deployment source config --resource-group myResourceGroup --name myWebApp --repo-url https://github.com/user/repo --branch masterConfigure Git deployment
az webapp deployment source sync --resource-group myResourceGroup --name myWebAppSync deployment
az webapp log tail --resource-group myResourceGroup --name myWebAppStream logs
az webapp config appsettings set --resource-group myResourceGroup --name myWebApp --settings key=valueSet app settings

Azure Functions

Function Apps

CommandDescription
az functionapp listList function apps
az functionapp create --resource-group myResourceGroup --consumption-plan-location eastus --runtime node --name myFunctionApp --storage-account mystorageaccountCreate function app
az functionapp delete --resource-group myResourceGroup --name myFunctionAppDelete function app
az functionapp start --resource-group myResourceGroup --name myFunctionAppStart function app
az functionapp stop --resource-group myResourceGroup --name myFunctionAppStop function app

Function Management

CommandDescription
az functionapp function list --resource-group myResourceGroup --name myFunctionAppList functions
az functionapp function show --resource-group myResourceGroup --name myFunctionApp --function-name myFunctionShow function details
az functionapp function delete --resource-group myResourceGroup --name myFunctionApp --function-name myFunctionDelete function

Azure SQL Database

SQL Servers

CommandDescription
az sql server listList SQL servers
az sql server create --name myserver --resource-group myResourceGroup --location eastus --admin-user myadmin --admin-password myPassword123!Create SQL server
az sql server delete --name myserver --resource-group myResourceGroupDelete SQL server
az sql server show --name myserver --resource-group myResourceGroupShow SQL server details

SQL Databases

CommandDescription
az sql db list --resource-group myResourceGroup --server myserverList databases
az sql db create --resource-group myResourceGroup --server myserver --name mydatabase --service-objective S0Create database
az sql db delete --resource-group myResourceGroup --server myserver --name mydatabaseDelete database
az sql db show --resource-group myResourceGroup --server myserver --name mydatabaseShow database details

Firewall Rules

CommandDescription
az sql server firewall-rule list --resource-group myResourceGroup --server myserverList firewall rules
az sql server firewall-rule create --resource-group myResourceGroup --server myserver --name AllowMyIP --start-ip-address 192.168.1.1 --end-ip-address 192.168.1.1Create firewall rule
az sql server firewall-rule delete --resource-group myResourceGroup --server myserver --name AllowMyIPDelete firewall rule

Azure Active Directory

Users

CommandDescription
az ad user listList users
az ad user create --display-name "John Doe" --password myPassword123! --user-principal-name john@contoso.comCreate user
az ad user delete --id john@contoso.comDelete user
az ad user show --id john@contoso.comShow user details
az ad user update --id john@contoso.com --display-name "John Smith"Update user

Groups

CommandDescription
az ad group listList groups
az ad group create --display-name "My Group" --mail-nickname mygroupCreate group
az ad group delete --group mygroupDelete group
az ad group member add --group mygroup --member-id john@contoso.comAdd member to group
az ad group member remove --group mygroup --member-id john@contoso.comRemove member from group

Applications

CommandDescription
az ad app listList applications
az ad app create --display-name "My App"Create application
az ad app delete --id <app-id>Delete application
az ad app show --id <app-id>Show application details

Azure Kubernetes Service (AKS)

Cluster Management

CommandDescription
az aks listList AKS clusters
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keysCreate AKS cluster
az aks delete --resource-group myResourceGroup --name myAKSClusterDelete AKS cluster
az aks start --resource-group myResourceGroup --name myAKSClusterStart AKS cluster
az aks stop --resource-group myResourceGroup --name myAKSClusterStop AKS cluster

Cluster Operations

CommandDescription
az aks get-credentials --resource-group myResourceGroup --name myAKSClusterGet cluster credentials
az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3Scale cluster
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.21.1Upgrade cluster
az aks show --resource-group myResourceGroup --name myAKSClusterShow cluster details

Azure Container Registry (ACR)

Registry Management

CommandDescription
az acr listList container registries
az acr create --resource-group myResourceGroup --name myregistry --sku BasicCreate container registry
az acr delete --resource-group myResourceGroup --name myregistryDelete container registry
az acr login --name myregistryLogin to registry

Image Management

CommandDescription
az acr repository list --name myregistryList repositories
az acr repository show-tags --name myregistry --repository myappShow image tags
az acr repository delete --name myregistry --repository myapp --tag v1.0Delete image tag
docker tag myapp:latest myregistry.azurecr.io/myapp:v1.0Tag image for ACR
docker push myregistry.azurecr.io/myapp:v1.0Push image to ACR

Networking

Virtual Networks

CommandDescription
az network vnet listList virtual networks
az network vnet create --resource-group myResourceGroup --name myVNet --address-prefix 10.0.0.0/16Create virtual network
az network vnet delete --resource-group myResourceGroup --name myVNetDelete virtual network
az network vnet subnet create --resource-group myResourceGroup --vnet-name myVNet --name mySubnet --address-prefix 10.0.1.0/24Create subnet

Network Security Groups

CommandDescription
az network nsg listList network security groups
az network nsg create --resource-group myResourceGroup --name myNSGCreate NSG
az network nsg rule create --resource-group myResourceGroup --nsg-name myNSG --name myRule --protocol tcp --priority 1000 --destination-port-range 80Create NSG rule
az network nsg rule delete --resource-group myResourceGroup --nsg-name myNSG --name myRuleDelete NSG rule

Load Balancers

CommandDescription
az network lb listList load balancers
az network lb create --resource-group myResourceGroup --name myLoadBalancer --sku Standard --public-ip-address myPublicIPCreate load balancer
az network lb delete --resource-group myResourceGroup --name myLoadBalancerDelete load balancer

Monitoring and Logging

Azure Monitor

CommandDescription
az monitor metrics list --resource <resource-id>List metrics
az monitor metrics list-definitions --resource <resource-id>List metric definitions
az monitor log-analytics workspace listList Log Analytics workspaces
az monitor log-analytics workspace create --resource-group myResourceGroup --workspace-name myWorkspaceCreate workspace

Alerts

CommandDescription
az monitor alert listList alerts
az monitor alert create --name myAlert --resource-group myResourceGroup --condition "avg Percentage CPU > 80"Create alert
az monitor alert delete --name myAlert --resource-group myResourceGroupDelete alert

Best Practices

Security

  1. Use Service Principals: Use service principals for automated deployments
  2. RBAC: Implement role-based access control
  3. Key Vault: Store secrets in Azure Key Vault
  4. Network Security: Use NSGs and firewalls to secure resources

Cost Management

  1. Resource Tagging: Tag resources for cost tracking
  2. Auto-shutdown: Configure auto-shutdown for development VMs
  3. Reserved Instances: Use reserved instances for predictable workloads
  4. Cost Alerts: Set up cost alerts and budgets

Automation

  1. ARM Templates: Use Azure Resource Manager templates
  2. Azure DevOps: Integrate with Azure DevOps for CI/CD
  3. PowerShell: Use Azure PowerShell for Windows environments
  4. Terraform: Use Terraform for multi-cloud deployments