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
⚠️
windows_tools
Summary:
The documentation provides both Bash (Azure CLI) and PowerShell examples throughout, but PowerShell is given equal or sometimes slightly more detailed coverage, and is always present as a first-class citizen. PowerShell is a Windows-centric tool, and its prominence (including advanced scripting and parameterization) may signal a Windows bias. There are no Linux-specific tools or patterns (e.g., native Linux shell scripting, use of Linux package managers, or references to Linux-only environments). The documentation does not mention or provide examples for Linux-native tools beyond Bash, and PowerShell is always presented alongside Bash, not as a secondary or optional alternative.
Recommendations:
- Clearly indicate that PowerShell examples are primarily for Windows users, and Bash/CLI for Linux/macOS users.
- Consider providing Linux-native shell scripting examples (e.g., using only Bash, avoiding PowerShell-specific constructs) where possible.
- Add notes or callouts for Linux/macOS users, especially where environment variable syntax or command-line behavior may differ.
- If PowerShell is included, clarify its cross-platform availability, but avoid implying it is the default for all users.
- Where advanced scripting is shown in PowerShell, provide equivalent Bash scripting for Linux users.
- Consider mentioning Linux package managers or environment setup steps if relevant.
Create pull request
Flagged Code Snippets
$SubnetArgs = @{
Name = 'infrastructure-subnet'
AddressPrefix = '10.0.0.0/23'
}
$subnet = New-AzVirtualNetworkSubnetConfig @SubnetArgs
ENVIRONMENT_DEFAULT_DOMAIN=`az containerapp env show --name ${CONTAINERAPPS_ENVIRONMENT} --resource-group ${RESOURCE_GROUP} --query properties.defaultDomain --out json | tr -d '"'`
Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerService
$VnetName = 'my-custom-vnet'
$VnetArgs = @{
Name = $VnetName
Location = $Location
ResourceGroupName = $ResourceGroupName
AddressPrefix = '10.0.0.0/16'
Subnet = $subnet
}
$vnet = New-AzVirtualNetwork @VnetArgs
$EnvironmentDefaultDomain = (Get-AzContainerAppManagedEnv -EnvName $ContainerAppsEnvironment -ResourceGroupName $ResourceGroupName).DefaultDomain
$delegation = New-AzDelegation -Name 'containerApp' -ServiceName 'Microsoft.App/environments'
$vnet = Set-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet -AddressPrefix $SubnetArgs.AddressPrefix -Delegation $delegation
$vnet | Set-AzVirtualNetwork
$InfrastructureSubnet=(Get-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet).Id
$WorkspaceArgs = @{
Name = 'myworkspace'
ResourceGroupName = $ResourceGroupName
Location = $Location
PublicNetworkAccessForIngestion = 'Enabled'
PublicNetworkAccessForQuery = 'Enabled'
}
New-AzOperationalInsightsWorkspace @WorkspaceArgs
$WorkspaceId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroupName -Name $WorkspaceArgs.Name).CustomerId
$WorkspaceSharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName $ResourceGroupName -Name $WorkspaceArgs.Name).PrimarySharedKey
$EnvArgs = @{
EnvName = $ContainerAppsEnvironment
ResourceGroupName = $ResourceGroupName
Location = $Location
AppLogConfigurationDestination = "log-analytics"
LogAnalyticConfigurationCustomerId = $WorkspaceId
LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey
VnetConfigurationInfrastructureSubnetId = $InfrastructureSubnet
VnetConfigurationInternal = <INTERNAL>
}
New-AzContainerAppManagedEnv @EnvArgs
$EnvironmentStaticIp = (Get-AzContainerAppManagedEnv -EnvName $ContainerAppsEnvironment -ResourceGroupName $ResourceGroupName).StaticIp
New-AzPrivateDnsZone -ResourceGroupName $ResourceGroupName -Name $EnvironmentDefaultDomain
New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $ResourceGroupName -Name $VnetName -VirtualNetwork $Vnet -ZoneName $EnvironmentDefaultDomain -EnableRegistration
$DnsRecords = @()
$DnsRecords += New-AzPrivateDnsRecordConfig -Ipv4Address $EnvironmentStaticIp
$DnsRecordArgs = @{
ResourceGroupName = $ResourceGroupName
ZoneName = $EnvironmentDefaultDomain
Name = '*'
RecordType = 'A'
Ttl = 3600
PrivateDnsRecords = $DnsRecords
}
New-AzPrivateDnsRecordSet @DnsRecordArgs
Remove-AzResourceGroup -Name $ResourceGroupName -Force