CimSession简介

简短说明

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

详细说明

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

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

可以使用 Windows 计算机上的 New-CimSession 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作系统。

相比之下,cmdlet 使用 PSSession 在目标计算机上运行。 它需要目标系统上的 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 连接数限制为 15。 此限制可由实现 ThrottleLimit的 CDXML cmdlet 重写。 请参阅单个 cmdlet 文档以了解 ThrottleLimit

另请参阅