如果我们对变量不做特别的声明,Powershell解释器会自动处理和限制变量的作用域。将下面的内容命令保存着至test1.ps1然后在控制台给变量$windows赋值,并调用Test.ps1脚本。调用脚本时,会分配一个变量$windows,在脚本调用结束后,这个变量被回收,脚本中的变量不会影响脚本外的变量,因为它们在不同的作用域中。加强变量可见性限制的优点:清空初始化环境但是如果你通过圆点禁用作用域限制,调用test.ps1,就会有异常,因为一个常量不能被创建两次。如果增加了函数和脚本,或者特殊的定义,才会生成其它作用域。怎样把当前控制台中的变量保护起来,不让它在函数和脚本中被访问,Private修饰符就派上了用场。不但不能修改,还会删除当前的$private变量但是$local 修饰的变量则可以通过$global在函数内部更改。

Windows Powershell 变量的作用域

Windows Powershell 变量的作用域

Windows Powershell 变量的作用域

Windows Powershell 变量的作用域