首页/系统/Windows 运维速查/变量作用域与 script/global
本包目录(413 条)
CMD 常用命令74 条
PowerShell 基础66 条
网络排查41 条服务与进程42 条磁盘与文件43 条用户与权限34 条AD 域与组策略39 条日志与事件38 条远程管理36 条

变量作用域与 script/global

函数、脚本块与模块各有作用域:默认赋值只在当前作用域生效,跨作用域修改要显式加 scope 前缀。

Windows 运维速查系统更新于 2026-10-12
用途控制变量可见范围
语法$script:x;$global:x;$env:x;$using:x(远程与作业引用调用方变量)
规则读父作用域变量可直接引用;写需 scope 前缀或 Set-Variable -Scope

常用示例

常用示例
$script:total = 0
function Add-One { $script:total += 1 }
Add-One
$total
脚本内函数改外部变量最常用 $script:;远程/作业里引用本地变量用 $using:。

易错点

  • 函数里写 $x = 1 只是局部赋值,外部 $x 不变,容易误判“改了没生效”
  • 管道脚本块与 foreach 内变量共享父作用域,命名冲突很难排查

数据来源与参考

  • Microsoft Learn:about_Scopes

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌