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
⚠️ missing_linux_example
⚠️ windows_first
Summary:
The documentation is heavily biased toward Windows and PowerShell usage. All examples and instructions are provided exclusively using Azure PowerShell cmdlets and Windows-specific tools (such as New-SelfSignedCertificate and Export-PfxCertificate), with no mention of Bash, Azure CLI, or Linux-compatible alternatives. File paths and certificate creation steps assume a Windows environment. There are no Linux or cross-platform instructions or examples, making it difficult for Linux users to follow the tutorial.
Recommendations:
  • Provide equivalent Azure CLI (az) commands for all resource creation and management steps, as Azure CLI is cross-platform and widely used on Linux.
  • Include instructions for creating self-signed certificates using OpenSSL, which is available on Linux and macOS, alongside the PowerShell example.
  • Use platform-neutral file paths or clarify path differences for Windows and Linux (e.g., c:\appgwcert.pfx vs. ~/appgwcert.pfx).
  • Explicitly state that the tutorial can be followed from Linux, macOS, or Windows, and provide guidance for each platform where steps differ.
  • Add a section or callouts highlighting any platform-specific prerequisites or differences, such as installing Azure CLI or PowerShell Core on Linux.
  • Consider reordering or parallelizing examples so that Linux and Windows approaches are presented side-by-side, rather than Windows-first or Windows-only.
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
2025-07-09 23:22 #6 cancelled ✅ Clean

Flagged Code Snippets

Connect-AzAccount Select-AzSubscription -Subscription "<sub name>"
#Create static public IP $pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" ` -location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3
$location = "East US 2" $rg = "AppGW-rg" #Create a new Resource Group New-AzResourceGroup -Name $rg -Location $location
New-SelfSignedCertificate ` -certstorelocation cert:\localmachine\my ` -dnsname www.contoso.com
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my Thumbprint Subject ---------- ------- E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
$pwd = ConvertTo-SecureString -String "<password>" -Force -AsPlainText Export-PfxCertificate ` -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 ` -FilePath c:\appgwcert.pfx ` -Password $pwd
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2 $sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP $pip.IpAddress
#Create VNet with two subnets $sub1 = New-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -AddressPrefix "10.0.0.0/24" $sub2 = New-AzVirtualNetworkSubnetConfig -Name "BackendSubnet" -AddressPrefix "10.0.1.0/24" $vnet = New-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg ` -Location $location -AddressPrefix "10.0.0.0/16" -Subnet $sub1, $sub2
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" $vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg $gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
New-AzAppServicePlan -ResourceGroupName $rg -Name "ASP-01" -Location $location -Tier Basic ` -NumberofWorkers 2 -WorkerSize Small New-AzWebApp -ResourceGroupName $rg -Name <site1-name> -Location $location -AppServicePlan ASP-01 New-AzWebApp -ResourceGroupName $rg -Name <site2-name> -Location $location -AppServicePlan ASP-01
$ipconfig = New-AzApplicationGatewayIPConfiguration -Name "IPConfig" -Subnet $gwSubnet $fip = New-AzApplicationGatewayFrontendIPConfig -Name "FrontendIPCOnfig" -PublicIPAddress $publicip $pool = New-AzApplicationGatewayBackendAddressPool -Name "Pool1" ` -BackendIPAddresses <your first web app FQDN>, <your second web app FQDN> $fp01 = New-AzApplicationGatewayFrontendPort -Name "SSLPort" -Port 443 $fp02 = New-AzApplicationGatewayFrontendPort -Name "HTTPPort" -Port 80 $securepfxpwd = ConvertTo-SecureString -String "Azure123456!" -AsPlainText -Force $sslCert01 = New-AzApplicationGatewaySslCertificate -Name "SSLCert" -Password $securepfxpwd ` -CertificateFile "c:\appgwcert.pfx" $listener01 = New-AzApplicationGatewayHttpListener -Name "SSLListener" ` -Protocol Https -FrontendIPConfiguration $fip -FrontendPort $fp01 -SslCertificate $sslCert01 $listener02 = New-AzApplicationGatewayHttpListener -Name "HTTPListener" ` -Protocol Http -FrontendIPConfiguration $fip -FrontendPort $fp02 $setting = New-AzApplicationGatewayBackendHttpSettings -Name "BackendHttpSetting1" ` -Port 80 -Protocol Http -CookieBasedAffinity Disabled -PickHostNameFromBackendAddress $rule01 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule1" -RuleType basic ` -BackendHttpSettings $setting -HttpListener $listener01 -BackendAddressPool $pool -Priority 1 $rule02 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule2" -RuleType basic ` -BackendHttpSettings $setting -HttpListener $listener02 -BackendAddressPool $pool -Priority 2
$appgw = New-AzApplicationGateway -Name "AutoscalingAppGw" -Zone 1,2,3 ` -ResourceGroupName $rg -Location $location -BackendAddressPools $pool ` -BackendHttpSettingsCollection $setting -GatewayIpConfigurations $ipconfig ` -FrontendIpConfigurations $fip -FrontendPorts $fp01, $fp02 ` -HttpListeners $listener01, $listener02 -RequestRoutingRules $rule01, $rule02 ` -Sku $sku -sslCertificates $sslCert01 -AutoscaleConfiguration $autoscaleConfig