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 demonstrates a Windows bias in several ways: PowerShell is frequently used for scripting examples, often before or instead of Linux/Unix alternatives; Windows-centric tools and patterns (such as PowerShell DSC and .ps1 scripts) are referenced without equivalent Bash or Linux-native examples; and sample artifact locations and scripts are Windows-specific, with no Linux shell script examples provided. While Azure CLI is included in some places, PowerShell is often presented first or exclusively, and there is a lack of parity in Linux/Unix-focused guidance.
Recommendations:
- For every PowerShell example, provide an equivalent Bash/Azure CLI example, especially for scripting and automation tasks.
- When referencing scripts or VM extensions (e.g., Custom Script Extension), include both Windows (.ps1) and Linux (.sh) script examples.
- Avoid using Windows-specific artifact locations or script names as defaults (e.g., 'configure-music-app.ps1'); instead, provide parallel Linux examples (e.g., 'configure-music-app.sh').
- When discussing VM images, include Linux publishers/offers/SKUs alongside Windows ones.
- In sections about VM extensions, mention and provide examples for Linux extensions (e.g., Custom Script for Linux, OMS Agent for Linux) as well as Windows ones.
- Ensure that all CLI and scripting guidance is cross-platform, and explicitly state when a command or feature is platform-specific.
- Balance the order of presentation: alternate or randomize whether Windows or Linux examples are shown first, or present them side-by-side.
Create pull request
Flagged Code Snippets
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
}
}
You can also use the following PowerShell cmdlet to see available resource providers:
You can also use the following PowerShell cmdlet:
To retrieve a list of the available versions for a specific VM extension, use the [Get-AzureRmVMExtensionImage](/powershell/module/az.compute/get-azvmextensionimage) cmdlet. The following example retrieves the available versions for the PowerShell DSC (Desired State Configuration) VM extension from **myLocation**:
You can also use VM extensions in virtual machine scale sets. The same location conditions apply. To develop your template for cloud consistency, make sure the API versions are available in all the locations you plan on deploying to. To retrieve the API versions of the VM extension resource for scale sets, use the same cmdlet as before, but specify the virtual machine scale sets resource type as shown: