This page contains Windows bias

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.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-09-11 00:00 #108 completed ✅ Clean
2025-08-11 00:00 #77 completed ❌ Biased
2025-08-10 00:00 #76 completed ✅ Clean
2025-08-09 00:00 #75 completed ✅ Clean
2025-07-13 21:37 #48 completed ❌ Biased

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