About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
powershell_heavy
⚠️
windows_first
⚠️
windows_tools
⚠️
missing_linux_example
Summary:
The documentation is heavily oriented toward Windows environments, with all command-line examples using PowerShell, Windows-specific tools (e.g., Notepad, Windows hosts file path), and screenshots from Windows. There are no CLI, Bash, or Linux-native command examples for any step, and Windows tools are mentioned before or instead of cross-platform alternatives. Linux is only referenced as a possible VM guest OS, not as a management/deployment platform.
Recommendations:
- Provide equivalent Azure CLI (az) and Bash command examples for all resource creation, deployment, and querying steps, alongside PowerShell.
- Include instructions and screenshots for editing the hosts file on Linux/macOS (e.g., /etc/hosts with sudo nano or vi).
- Mention and demonstrate how to use Storage Explorer and AzCopy on Linux/macOS, including installation and certificate import steps.
- Show sample output from Linux/macOS terminals (e.g., bash prompt, not just PS C:\WINDOWS\system32>).
- Clarify that all deployment steps can be performed from Linux/macOS, and explicitly call out any Windows-only requirements.
- Add a section or tabs for Linux/macOS users in all code and tool usage blocks, ensuring parity in instructions and examples.
Create pull request
Flagged Code Snippets
"parameters": {
"osType": {
"value": "Windows"
},
"hyperVGeneration": {
"value": "V2"
},
}
New-AzStorageAccount -Name <Storage account name> -ResourceGroupName <Resource group name> -Location DBELocal -SkuName Standard_LRS
$templateFile = "Path to CreateImage.json"
$templateParameterFile = "Path to CreateImage.parameters.json"
$RGName = "<Name of your resource group>"
New-AzureRmResourceGroupDeployment `
-ResourceGroupName $RGName `
-TemplateFile $templateFile `
-TemplateParameterFile $templateParameterFile `
-Name "<Name for your deployment>"
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "vm1"
},
"adminUsername": {
"value": "Administrator"
},
"Password": {
"value": "Password1"
},
"imageName": {
"value": "myaselinuximg1"
},
"vmSize": {
"value": "Standard_NC4as_T4_v3"
},
"vnetName": {
"value": "vswitch1"
},
"subnetName": {
"value": "vswitch1subNet"
},
"vnetRG": {
"value": "myaserg1"
},
"nicName": {
"value": "nic1"
},
"privateIPAddress": {
"value": ""
},
"IPConfigName": {
"value": "ipconfig1"
}
}
}
Get-AzureRmVirtualNetwork
Command:
$templateFile = "<Path to CreateVM.json>"
$templateParameterFile = "<Path to CreateVM.parameters.json>"
$RGName = "<Resource group name>"
New-AzResourceGroupDeployment `
-ResourceGroupName $RGName `
-TemplateFile $templateFile `
-TemplateParameterFile $templateParameterFile `
-Name "<DeploymentName>"
PS C:\WINDOWS\system32> New-AzResourceGroupDeployment `
>> -ResourceGroupName $RGName `
>> -TemplateFile $templateFile `
>> -TemplateParameterFile $templateParameterFile `
>> -Name "Deployment4" `
>> -AsJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Long Running... AzureLongRun... Running True localhost New-AzureRmResourceGro...
PS C:\WINDOWS\system32> Get-Job -Id 4
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
Command:
$templateFile = "<Path to CreateVM.json>"
$templateParameterFile = "<Path to CreateVM.parameters.json>"
$RGName = "<Resource group name>"
New-AzureRmResourceGroupDeployment `
-ResourceGroupName $RGName `
-TemplateFile $templateFile `
-TemplateParameterFile $templateParameterFile `
-Name "<DeploymentName>"
New-AzResourceGroup -Name <Resource group name> -Location DBELocal
PS C:\WINDOWS\system32> New-AzResourceGroup -Name myaserg1 -Location DBELocal
ResourceGroupName : myaserg1
Location : dbelocal
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myaserg1
PS C:\WINDOWS\system32>
New-AzureRmResourceGroup -Name <Resource group name> -Location DBELocal
PS C:\windows\system32> New-AzureRmResourceGroup -Name myasegpurgvm -Location DBELocal
ResourceGroupName : myasegpurgvm
Location : dbelocal
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myasegpurgvm
PS C:\windows\system32>
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment `
>> -ResourceGroupName $RGName `
>> -TemplateFile $templateFile `
>> -TemplateParameterFile $templateParameterFile `
>> -Name "Deployment2" `
>> -AsJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Long Running... AzureLongRun... Running True localhost New-AzureRmResourceGro...
PS C:\WINDOWS\system32> Get-Job -Id 2
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
PS C:\WINDOWS\system32>New-AzStorageAccount -Name myasesa1 -ResourceGroupName myaserg1 -Location DBELocal -SkuName Standard_LRS
StorageAccountName ResourceGroupName PrimaryLocation SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly
------------------ ----------------- --------------- ------- ---- ---------- ------------ ----------------- ------
myasesa1 myaserg1 DBELocal Standard_LRS Storage 4/18/2022 8:35:09 PM Succeeded False
PS C:\WINDOWS\system32>
PS C:\WINDOWS\system32> Get-AzStorageAccountKey
cmdlet Get-AzStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myaserg1
Name: myasesa1
KeyName Value Permissions
------- ----- -----------
key1 7a707uIh43qADXvuhwqtw39mwq3M97r1BflhoF2yZ6W9FNkGOCblxb7nDSiYVGQprpkKk0Au2AjmgUXUT6yCog== Full
key2 2v1VQ6qH1CJ9bOjB15p4jg9Ejn7iazU95Qe8hAGE22MTL21Ac5skA6kZnE3nbe+rdiXiORBeVh9OpJcMOfoaZg== Full
PS C:\WINDOWS\system32>
New-AzureRmStorageAccount -Name <Storage account name> -ResourceGroupName <Resource group name> -Location DBELocal -SkuName Standard_LRS
PS C:\windows\system32> New-AzureRmStorageAccount -Name myasegpusavm -ResourceGroupName myasegpurgvm -Location DBELocal -SkuName Standard_LRS
StorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime
------------------ ----------------- -------- ------- ---- ---------- ------------
myasegpusavm myasegpurgvm DBELocal StandardLRS Storage 7/29/2020 10:11:16 PM
PS C:\windows\system32>
PS C:\windows\system32> Get-AzureRmStorageAccountKey
cmdlet Get-AzureRmStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myasegpurgvm
Name: myasegpusavm
KeyName Value Permissions
------- ----- -----------
key1 GsCm7QriXurqfqx211oKdfQ1C9Hyu5ZutP6Xl0dqlNNhxLxDesDej591M8y7ykSPN4fY9vmVpgc4ftkwAO7KQ== 11
key2 7vnVMJUwJXlxkXXOyVO4NfqbW5e/5hZ+VOs+C/h/ReeoszeV+qoyuBitgnWjiDPNdH4+lSm1/ZjvoBWsQ1klqQ== ll
PS C:\windows\system32> Certutil -encode 'C:\myasegpu1_Blob storage (1).cer' .\blobstoragecert.pem
Input Length = 1380
Output Length = 1954
CertUtil: -encode command completed successfully.
"imageUri": {
"value": "https://myasegpusavm.blob.myasegpu1.wdshcsso.com/windows/WindowsServer2016Datacenter.vhd"
},
$templateFile = "Path to CreateImage.json"
$templateParameterFile = "Path to CreateImage.parameters.json"
$RGName = "<Name of your resource group>"
New-AzResourceGroupDeployment `
-ResourceGroupName $RGName `
-TemplateFile $templateFile `
-TemplateParameterFile $templateParameterFile `
-Name "<Name for your deployment>"
Get-AzImage -ResourceGroupName <Resource Group Name> -name <Image Name>
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateImage\CreateImage.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateImage\CreateImage.parameters.json"
PS C:\WINDOWS\system32> $RGName = "myaserg1"
PS C:\WINDOWS\system32> New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment1"
DeploymentName : deployment1
ResourceGroupName : myaserg1
ProvisioningState : Succeeded
Timestamp : 4/18/2022 9:24:26 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
osType String Linux
imageName String myaselinuximg1
imageUri String
https://myasepro2stor.blob.dm1176047910p.wdshcsso.com/myasepro2cont1/ubuntu13.vhd
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>
Get-AzureRmImage -ResourceGroupName <Resource Group Name> -name <Image Name>
PS C:\WINDOWS\system32> login-AzureRMAccount -EnvironmentName aztest -TenantId aaaabbbb-0000-cccc-1111-dddd2222eeee
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
EdgeArmUser@localhost Default Provider Subscription aaaabbbb-0000-cccc-1111-dddd2222eeee aztest
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateImage\CreateImage.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateImage\CreateImage.parameters.json"
PS C:\WINDOWS\system32> $RGName = "rg2"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment4"
DeploymentName : deployment4
ResourceGroupName : rg2
ProvisioningState : Succeeded
Timestamp : 12/10/2020 7:06:57 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
osType String Linux
imageName String myaselinuximg
imageUri String
https://sa2.blob.myasegpuvm.wdshcsso.com/con1/ubuntu18.04waagent.vhd
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>
PS C:\WINDOWS\system32> Get-AzVirtualNetwork
Name : ASEVNET
ResourceGroupName : ASERG
Location : dbelocal
Id : /subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/ASERG/providers/Microsoft
.Network/virtualNetworks/ASEVNET
Etag : W/"990b306d-18b6-41ea-a456-b275efe21105"
ResourceGuid : f8309d81-19e9-42fc-b4ed-d573f00e61ed
ProvisioningState : Succeeded
Tags :
AddressSpace : {
"AddressPrefixes": [
"10.57.48.0/21"
]
}
DhcpOptions : null
Subnets : [
{
"Name": "ASEVNETsubNet",
"Etag": "W/\"990b306d-18b6-41ea-a456-b275efe21105\"",
"Id": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/ASERG/provider
s/Microsoft.Network/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
"AddressPrefix": "10.57.48.0/21",
"IpConfigurations": [],
"ResourceNavigationLinks": [],
"ServiceEndpoints": [],
"ProvisioningState": "Succeeded"
}
]
VirtualNetworkPeerings : []
EnableDDoSProtection : false
EnableVmProtection : false
PS C:\WINDOWS\system32>
PS C:\WINDOWS\system32> Get-AzureRmVirtualNetwork
Name : ASEVNET
ResourceGroupName : ASERG
Location : dbelocal
Id : /subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/ASERG/providers/Microsoft
.Network/virtualNetworks/ASEVNET
Etag : W/"990b306d-18b6-41ea-a456-b275efe21105"
ResourceGuid : f8309d81-19e9-42fc-b4ed-d573f00e61ed
ProvisioningState : Succeeded
Tags :
AddressSpace : {
"AddressPrefixes": [
"10.57.48.0/21"
]
}
DhcpOptions : null
Subnets : [
{
"Name": "ASEVNETsubNet",
"Etag": "W/\"990b306d-18b6-41ea-a456-b275efe21105\"",
"Id": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/ASERG/provider
s/Microsoft.Network/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
"AddressPrefix": "10.57.48.0/21",
"IpConfigurations": [],
"ResourceNavigationLinks": [],
"ServiceEndpoints": [],
"ProvisioningState": "Succeeded"
}
]
VirtualNetworkPeerings : []
EnableDDoSProtection : false
EnableVmProtection : false
PS C:\WINDOWS\system32>
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateVM\CreateVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateVM\CreateVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "myaserg1"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "Deployment2"
DeploymentName : Deployment2
ResourceGroupName : myaserg1
ProvisioningState : Succeeded
Timestamp : 04/18/2022 1:51:28 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
vmName String vm1
adminUsername String Administrator
password String Password1
imageName String myaselinuximg
vmSize String Standard_NC4as_T4_v3
vnetName String vswitch1
vnetRG String myaserg1
subnetName String vswitch1subNet
nicName String nic1
ipConfigName String ipconfig1
privateIPAddress String
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateVM\CreateVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateVM\CreateVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "rg2"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "Deployment6"
DeploymentName : Deployment6
ResourceGroupName : rg2
ProvisioningState : Succeeded
Timestamp : 12/10/2020 7:51:28 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
vmName String VM1
adminUsername String Administrator
password String Password1
imageName String myaselinuximg
vmSize String Standard_NC4as_T4_v3
vnetName String ASEVNET
vnetRG String aserg
subnetName String ASEVNETsubNet
nicName String nic5
ipConfigName String ipconfig5
privateIPAddress String
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32