Skip to main content
powershell/PSAvoidGlobalAliases is a PSScriptAnalyzer diagnostic emitted by tally for PowerShell snippets embedded in Dockerfiles.
tally disables this rule by default for Dockerfile RUN snippets because a RUN executes statements inline rather than defining cmdlets, parameters, or modules with external callers. Re-enable it with include = ["powershell/PSAvoidGlobalAliases"] or by setting rules.powershell.PSAvoidGlobalAliases.severity = "warning" in .tally.toml.

Description

Globally scoped aliases override existing aliases in the session with matching names, which can cause difficult-to-debug issues for consumers of modules and scripts. To understand more about scoping, see Get-Help about_Scopes. NOTE This rule is not available in PowerShell version 3 or 4 because it uses the StaticParameterBinder.BindCommand API.

How

Use other scope modifiers for new aliases.

Examples

Problematic code

Correct code

Source

This rule documentation is adapted from Microsoft’s PSScriptAnalyzer documentation for AvoidGlobalAliases, licensed under CC BY 4.0.