about_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) 提供程序或使用基于 WS-Man 的 CIM 工作的 cmdlet 才会接受 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 连接数限制为 15。 此限制可由实现了 ThrottleLimit 的 CDXML cmdlet 改写。 请参阅各 cmdlet 文档来了解 ThrottleLimit。

另请参阅