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_first
⚠️ missing_linux_example
Summary:
The documentation page demonstrates a Windows bias by providing only PowerShell-based CLI examples for configuring bandwidth schedules, with no mention of Linux-native tools, Bash, or cross-platform CLI alternatives. The PowerShell section is extensive and presented as the sole scripting/automation method, implying a preference for Windows environments. There are no Linux-specific instructions or parity in command-line guidance.
Recommendations:
  • Add equivalent Azure CLI (az) examples for all PowerShell commands, as Azure CLI is cross-platform and works natively on Linux, macOS, and Windows.
  • Explicitly mention that the Storage Mover agent and its management tools are supported on Linux, if applicable, and provide any Linux-specific prerequisites or notes.
  • Include Bash shell script examples for common tasks, or at least show how to use curl or az CLI to manipulate the bandwidth schedule JSON.
  • Clarify whether the agent console (for timezone changes) is accessible and behaves identically on Linux and Windows deployments, and provide OS-specific instructions if there are differences.
  • Review screenshots and UI instructions to ensure they are not overly tailored to a Windows/Outlook paradigm, or provide alternative references familiar to Linux users.
GitHub Create pull request

Scan History

Date Scan ID Status Bias Status
2025-08-19 00:01 #85 completed ✅ Clean
2025-07-13 21:37 #48 completed ❌ Biased
2025-07-12 23:44 #41 in_progress ❌ Biased

Flagged Code Snippets

## Ensure you are running the latest version of PowerShell 7 $PSVersionTable.PSVersion ## Your local execution policy must be set to at least remote signed or less restrictive Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ## If you don't have the general Az PowerShell module, install it first Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force ## Lastly, the Az.StorageMover module is not installed by default and must be manually requested. Install-Module -Name Az.StorageMover -Scope CurrentUser -Repository PSGallery -Force
## Set variables $subscriptionID = "Your subscription ID" $resourceGroupName = "Your resource group name" $storageMoverName = "Your storage mover resource name" $registeredAgentName = "Name of the agent, registered to your storage mover resource" ## Log into Azure with your Azure credentials Connect-AzAccount -SubscriptionId $subscriptionID # -DeviceLogin #Leverage DeviceLogin if you need to authenticate your PowerShell session from another machine. # -TenantID #In some environments you may you need to specify the EntraID tenant to authenticate against. #------------ # GET the schedule configured on an agent: $schedule = @(Get-AzStorageMoverAgent -ResourceGroupName $resourceGroupName -StorageMoverName $storageMoverName -AgentName $registeredAgentName).UploadLimitScheduleWeeklyRecurrence # $schedule then contains a JSON structure with elements for each configured time windows and the upload limit in Mbps that applies during this window. # Output the entire schedule $schedule # Schedule elements can be addressed like an array. $schedule[0]
Update-AzStorageMoverAgent ` -ResourceGroupName $resourceGroupName ` -StorageMoverName $storageMoverName ` -AgentName $registeredAgentName ` -UploadLimitScheduleWeeklyRecurrence @() # Supply an empty array to remove all previously configured limits. This operation cannot be undone. You have to build and supply a new schedule if you want to enable bandwidth limitations for this agent again.
$newLimit = New-AzStorageMoverUploadLimitWeeklyRecurrenceObject ` -Day "Monday", "Tuesday" ` # Mandatory. An array, limited to the English names of all 7 days, Monday through Sunday in any order. -LimitInMbps 900 ` # Mandatory. Limit in "Mega bits per second" -StartTimeHour 5 ` # Mandatory. 24-hour clock: 5 = 5am -EndTimeHour 17 ` # Mandatory. 24-hour clock: 17 = 5pm -EndTimeMinute 30 # Optional. Time blocks are precise to 30 Minutes. -EndTimeMinute 0 is equivalent to omitting the parameter. The only other acceptable value is the half hour mark: 30. $schedule += $newLimit # Appends the new limit to the exiting schedule. The JSON structure does not need to be ordered by days or time. # Updates the bandwidth limit schedule for the selected agent by adding the defined "time block" to the schedule. # Ensure that the new limit does not overlap with an already configured limit in the schedule, otherwise the operation will fail. Update-AzStorageMoverAgent ` -ResourceGroupName $resourceGroupName ` -StorageMoverName $storageMoverName ` -AgentName $registeredAgentName ` -UploadLimitScheduleWeeklyRecurrence $schedule # This command sets and overwrites a bandwidth limit schedule for the selected agent. Be sure to preserve an existing schedule if you want to only add a new limit. If you are building an entirely new schedule, you can form all your limit objects and then supply a comma-separated list of your new limits here. # Ensure the new limit's time span is not overlapping any existing limits. Otherwise, the operation will fail.
# Step 1: define the new limit object you want to use to replace an existing limit: $limit = New-AzStorageMoverUploadLimitWeeklyRecurrenceObject ` -Day "Monday", "Tuesday" ` # Mandatory. An array, limited to the English names of all 7 days, Monday through Sunday in any order. -LimitInMbps 900 ` # Mandatory. limit in "Mega bits per second" -StartTimeHour 5 ` # Mandatory. 24-hour clock: 5 = 5am -EndTimeHour 17 ` # Mandatory. 24-hour clock: 17 = 5pm -EndTimeMinute 30 # Optional. Time blocks are precise to 30 Minutes. -EndTimeMinute 0 is equivalent to omitting the parameter. The only other acceptable value is the half hour mark: 30. # Step 2: Find the bandwidth limitation window you want to change: $schedule = @(Get-AzStorageMoverAgent -ResourceGroupName $resourceGroupName -StorageMoverName $storageMoverName -AgentName $registeredAgentName).UploadLimitScheduleWeeklyRecurrence $schedule[<n>] = $limit # Replace the limit (start count at zero) with your newly defined limit. #Step 3: Update the bandwidth limit schedule for the selected agent: Update-AzStorageMoverAgent ` -ResourceGroupName $resourceGroupName ` -StorageMoverName $storageMoverName ` -AgentName $registeredAgentName ` -UploadLimitScheduleWeeklyRecurrence $schedule # Apply your entire, updated schedule. Performing this step on an agent with other limits already configured will override them with this new schedule. Ensure there are no overlapping time spans, otherwise the operation will fail.