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
⚠️ windows_tools
Summary:
The documentation page exhibits a strong Windows/PowerShell bias. All code samples, explanations, and tool references are exclusively for Windows PowerShell and related cmdlets. There is no mention of Linux, Bash, or cross-platform scripting, nor are there examples or guidance for users running Azure Automation from non-Windows environments. The documentation assumes the reader is using PowerShell and Windows-centric tools, and Linux or cross-platform users are not addressed.
Recommendations:
  • Add equivalent examples for Python runbooks, which are supported in Azure Automation, especially in sections discussing output and message streams.
  • Include information and examples for retrieving runbook output and messages using Azure CLI (az command), which is cross-platform and widely used on Linux.
  • Clarify which features and cmdlets are available or behave differently in Linux Hybrid Runbook Workers or in cross-platform environments.
  • Where PowerShell preference variables or cmdlets are discussed, note their applicability (or lack thereof) in Python or other supported runbook types.
  • Provide links to documentation or guides for managing Azure Automation from Linux environments, and mention any limitations or differences.
  • Rephrase sections that refer to 'Windows PowerShell' to 'PowerShell', and clarify when instructions apply to Windows-only versus cross-platform PowerShell Core.
  • Explicitly state if certain features (such as graphical runbooks or specific cmdlets) are only available on Windows, and suggest alternatives for Linux users.
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 ❌ Biased
2025-07-09 13:09 #3 cancelled ✅ Clean
2025-07-08 04:23 #2 cancelled ❌ Biased

Flagged Code Snippets

#The following lines both write an object to the output stream. Write-Output -InputObject $object $object
Workflow Test-Runbook { Write-Verbose "Verbose outside of function" -Verbose Write-Output "Output outside of function" $functionOutput = Test-Function $functionOutput Function Test-Function { Write-Verbose "Verbose inside of function" -Verbose Write-Output "Output inside of function" } }
Workflow Test-Runbook { [OutputType([string])] $output = "This is some string output." Write-Output $output }
#The following lines create a warning message and then an error message that will suspend the runbook. $ErrorActionPreference = "Stop" Write-Warning -Message "This is a warning message." Write-Error -Message "This is an error message that will stop the runbook because of the preference variable."
Write-Output "This is an output message." Write-Debug "This is a debug message."
Write-Output "This is an output message." $GLOBAL:DebugPreference="Continue" Write-Debug "This is a debug message." 5>&1
#The following line creates a verbose message. Write-Verbose -Message "This is a verbose message."
$job = Start-AzAutomationRunbook -ResourceGroupName "ResourceGroup01" ` -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" $doLoop = $true While ($doLoop) { $job = Get-AzAutomationJob -ResourceGroupName "ResourceGroup01" ` -AutomationAccountName "MyAutomationAccount" -Id $job.JobId $status = $job.Status $doLoop = (($status -ne "Completed") -and ($status -ne "Failed") -and ($status -ne "Suspended") -and ($status -ne "Stopped")) } Get-AzAutomationJobOutput -ResourceGroupName "ResourceGroup01" ` -AutomationAccountName "MyAutomationAccount" -Id $job.JobId -Stream Output # For more detailed job output, pipe the output of Get-AzAutomationJobOutput to Get-AzAutomationJobOutputRecord Get-AzAutomationJobOutput -ResourceGroupName "ResourceGroup01" ` -AutomationAccountName "MyAutomationAccount" -Id $job.JobId -Stream Any | Get-AzAutomationJobOutputRecord