description | ms.date | ms.topic | title |
---|---|---|---|
No Global Variables |
06/28/2023 |
reference |
AvoidGlobalVars |
Severity Level: Warning
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
.
Use other scope modifiers for variables.
$Global:var1 = $null
function Test-NotGlobal ($var)
{
$a = $var + $var1
}
$var1 = $null
function Test-NotGlobal ($var1, $var2)
{
$a = $var1 + $var2
}