New-CimSession
创建 CIM 会话。
语法
New-CimSession
[-Authentication <PasswordAuthenticationMechanism>]
[[-Credential] <PSCredential>]
[[-ComputerName] <String[]>]
[-Name <String>]
[-OperationTimeoutSec <UInt32>]
[-SkipTestConnection]
[-Port <UInt32>]
[-SessionOption <CimSessionOptions>]
[<CommonParameters>]
New-CimSession
[-CertificateThumbprint <String>]
[[-ComputerName] <String[]>]
[-Name <String>]
[-OperationTimeoutSec <UInt32>]
[-SkipTestConnection]
[-Port <UInt32>]
[-SessionOption <CimSessionOptions>]
[<CommonParameters>]
说明
此 cmdlet 仅在 Windows 平台上可用。
cmdlet New-CimSession
创建 CIM 会话。 CIM 会话是表示与本地计算机或远程计算机的连接的客户端对象。 CIM 会话包含有关连接的信息,例如 ComputerName、使用的协议或各种标识符。
此 cmdlet 返回可由所有其他 CIM cmdlet 使用的 CIM 会话对象。
示例
示例 1:使用默认选项Create CIM 会话
此示例使用默认选项创建本地 CIM 会话。 如果未指定 ComputerName , New-CimSession
则创建与本地计算机的 DCOM 会话。
New-CimSession
示例 2:将 CIM 会话Create到特定计算机
此示例创建与 ComputerName 指定的计算机的 CIM 会话。
默认情况下, New-CimSession
在指定 ComputerName 时创建 WSMan 会话。
New-CimSession -ComputerName Server01
示例 3:将 CIM 会话Create到多台计算机
本示例在逗号分隔列表中,与 ComputerName 指定的每台计算机创建一个 CIM 会话。
New-CimSession -ComputerName Server01,Server02,Server03
示例 4:使用友好名称Create CIM 会话
本示例在逗号分隔列表中为 ComputerName 指定的每台计算机创建远程 CIM 会话,并通过指定 Name 为新会话分配友好 名称。
New-CimSession -ComputerName Server01,Server02 -Name FileServers
Get-CimSession -Name File*
可以使用 CIM 会话的友好名称来引用其他 CIM cmdlet 中的会话,例如 Get-CimSession。
示例 5:使用 PSCredential 对象将 CIM 会话Create到计算机
此示例使用 Credential 指定的 PSCredential 对象以及 Authentication 指定的身份验证类型,创建与 ComputerName 指定的计算机的 CIM 会话。
New-CimSession -ComputerName Server01 -Credential $cred -Authentication Negotiate
可以使用 cmdlet 创建 PSCredential 对象 Get-Credential
。
示例 6:使用特定端口将 CIM 会话Create到计算机
此示例使用 Port 指定的 TCP 端口创建与 ComputerName 指定的计算机的 CIM 会话。
New-CimSession -ComputerName Server01 -Port 1234
示例 7:使用 DCOM Create CIM 会话
此示例使用分布式 COM (DCOM) 协议而不是 WSMan 创建 CIM 会话。
$SessionOption = New-CimSessionOption -Protocol DCOM
New-CimSession -ComputerName Server1 -SessionOption $SessionOption
参数
-Authentication
指定用于用户凭据的身份验证类型。 此参数的可接受值为:
- Default
- 摘要
- Negotiate
- 基本
- Kerberos
- NtlmDomain
- CredSsp
不能使用 NtlmDomain 身份验证类型连接到本地计算机。 CredSSP 身份验证仅适用于 Windows Vista、Windows Server 2008 及更高版本的 Windows。
注意
凭据安全服务提供程序 (CredSSP) 身份验证适用于需要对多个资源进行身份验证的命令,例如访问远程网络共享。 此机制增加了远程操作的安全风险。 如果远程计算机的安全受到威胁,则传递给该计算机的凭据可用于控制网络会话。
Type: | PasswordAuthenticationMechanism |
Accepted values: | Default, Digest, Negotiate, Basic, Kerberos, NtlmDomain, CredSsp |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CertificateThumbprint
指定有权执行此操作的用户帐户 (X.509) 的数字公钥证书。 输入证书的证书指纹。
在基于客户端证书的身份验证中使用证书。 证书只能映射到本地用户帐户,而不适用于域帐户。
若要获取证书指纹,请使用 Get-Item
PowerShell 证书提供程序中的 或 Get-ChildItem
cmdlet。
有关详细信息,请参阅 about_Certificate_Provider。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerName
指定要创建 CIM 会话的计算机的名称。 指定单个计算机名称,或用逗号分隔的多个计算机名称。
如果未指定 ComputerName ,则会创建与本地计算机的 CIM 会话。 可以使用以下格式之一指定计算机名称的值:
- 一个或多个 NetBIOS 名称
- 一个或多个 IP 地址
- 一个或多个完全限定的域名。
如果计算机与用户位于不同的域中,则必须指定完全限定的域名。
Type: | String[] |
Aliases: | CN, ServerName |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Credential
指定有权执行此操作的用户帐户。 如果未指定 Credential ,则使用当前用户帐户。
使用以下格式之一指定 Credential 的值:
- 用户名:“User01”
- 域名和用户名:“Domain01\User01”
- 用户主体名称:“User@Domain.com”
- PSCredential 对象,例如 cmdlet 返回的对象
Get-Credential
。
如果键入用户名,则将提示你输入密码。
Type: | PSCredential |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
指定 CIM 会话的友好名称。
使用其他 cmdlet(如 Get-CimSession cmdlet)时,可以使用 名称来引用 CIM 会话。 对于计算机或当前会话,该名称无需是唯一的。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
cmdlet 等待服务器响应的持续时间。
默认情况下,此参数的值为 0,这意味着 cmdlet 使用服务器的默认超时值。
如果将 OperationTimeoutSec 参数设置为小于 3 分钟可靠连接重试超时的值,则持续超过 OperationTimeoutSec 参数值的网络故障不可恢复,因为服务器上的操作在客户端重新连接之前会超时。
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 参数。 命令中的端口设置适用于运行该命令的所有计算机或会话。 备用端口设置可能会阻止在所有计算机上运行该命令。
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SessionOption
设置新 CIM 会话的高级选项。 输入使用 New-CimSessionOption
cmdlet 创建的 CimSessionOption 对象的名称。
Type: | CimSessionOptions |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SkipTestConnection
默认情况下, New-CimSession
cmdlet 与远程 WS-Management 终结点建立连接有两个原因:验证远程服务器是否正在侦听使用 Port 参数指定的端口号,以及验证指定的帐户凭据。 验证是使用标准 WS-Identity 操作完成的。 如果远程 WS-Management 终结点无法使用 WS-Identify,或者为了减少一些数据传输时间,可以添加 SkipTestConnection 开关参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
输入
None
无法通过管道将对象传递给此 cmdlet。
输出
此 cmdlet 返回 CIM 会话对象。
备注
PowerShell 包含以下别名 New-CimSession
:
- Windows:
ncms
此 cmdlet 仅在 Windows 平台上可用。