AvoidGlobalVars
Severity Level: Warning
Description
A variable is a unit of memory in which values are stored. PowerShell controls access to variables, functions, aliases, and drives through a mechanism known as scoping. Variables and functions that are present when PowerShell starts have been created in the global scope.
Globally scoped variables include:
- Automatic variables
- Preference variables
- Variables, aliases, and functions that are in your PowerShell profiles
To understand more about scoping, see Get-Help about_Scopes
.
How
Use other scope modifiers for variables.
Example
Wrong
$Global:var1 = $null
function Test-NotGlobal ($var)
{
$a = $var + $var1
}
Correct
$var1 = $null
function Test-NotGlobal ($var1, $var2)
{
$a = $var1 + $var2
}
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for