Sad Tux - Windows bias detected
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

Detected 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 use Azure PowerShell cmdlets and Windows-specific tools (such as New-SelfSignedCertificate and Export-PfxCertificate), with no mention of Linux or cross-platform alternatives. There are no CLI, Bash, or Linux-native certificate generation examples, and the tutorial assumes a Windows environment throughout.
Recommendations
  • Provide equivalent Azure CLI (az) commands for all resource creation and configuration steps, as Azure CLI is cross-platform and widely used on Linux and macOS.
  • Include Linux-native instructions for generating self-signed certificates (e.g., using OpenSSL) alongside the PowerShell examples.
  • Clearly indicate which steps are platform-specific and offer alternatives for non-Windows users.
  • Reorganize the documentation so that cross-platform (CLI) examples are presented first or in parallel with PowerShell/Windows-specific instructions.
  • Add notes or links to relevant documentation for Linux/macOS users, such as installing Azure CLI or using Bash scripts.
GitHub Create Pull Request

Scan History

Date Scan Status Result
2026-02-20 00:00 #402 in_progress Clean Clean
2026-02-19 00:00 #398 in_progress Biased Biased
2026-02-18 00:00 #394 in_progress Biased Biased
2026-02-17 00:00 #390 in_progress Biased Biased
2026-02-16 00:00 #386 in_progress Biased Biased
2026-02-15 00:00 #382 in_progress Biased Biased
2026-02-14 00:00 #378 in_progress Biased Biased
2026-02-13 00:00 #374 in_progress Biased Biased
2026-02-12 00:00 #370 in_progress Biased Biased
2026-02-11 00:00 #366 in_progress Clean Clean
2026-02-10 00:00 #362 completed Biased Biased
2026-02-09 00:00 #358 completed Clean Clean
2026-02-08 00:00 #354 completed Biased Biased
2026-02-05 00:00 #342 completed Biased Biased
2026-02-04 00:00 #338 completed Biased Biased
2026-02-03 00:00 #334 completed Biased Biased
2026-02-02 00:00 #330 completed Biased Biased
2026-02-01 00:00 #326 completed Biased Biased
2026-01-31 00:00 #322 completed Biased Biased
2026-01-30 00:00 #318 completed Biased Biased
2026-01-27 00:00 #306 completed Biased Biased
2026-01-26 00:00 #302 completed Biased Biased
2026-01-24 00:00 #294 completed Biased Biased
2026-01-23 00:00 #290 failed Biased Biased
2026-01-14 00:00 #250 in_progress Biased Biased
2026-01-13 00:00 #246 completed Biased Biased
2026-01-12 00:00 #243 cancelled Biased Biased
2026-01-11 00:00 #240 completed Biased Biased
2026-01-10 00:00 #237 completed Biased Biased
2026-01-09 00:34 #234 completed Biased Biased
2026-01-08 00:53 #231 completed Clean Clean
2026-01-06 18:15 #225 cancelled Clean Clean
2025-08-23 00:00 #89 cancelled Biased Biased
2025-08-01 00:00 #67 completed Biased Biased
2025-07-31 00:00 #66 completed Clean Clean
2025-07-30 00:00 #65 completed Clean Clean
2025-07-29 00:01 #64 completed Clean Clean
2025-07-28 00:00 #63 completed Clean Clean
2025-07-27 00:00 #62 completed Clean Clean
2025-07-26 00:01 #61 completed Clean Clean
2025-07-25 00:00 #60 completed Clean Clean
2025-07-24 00:00 #59 completed Clean Clean
2025-07-23 00:00 #58 completed Clean Clean
2025-07-22 00:01 #57 completed Clean Clean
2025-07-21 00:00 #56 completed Clean Clean
2025-07-19 13:51 #54 completed Clean Clean
2025-07-17 00:00 #53 completed Biased Biased
2025-07-16 00:00 #52 completed Biased Biased
2025-07-13 21:37 #48 completed Biased Biased
2025-07-09 13:09 #3 cancelled Clean Clean
2025-07-08 04:23 #2 cancelled Biased Biased

Flagged Code Snippets

#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
       -location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3
   $autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2
   $sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
   
$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
$pip.IpAddress
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
$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
#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