New-CimSession

创建 CIM 会话。

语法

CredentialParameterSet (默认值)

New-CimSession
    [[-Credential] <PSCredential>]
    [[-ComputerName] <String[]>]
    [-Authentication <PasswordAuthenticationMechanism>]
    [-Name <String>]
    [-OperationTimeoutSec <UInt32>]
    [-SkipTestConnection]
    [-Port <UInt32>]
    [-SessionOption <CimSessionOptions>]
    [<CommonParameters>]

CertificateParameterSet

New-CimSession
    [[-ComputerName] <String[]>]
    [-CertificateThumbprint <String>]
    [-Name <String>]
    [-OperationTimeoutSec <UInt32>]
    [-SkipTestConnection]
    [-Port <UInt32>]
    [-SessionOption <CimSessionOptions>]
    [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

New-CimSession cmdlet 创建 CIM 会话。 CIM 会话是表示与本地计算机或远程计算机的连接的客户端对象。 CIM 会话包含有关连接的信息,例如 ComputerName、使用的协议或各种标识符。

此 cmdlet 返回可由所有其他 CIM cmdlet 使用的 CIM 会话对象。

示例

示例 1:使用默认选项创建 CIM 会话

此示例创建具有默认选项的本地 CIM 会话。 如果未指定 ComputerNameNew-CimSession 创建到本地计算机的 DCOM 会话。

New-CimSession

示例 2:创建到特定计算机的 CIM 会话

此示例创建由 ComputerName指定的计算机的 CIM 会话。 默认情况下,指定 New-CimSession 时, 创建 WSMan 会话。

New-CimSession -ComputerName Server01

示例 3:创建指向多台计算机的 CIM 会话

本示例在逗号分隔列表中创建由 ComputerName指定的每台计算机的 CIM 会话。

New-CimSession -ComputerName Server01, Server02, Server03

示例 4:使用友好名称创建 CIM 会话

本示例在逗号分隔列表中,为 ComputerName指定的每台计算机创建远程 CIM 会话,并通过指定 名称为新会话分配友好名称。

New-CimSession -ComputerName Server01, Server02 -Name FileServers
Get-CimSession -Name File*

可以使用 CIM 会话的友好名称来引用其他 CIM cmdlet 中的会话,例如 Get-CimSession

示例 5:使用 PSCredential 对象创建计算机 CIM 会话

此示例使用 Credential指定的 PSCredential 对象,以及由 身份验证指定的身份验证类型,创建由 ComputerName指定的计算机的 CIM 会话。

New-CimSession -ComputerName Server01 -Credential $cred -Authentication Negotiate

可以使用 cmdlet 创建 Get-Credential 对象。

示例 6:使用特定端口创建到计算机的 CIM 会话

此示例使用由 端口指定的 TCP 端口创建由 ComputerName 指定的计算机的 CIM 会话。

New-CimSession -ComputerName Server01 -Port 1234

示例 7:使用 DCOM 创建 CIM 会话

此示例使用分布式 COM (DCOM) 协议而不是 WSMan 创建 CIM 会话。

$SessionOption = New-CimSessionOption -Protocol Dcom
New-CimSession -ComputerName Server1 -SessionOption $SessionOption

参数

-Authentication

指定用于用户凭据的身份验证类型。 此参数的可接受值为:

  • 违约
  • 摘要
  • 谈判
  • 基本
  • Kerberos
  • Ntlm域
  • CredSsp 公司

不能使用 NtlmDomain 身份验证类型连接到本地计算机。 CredSSP 身份验证仅适用于 Windows Vista、Windows Server 2008 和更高版本的 Windows。

谨慎

凭据安全服务提供程序(CredSSP)身份验证专为需要对多个资源进行身份验证(例如访问远程网络共享)的命令而设计。 此机制会增加远程操作的安全风险。 如果远程计算机遭到入侵,则传递给它的凭据可用于控制网络会话。

参数属性

类型:PasswordAuthenticationMechanism
默认值:None
接受的值:Default, Digest, Negotiate, Basic, Kerberos, NtlmDomain, CredSsp
支持通配符:False
不显示:False

参数集

CredentialParameterSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-CertificateThumbprint

指定有权执行此操作的用户帐户的数字公钥证书(X.509)。 输入证书的证书指纹。

证书用于基于客户端证书的身份验证。 它们只能映射到本地用户帐户;它们不适用于域帐户。

若要获取证书指纹,请使用 PowerShell 证书提供程序中的 Get-ItemGet-ChildItem cmdlet。

有关详细信息,请参阅 about_Certificate_Provider

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

CertificateParameterSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ComputerName

指定要创建 CIM 会话的计算机的名称。 指定单个计算机名称,或用逗号分隔的多个计算机名称。

如果未指定 ComputerName,则会创建到本地计算机的 CIM 会话。 可以使用以下格式之一指定计算机名称的值:

  • 一个或多个 NetBIOS 名称
  • 一个或多个 IP 地址
  • 一个或多个完全限定的域名。

如果计算机位于与用户不同的域中,则必须指定完全限定的域名。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False
别名:中国区, 服务器名称

参数集

(All)
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Credential

指定有权执行此作的用户帐户。 如果未指定 凭据,则使用当前用户帐户。

使用以下格式之一指定 凭据 的值:

  • 用户名:“User01”
  • 域名和用户名:“Domain01\User01”
  • 用户主体名称:“User@Domain.com”
  • PSCredential 对象,例如由 Get-Credential cmdlet 返回的对象。

键入用户名时,系统会提示输入密码。

参数属性

类型:PSCredential
默认值:None
支持通配符:False
不显示:False

参数集

CredentialParameterSet
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

指定 CIM 会话的友好名称。

使用其他 cmdlet 时,可以使用名称来引用 CIM 会话,例如 Get-CimSession cmdlet。 该名称不需要对计算机或当前会话是唯一的。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-OperationTimeoutSec

cmdlet 等待来自服务器的响应的持续时间。

默认情况下,此参数的值为 0,这意味着 cmdlet 使用服务器的默认超时值。

如果 OperationTimeoutSec 参数设置为小于可靠连接重试超时 3 分钟的值,则超过 OperationTimeoutSec 参数的值的网络故障不可恢复,因为服务器上的操作在客户端重新连接之前超时。

参数属性

类型:UInt32
默认值:None
支持通配符:False
不显示:False
别名:OT

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Port

指定用于此连接的远程计算机上的网络端口。 若要连接到远程计算机,远程计算机必须侦听连接使用的端口。 默认端口为 5985(用于 HTTP 的 WinRM 端口)和 5986(用于 HTTPS 的 WinRM 端口)。

在使用备用端口之前,必须在远程计算机上配置 WinRM 侦听器以侦听该端口。 使用以下命令配置侦听器:

winrm delete winrm/config/listener?Address=*+Transport=HTTP

winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number>"}

除非必须,否则不要使用 Port 参数。 命令中的端口设置适用于运行命令的所有计算机或会话。 备用端口设置可能会阻止命令在所有计算机上运行。

参数属性

类型:UInt32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-SessionOption

设置新 CIM 会话的高级选项。 输入使用 cmdlet 创建的 New-CimSessionOption 对象的名称。

参数属性

类型:CimSessionOptions
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-SkipTestConnection

默认情况下,New-CimSession cmdlet 出于两个原因与远程 WS-Management 终结点建立连接:验证远程服务器是否侦听使用 端口 参数指定的端口号,并验证指定的帐户凭据。 验证是使用标准 WS-Identity作完成的。 如果远程 WS-Management 终结点无法使用 WS-Identify 或减少一些数据传输时间,则可以添加 SkipTestConnection switch 参数。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

None

不能用管道将对象传送到此 cmdlet。

输出

CimSession

此 cmdlet 返回 CIM 会话对象。

备注

PowerShell 包含以下与 New-CimSession相关的别名:

  • 窗户:
    • ncms

此 cmdlet 仅在 Windows 平台上可用。