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:
⚠️
windows_first
⚠️
powershell_heavy
⚠️
windows_tools
⚠️
missing_linux_example
Summary:
The documentation demonstrates a moderate Windows bias. While it states that both Azure CLI (Linux) and Azure PowerShell scripts are supported, examples and instructions often present PowerShell/Windows-centric approaches first or exclusively. Script deployment and management examples frequently use Azure PowerShell, and there are no explicit Linux shell (e.g., Bash) deployment commands for deploying Bicep files, only PowerShell. Additionally, some instructions and tool references (e.g., use of PowerShell cmdlets, ARMClient in PowerShell) assume a Windows environment, and there is a lack of parity in showing how to perform equivalent actions from a Linux shell.
Recommendations:
- Provide Linux shell (Bash) equivalents for all PowerShell deployment and management examples, especially for deploying Bicep files and interacting with the REST API.
- When listing Azure CLI and PowerShell tabs, alternate the order or present CLI (cross-platform) first to avoid implicit prioritization of Windows tools.
- Explicitly mention that Azure CLI commands can be run from any platform, and provide sample Bash scripts for common tasks (e.g., resource group creation, Bicep deployment).
- Where ARMClient or other Windows-specific tools are referenced, suggest cross-platform alternatives or show equivalent curl/az CLI REST calls.
- Ensure that all code samples and walkthroughs are available in both PowerShell and Bash (or at least CLI) variants, and clarify any platform-specific requirements.
Create pull request
Flagged Code Snippets
Name : inlinePS
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Resources/deploymentScripts/inlinePS
ResourceGroupName : dsDemo
Location : centralus
SubscriptionId : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ProvisioningState : Succeeded
Identity :
ScriptKind : AzurePowerShell
AzPowerShellVersion : 10.0
StartTime : 12/11/2023 9:45:50 PM
EndTime : 12/11/2023 9:46:59 PM
ExpirationDate : 12/11/2023 10:46:59 PM
CleanupPreference : OnExpiration
StorageAccountId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Storage/storageAccounts/ee5o4rmoo6ilmazscripts
ContainerInstanceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.ContainerInstance/containerGroups/ee5o4rmoo6ilmazscripts
Outputs :
Key Value
================== ==================
text Hello John Dole.
RetentionInterval : PT1H
Timeout : P1D
param name string = '\\"John Dole\\"'
param location string = resourceGroup().location
resource deploymentScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
name: 'inlinePS'
location: location
kind: 'AzurePowerShell'
properties: {
azPowerShellVersion: '10.0'
arguments: '-name ${name}'
scriptContent: '''
param([string] $name)
Write-Output "The argument is {0}." -f $name
$output = "Hello {0}." -f $name
$DeploymentScriptOutputs = @{}
$DeploymentScriptOutputs['text'] = $output
'''
cleanupPreference: 'OnExpiration'
retentionInterval: 'PT1H'
}
}
output text string = deploymentScript.properties.outputs.text
param name string = '\\"John Dole\\"'
param location string = resourceGroup().location
resource deploymentScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
name: 'inlinePS'
location: location
kind: 'AzurePowerShell'
properties: {
azPowerShellVersion: '10.0'
arguments: '-name ${name}'
scriptContent: '''
param([string] $name)
Write-Host 'The argument is {0}' -f $name
$output = 'Hello {0}' -f $name
$DeploymentScriptOutputs = @{}
$DeploymentScriptOutputs['text'] = $output
'''
retentionInterval: 'PT1H'
}
}
output result string = deploymentScript.properties.outputs.text
Name : inlinePS
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Resources/deploymentScripts/inlinePS
ResourceGroupName : dsDemo
Location : centralus
SubscriptionId : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ProvisioningState : Succeeded
Identity :
ScriptKind : AzurePowerShell
AzPowerShellVersion : 10.0
StartTime : 12/11/2023 9:45:50 PM
EndTime : 12/11/2023 9:46:59 PM
ExpirationDate : 12/11/2023 10:46:59 PM
CleanupPreference : OnExpiration
StorageAccountId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.Storage/storageAccounts/ee5o4rmoo6ilmazscripts
ContainerInstanceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/dsDemo/providers/Microsoft.ContainerInstance/containerGroups/ee5o4rmoo6ilmazscripts
Outputs :
Key Value
================== ==================
text Hello John Dole.
RetentionInterval : PT1H
Timeout : P1D
param name string = '\\"John Dole\\"'
param location string = resourceGroup().location
resource deploymentScript 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
name: 'inlinePS'
location: location
kind: 'AzurePowerShell'
properties: {
azPowerShellVersion: '10.0'
arguments: '-name ${name}'
scriptContent: '''
param([string] $name)
Write-Output "The argument is {0}." -f $name
$output = "Hello {0}." -f $name
$DeploymentScriptOutputs = @{}
$DeploymentScriptOutputs['text'] = $output
'''
cleanupPreference: 'OnExpiration'
retentionInterval: 'PT1H'
}
}
output text string = deploymentScript.properties.outputs.text