AvoidGlobalVars

严重级别:警告

说明

变量是存储值的内存单位。 PowerShell 通过称为范围的机制控制对变量、函数、别名和驱动器的访问。 在全局范围内创建 PowerShell 启动时存在的变量和函数。

全局范围的变量包括:

  • 自动变量
  • Preference 变量
  • PowerShell 配置文件中的变量、别名和函数

若要详细了解范围,请参阅 Get-Help about_Scopes

方式

对变量使用其他范围修饰符。

示例

$Global:var1 = $null
function Test-NotGlobal ($var)
{
    $a = $var + $var1
}

正确

$var1 = $null
function Test-NotGlobal ($var1, $var2)
{
    $a = $var1 + $var2
}