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 towards Windows environments, specifically PowerShell. All command-line instructions are given exclusively in PowerShell, with no mention of Linux or cross-platform alternatives (such as Azure CLI, Bash, or Cloud Shell). The steps assume the user is running PowerShell on Windows, including instructions to 'Open PowerShell as an admin' and module installation via Install-Module. There are no Linux or macOS equivalents, and no mention of how to perform these tasks on non-Windows systems. This may exclude or confuse users working from Linux or macOS environments.
Recommendations:
  • Provide equivalent instructions using Azure CLI and/or Bash scripts, which are cross-platform and supported on Linux and macOS.
  • Mention that PowerShell Core is available on Linux and macOS, and provide any necessary prerequisites or differences for those platforms.
  • Explicitly state whether the steps can be performed in Azure Cloud Shell, which is accessible from any OS and supports both PowerShell and Bash.
  • For module installation and admin rights, clarify how to perform these steps on Linux/macOS (e.g., using sudo, or installing modules in user scope).
  • Where possible, offer both PowerShell and Azure CLI examples side by side, or link to platform-specific guides.
  • Add a note at the beginning of the document clarifying OS requirements and available cross-platform options.
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

Get-Module -ListAvailable
Install-Module Microsoft.Entra
Connect-Entra -TenantId <TenantID> -Scopes 'Application.ReadWrite.All' New-EntraServicePrincipal -AppId eb63d611-525e-4a31-abd7-0cb33f679599 -DisplayName "Operator Connect"
$acgName = "<CommunicationsGatewayName>"
Disconnect-MgGraph
Get-Module -ListAvailable
Install-Module -Name Microsoft.Graph -Scope CurrentUser
Connect-MgGraph -Scopes "Application.Read.All", "AppRoleAssignment.ReadWrite.All" -TenantId "<TenantID>"
# Get the Service Principal ID for Project Synergy (Operator Connect) $projectSynergyApplicationId = "eb63d611-525e-4a31-abd7-0cb33f679599" $projectSynergyEnterpriseApplication = Get-MgServicePrincipal -Filter "AppId eq '$projectSynergyApplicationId'" # "Application.Read.All" # Required Operator Connect - Project Synergy Roles $trunkManagementRead = "72129ccd-8886-42db-a63c-2647b61635c1" $trunkManagementWrite = "e907ba07-8ad0-40be-8d72-c18a0b3c156b" $partnerSettingsRead = "d6b0de4a-aab5-4261-be1b-0e1800746fb2" $numberManagementRead = "130ecbe2-d1e6-4bbd-9a8d-9a7a909b876e" $numberManagementWrite = "752b4e79-4b85-4e33-a6ef-5949f0d7d553" $dataRead = "eb63d611-525e-4a31-abd7-0cb33f679599" $dataWrite = "98d32f93-eaa7-4657-b443-090c23e69f27" $requiredRoles = $trunkManagementRead, $trunkManagementWrite, $partnerSettingsRead, $numberManagementRead, $numberManagementWrite, $dataRead, $dataWrite # Locate the Azure Communications Gateway resource by name $acgServicePrincipal = Get-MgServicePrincipal -Filter ("displayName eq '$acgName'") # Assign the required roles to the managed identity of the Azure Communications Gateway resource $currentAssignments = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $acgServicePrincipal.Id foreach ($appRoleId in $requiredRoles) { $assigned = $currentAssignments | Where-Object { $_.AppRoleId -eq $AppRoleId } if (-not $assigned) { $params = @{ principalId = $acgServicePrincipal.Id resourceId = $projectSynergyEnterpriseApplication.Id appRoleId = $appRoleId } New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $acgServicePrincipal.Id -BodyParameter $params } } # Check the assigned roles Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $acgServicePrincipal.Id