首页/系统/Windows 运维速查/New-PSSession 会话复用

New-PSSession 会话复用

为批量操作建立复用会话:连接建立一次多次执行,大幅降低认证与握手开销;用完 Remove-PSSession 释放。

Windows 运维速查系统更新于 2026-10-13

会话复用是什么

New-PSSession 建立一条持久化的远程 PowerShell 会话,之后用 Invoke-Command -Session 在同一条连接上反复执行命令。相比每次调用都写 -ComputerName,复用会话省掉了重复的身份验证与 WinRM 握手,批量巡检时差别很明显;会话还保留了变量,适合“先取数据、再在远端基于数据计算”的两步式操作。用完记得 Remove-PSSession 释放。

基本信息

适用平台PowerShell 5.1 / 7.x;基于 WinRM(或 SSH 传输)
创建语法New-PSSession -ComputerName x[,y]
执行语法Invoke-Command -Session $s { ... }
管理命令Get-PSSession、Remove-PSSession、Disconnect-PSSession、Connect-PSSession
断开与移除断开保留远端会话状态,移除则彻底结束
断开超时默认断开后保留一定时间(IdleTimeout),超时远端会话被回收

典型使用场景

  • 批量巡检:一次建会话,对多台机器执行同一段脚本
  • 采集与处理分离:远端先收集数据,再在本地汇总统计
  • 长流程操作:避免每步都重新认证,缩短整体耗时
  • 临时断线续做:断开后稍后重连同一会话继续执行
  • 跨网段时配合 SSH 传输建立会话,绕开 WinRM 的限制

常用示例

常用示例
$s = New-PSSession -ComputerName app01,app02                 # 一次建立多台机器的会话
Invoke-Command -Session $s { Get-Date }                      # 复用会话执行,无需重复认证
Invoke-Command -Session $s { Get-Service W3SVC } | Select-Object PSComputerName, Status   # 结果带来源主机
Get-PSSession                                                # 查看当前会话清单
Disconnect-PSSession -Session $s[0]                          # 暂时断开,远端会话保留
Connect-PSSession -Session $s[0]                             # 稍后重连继续用
Remove-PSSession -Session $s                                 # 全部释放

命令分工

命令作用使用提示
New-PSSession建立会话可一次给多台主机建会话
Invoke-Command -Session在会话上执行结果含 PSComputerName 便于溯源
Disconnect-PSSession断开但保留远端状态适合临时断线的长流程
Connect-PSSession重新接上断开的会话受 IdleTimeout 限制
Remove-PSSession彻底结束会话脚本收尾必须做
巡检脚本的固定骨架就是这个顺序:建会话 → 批量取值 → 本地统一处理 → 清理会话。把清理写在 finally 块里,即使中途报错也不会留下悬挂会话。
断开与移除是两回事:断开后远端仍保留该会话及其变量,但超过空闲超时会被自动回收;移除后立刻结束,之后再用这条会话 ID 会报错。

易错点

  • 脚本结束不 Remove-PSSession,会话持续占用远端连接与内存,越积越多
  • 把断开的会话当作永久可用,超出空闲超时后重连失败
  • 对大量主机一次性建会话,触发远端并发连接上限或本机会话配额限制
  • 把敏感数据留在远端会话变量里长时间不清理,会话被他人接管时可读取

数据来源与参考

  • Microsoft Learn:New-PSSession
  • Microsoft Learn:Connect-PSSession

相关工具

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