about_CimSession

简短说明

描述 CimSession 对象以及 CIM 会话与 PowerShell 会话之间的差异。

长说明

此信息仅适用于在 Windows 上运行的 PowerShell。

CIM) 会话 (通用信息模型是表示与本地计算机或远程计算机的连接的客户端对象。 可以使用 CIM 会话替代 PowerShell 会话 (PSSessions) 。 这两种方法都有优势。

可以使用 New-CimSession Windows 计算机上的 cmdlet 创建一个 CIM 会话,其中包含有关连接的信息,例如计算机名称、用于连接的协议、会话 ID 和实例 ID。

创建指定建立连接所需的信息的 CimSession 对象后,PowerShell 不会立即建立连接。 当 cmdlet 使用 CIM 会话时,PowerShell 会连接到指定的计算机,然后在该 cmdlet 完成后,PowerShell 终止连接。

如果创建 PSSession 而不是使用 CIM 会话,PowerShell 会验证连接设置,然后建立和维护连接。 如果使用 CIM 会话,PowerShell 在需要之前不会打开网络连接。 有关 PowerShell 会话的详细信息,请参阅 about_PSSessions

何时使用 CIM 会话

只有与 Windows Management Instrumentation (WMI) 提供程序或 CIM 一起使用的 cmdlet WS-Man 接受 CIM 会话。 对于其他 cmdlet,请使用 PSSessions

使用 CIM 会话时,PowerShell 在本地客户端上运行 cmdlet。 它使用 CIM 会话连接到 WMI 提供程序。 目标计算机不需要 PowerShell,甚至不需要任何版本的 Windows 操作系统。

相比之下,使用 PSSession 运行的 cmdlet 在目标计算机上运行。 它需要目标系统上的 PowerShell。 此外,cmdlet 将数据发送回本地计算机。 PowerShell 管理通过连接发送的数据,并将大小保持在 Windows 远程管理 (WinRM) 设置的限制内。 CIM 会话不会施加 WinRM 限制。

使用 CDXML cmdlet

可以编写基于 CIM 的 Cmdlet 定义 XML (CDXML) cmdlet 以使用任何 WMI 提供程序。 所有 WMI 提供程序都使用 CimSession 对象。 有关 CDXML 的详细信息,请参阅 CDXML 定义和术语

CDXML cmdlet 具有可采用 CimSession 对象的数组的自动 CimSession 参数。 默认情况下,PowerShell 将并发 CIM Connections数限制为 15。 此限制可由实现 ThrottleLimit 的 CDXML cmdlet 重写。 请参阅单个 cmdlet 文档,了解 ThrottleLimit

另请参阅