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:
⚠️ powershell_heavy
⚠️ windows_tools
⚠️ windows_first
⚠️ missing_linux_example
Summary:
The documentation page demonstrates a Windows/PowerShell bias by providing all deployment and upload examples using PowerShell commands, referencing Windows-style file paths and drive letters, and omitting equivalent Linux shell or Bash examples for local operations. While the container instances themselves run Linux, and the ARM templates use Linux containers, the instructions for interacting with Azure resources from the user's local machine are almost exclusively Windows/PowerShell-centric. There is minimal guidance for users on Linux or macOS systems, particularly for uploading files or running Docker containers with Unix-style paths.
Recommendations:
  • Provide Bash/Azure CLI examples for all PowerShell scripts shown, especially for uploading files to Azure Storage and deploying ARM templates.
  • Include Linux/macOS-specific instructions for Docker volume mounting, using forward slashes and typical Unix paths (e.g., /home/user/docker:/data).
  • When referencing file paths or drive letters, clarify the syntax for both Windows and Unix-like systems.
  • Where PowerShell is used for local scripting, add equivalent Bash scripts or Azure CLI commands to ensure parity.
  • Explicitly state that the instructions apply to both Windows and Linux/macOS, and highlight any OS-specific considerations.
  • Add screenshots or terminal output examples from Linux/macOS environments where appropriate.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-07-12 23:44 #41 in_progress ❌ Biased
2025-07-12 00:58 #8 cancelled ✅ Clean
2025-07-10 05:06 #7 processing ✅ Clean

Flagged Code Snippets

param([string] $name) $output = 'Hello {0}' -f $name Write-Output $output $DeploymentScriptOutputs = @{} $DeploymentScriptOutputs['text'] = $output
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "projectName": { "type": "string", "metadata": { "description": "Specify a project name that is used for generating resource names." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Specify the resource location." } }, "containerImage": { "type": "string", "defaultValue": "mcr.microsoft.com/azuredeploymentscripts-powershell:az9.7", "metadata": { "description": "Specify the container image." } }, "mountPath": { "type": "string", "defaultValue": "/mnt/azscripts/azscriptinput", "metadata": { "description": "Specify the mount path." } } }, "variables": { "storageAccountName": "[toLower(format('{0}store', parameters('projectName')))]", "fileShareName": "[format('{0}share', parameters('projectName'))]", "containerGroupName": "[format('{0}cg', parameters('projectName'))]", "containerName": "[format('{0}container', parameters('projectName'))]" }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2023-01-01", "name": "[variables('storageAccountName')]", "location": "[parameters('location')]", "sku": { "name": "Standard_LRS" }, "kind": "StorageV2", "properties": { "accessTier": "Hot" } }, { "type": "Microsoft.Storage/storageAccounts/fileServices/shares", "apiVersion": "2023-01-01", "name": "[format('{0}/default/{1}', variables('storageAccountName'), variables('fileShareName'))]", "dependsOn": [ "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]" ] }, { "type": "Microsoft.ContainerInstance/containerGroups", "apiVersion": "2023-05-01", "name": "[variables('containerGroupName')]", "location": "[parameters('location')]", "properties": { "containers": [ { "name": "[variables('containerName')]", "properties": { "image": "[parameters('containerImage')]", "resources": { "requests": { "cpu": 1, "memoryInGB": "[json('1.5')]" } }, "ports": [ { "protocol": "TCP", "port": 80 } ], "volumeMounts": [ { "name": "filesharevolume", "mountPath": "[parameters('mountPath')]" } ], "command": [ "/bin/sh", "-c", "pwsh -c 'Start-Sleep -Seconds 1800'" ] } } ], "osType": "Linux", "volumes": [ { "name": "filesharevolume", "azureFile": { "readOnly": false, "shareName": "[variables('fileShareName')]", "storageAccountName": "[variables('storageAccountName')]", "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').keys[0].value]" } } ] }, "dependsOn": [ "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]" ] } ] }
$projectName = Read-Host -Prompt "Enter a project name that is used to generate resource names" $location = Read-Host -Prompt "Enter the location (i.e. centralus)" $templateFile = Read-Host -Prompt "Enter the template file path and file name" $resourceGroupName = "${projectName}rg" New-AzResourceGroup -Location $location -name $resourceGroupName New-AzResourceGroupDeployment -resourceGroupName $resourceGroupName -TemplateFile $templatefile -projectName $projectName
$projectName = Read-Host -Prompt "Enter a project name that is used to generate resource names" $location = Read-Host -Prompt "Enter the location (i.e. centralus)" $templateFile = Read-Host -Prompt "Enter the template file path and file name" $resourceGroupName = "${projectName}rg" New-AzResourceGroup -Location $location -name $resourceGroupName New-AzResourceGroupDeployment -resourceGroupName $resourceGroupName -TemplateFile $templatefile -projectName $projectName
docker pull mcr.microsoft.com/azuredeploymentscripts-powershell:az4.3
docker run -v <host drive letter>:/<host directory name>:/data -it mcr.microsoft.com/azuredeploymentscripts-powershell:az4.3
docker run -v d:/docker:/data -it mcr.microsoft.com/azuredeploymentscripts-powershell:az4.3
docker run -v d:/docker:/data -it mcr.microsoft.com/azure-cli:2.0.80
$projectName = Read-Host -Prompt "Enter the same project name that you used earlier" $fileName = Read-Host -Prompt "Enter the deployment script file name with the path" $resourceGroupName = "${projectName}rg" $storageAccountName = "${projectName}store" $fileShareName = "${projectName}share" $context = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).Context Set-AzStorageFileContent -Context $context -ShareName $fileShareName -Source $fileName -Force
cd /mnt/azscripts/azscriptinput ls pwsh ./hello.ps1 "John Dole"
$projectName = Read-Host -Prompt "Enter the same project name that you used earlier" $fileName = Read-Host -Prompt "Enter the deployment script file name with the path" $resourceGroupName = "${projectName}rg" $storageAccountName = "${projectName}store" $fileShareName = "${projectName}share" $context = (Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName).Context Set-AzStorageFileContent -Context $context -ShareName $fileShareName -Source $fileName -Force