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
⚠️ missing_linux_example
⚠️ windows_tools
⚠️ windows_first
Summary:
The documentation page demonstrates a strong Windows bias by exclusively using Azure PowerShell for all command-line examples and automation steps. There are no CLI (az), Bash, or Linux-native instructions or examples provided. References to documentation for creating disk encryption sets and double encryption also point to Windows/PowerShell-specific guides. The workflow assumes a Windows environment (e.g., file paths like C:\Users\Administrator\Downloads\template.json) and does not mention or illustrate how to perform these tasks from a Linux or cross-platform perspective.
Recommendations:
  • Provide equivalent examples using the Azure CLI (az) in addition to PowerShell, especially for key steps like creating disk encryption sets, retrieving VM details, and deploying ARM templates.
  • Include Bash shell command examples and Linux file path conventions where relevant (e.g., ~/Downloads/template.json).
  • Link to both Windows/PowerShell and Linux/Azure CLI documentation for referenced tasks (such as disk encryption set creation).
  • Explicitly state that the process can be performed from Linux/macOS environments and highlight any differences or prerequisites.
  • Consider adding a section or callout for cross-platform users, summarizing which tools and commands are supported on which OS.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-08-17 00:01 #83 in_progress ✅ Clean
2025-07-13 21:37 #48 completed ✅ Clean
2025-07-12 23:44 #41 in_progress ❌ Biased
2025-07-09 13:09 #3 cancelled ✅ Clean
2025-07-08 04:23 #2 cancelled ❌ Biased

Flagged Code Snippets

New-AzResourceGroupDeployment -ResourceGroupName $ProjectResourceGroup -TemplateFile "C:\Users\Administrator\Downloads\template.json"
$Location = "southcentralus" #Target Azure region for migration $TargetResourceGroupName = "ContosoMigrationTarget" $KeyVaultName = "ContosoCMKKV" $KeyName = "ContosoCMKKey" $KeyDestination = "Software" $DiskEncryptionSetName = "ContosoCMKDES" $KeyVault = New-AzKeyVault -Name $KeyVaultName -ResourceGroupName $TargetResourceGroupName -Location $Location -EnableSoftDelete -EnablePurgeProtection $Key = Add-AzKeyVaultKey -VaultName $KeyVaultName -Name $KeyName -Destination $KeyDestination $desConfig = New-AzDiskEncryptionSetConfig -Location $Location -SourceVaultId $KeyVault.ResourceId -KeyUrl $Key.Key.Kid -IdentityType SystemAssigned $des = New-AzDiskEncryptionSet -Name $DiskEncryptionSetName -ResourceGroupName $TargetResourceGroupName -InputObject $desConfig Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ObjectId $des.Identity.PrincipalId -PermissionsToKeys wrapkey,unwrapkey,get New-AzRoleAssignment -ResourceName $KeyVaultName -ResourceGroupName $TargetResourceGroupName -ResourceType "Microsoft.KeyVault/vaults" -ObjectId $des.Identity.PrincipalId -RoleDefinitionName "Reader"
$ProjectResourceGroup = "ContosoVMwareCMK" #Resource group that the Azure Migrate Project is created in $ProjectName = "ContosoVMwareCMK" #Name of the Azure Migrate Project $solution = Get-AzResource -ResourceGroupName $ProjectResourceGroup -ResourceType Microsoft.Migrate/MigrateProjects/solutions -ExpandProperties -ResourceName $ProjectName | where Name -eq "Servers-Discovery-ServerDis covery" # Displays one entry for each appliance in the project mapping the appliance to the VMware sites discovered through the appliance. $solution.Properties.details.extendedDetails.applianceNameToSiteIdMapV2 | ConvertFrom-Json | select ApplianceName, SiteId
#Replace value with SiteId from the previous step $SiteId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite" $SiteName = Get-AzResource -ResourceId $SiteId -ExpandProperties | Select-Object -ExpandProperty Name $DiscoveredMachines = Get-AzResource -ResourceGroupName $ProjectResourceGroup -ResourceType Microsoft.OffAzure/VMwareSites/machines -ExpandProperties -ResourceName $SiteName #Get machine details PS /home/bharathram> $MachineName = "FPL-W19-09" #Replace string with VMware VM name of the machine to migrate PS /home/bharathram> $machine = $Discoveredmachines | where {$_.Properties.displayName -eq $MachineName} PS /home/bharathram> $machine.count #Validate that only 1 VM was found matching this name.
PS > $machine.Name 10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210 PS > $machine.ResourceId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ContosoVMwareCMK/providers/Microsoft.OffAzure/VMwareSites/VMwareApplianca8basite/machines/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a_50098f99-f949-22ca-642b-724ec6595210 PS > $machine.Properties.disks | select uuid, label, name, maxSizeInBytes uuid label name maxSizeInBytes ---- ----- ---- -------------- 6000C291-5106-2aac-7a74-4f33c3ddb78c Hard disk 1 scsi0:0 42949672960 6000C293-39a1-bd70-7b24-735f0eeb79c4 Hard disk 2 scsi0:1 53687091200 6000C29e-cbee-4d79-39c7-d00dd0208aa9 Hard disk 3 scsi0:2 53687091200
DeploymentName : template ResourceGroupName : ContosoVMwareCMK ProvisioningState : Succeeded Timestamp : 3/11/2020 8:52:00 PM Mode : Incremental TemplateLink : Parameters : Outputs : DeploymentDebugLogLevel :