There is a pattern to PowerShell and CLI commands.
Predictable CLI commands
(always start with az vm and a verb)
az vm list
az vm create
az vm delete
for keyvalut, same pattern
az keyvault list
az keyvault create
az keyvault delete
for network, sub category is vnet, same pattern
az network vnet list
az network vnet create
az network vnet delete
for network, sub category is vnet, sub category is subnet same pattern
az network vnet subnet list
az network vnet subnet create
az network vnet subnet delete
Predictable Powershell commands
They are similar to CLI with some changes; (here verb is the first part of the word)
Get-AzVM
New-AzVM
Remove-AzVM
for keyvalut, same pattern
Get-AzKeyvault
New-AzKeyvault
Remove-AzKeyvault
for network, sub category is vnet, same pattern
Get-AzVirtualNetowrk
New-AzVirtualNetwork
Remove-AzVirtualNetwork
CLI has a spacing structure but PowerShell is all one word with hyphen in it.
View all install AZ modules
Get-InstalledModule -Name AZ -AllVersions | Select-Object -Property Name, Version
Update AZ modules to latest
Install-Module -Name AZ -AllowClobber -Force
Connection to Azure
Connect-AzAccount
Set-AzContext (switch to another subscription)
To override which subscription Connect-AzAccount selects by default, use Update-AzConfig -DefaultSubscriptionForLogin 00000000-0000-0000-0000-000000000000
Switching subscriptions
These can be run after getting authenticated from browser;
Get-AzSubscription
returns subscription info
$context = Get-AzSubscription -Subscription {subscription id listed in Get-AzSubscription cmdlet)
Set-AzContext $context
(by doing this, we are telling azure that we will be using this subscription in this session)
Some random commands for testing
Get-AzWebApp
Get-AzVM
return all virtual machines on my subscription, az vm list (equv. bash command)