[玩转系统] Connect-PSSession (Microsoft.PowerShell.Core)
作者:精品下载站 日期:2024-12-14 02:17:01 浏览:13 分类:玩电脑
Connect-PSSession (Microsoft.PowerShell.Core)
连接-PSSession
模块 :Microsoft.PowerShell.Core重新连接到断开连接的会话。
句法
Connect-PSSession
-Name <String[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-Session] <PSSession[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
-ComputerName <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
-ComputerName <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ConfigurationName <String>]
[-ConnectionUri] <Uri[]>
[-AllowRedirection]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ConfigurationName <String>]
[-ConnectionUri] <Uri[]>
[-AllowRedirection]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
-InstanceId <Guid[]>
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-PSSession
[-ThrottleLimit <Int32>]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
描述
此 cmdlet 仅适用于 Windows 平台。
Connect-PSSession
cmdlet 重新连接到已断开连接的用户管理的 PowerShell 会话 (PSSessions)。它适用于有意断开连接的会话,例如通过使用 Disconnect-PSSession
cmdlet 或 Invoke-Command
cmdlet 的 InDisconnectedSession 参数,以及那些意外断开的连接,例如由于暂时的网络中断。
Connect-PSSession
可以连接到由同一用户启动的任何断开连接的会话。其中包括那些由其他计算机上的其他会话启动或断开连接的会话。
但是,Connect-PSSession
无法连接到损坏或关闭的会话,或使用 Enter-PSSession
cmdlet 启动的交互式会话。此外,您无法将会话连接到其他用户启动的会话,除非您可以提供创建该会话的用户的凭据。
有关“断开连接的会话”功能的更多信息,请参阅 about_Remote_Disconnected_Sessions。
此 cmdlet 是在 Windows PowerShell 3.0 中引入的。
示例
示例 1:重新连接到会话
Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
4 ITTask Server01 Opened ITTasks Available
此命令重新连接到 Server01 计算机上的 ITTask
会话。
输出显示该命令成功。会话的状态为已打开
,可用性为可用
,这表示您可以在会话中运行命令会议。
示例 2:断开连接和重新连接的效果
Get-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Opened Microsoft.PowerShell Available
Get-PSSession | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Disconnected Microsoft.PowerShell None
Get-PSSession | Connect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backups Localhost Opened Microsoft.PowerShell Available
此示例显示断开连接然后重新连接到会话的效果。
第一个命令使用 Get-PSSession
cmdlet。如果没有 ComputerName 参数,该命令将仅获取在当前会话中创建的会话。
输出显示该命令获取本地计算机上的 Backups
会话。会话的状态为已打开
,可用性为可用
。
第二个命令使用 Get-PSSession
cmdlet 获取在当前会话中创建的 PSSession 对象,并使用 Disconnect-PSSession
cmdlet 断开连接会议。输出显示 Backups
会话已断开连接。会话的状态为已断开
,可用性为无
。
第三条命令使用 Get-PSSession
cmdlet 获取在当前会话中创建的 PSSession 对象,并使用 Connect-PSSession
cmdlet 重新连接会议。输出显示 Backups
会话已重新连接。会话的状态为已打开
,可用性为可用
。
如果在未断开连接的会话上使用 Connect-PSSession
cmdlet,则该命令不会影响该会话,也不会生成任何错误。
示例3:企业场景中的一系列命令
这一系列命令展示了如何在企业场景中使用 Connect-PSSession
cmdlet。在这种情况下,系统管理员在远程计算机上的会话中启动长时间运行的作业。开始作业后,管理员断开与会话的连接并回家。当天晚上晚些时候,管理员登录到她的家庭计算机并验证该作业是否运行直至完成。
管理员首先在远程计算机上创建会话并在会话中运行脚本。第一个命令使用 New-PSSession
cmdlet 在 Server01 上创建 ITTask
会话远程计算机。该命令使用 ConfigurationName 参数指定 ITTasks
会话配置。该命令将会话保存在 $s
变量中。
第二个命令 Invoke-Command
cmdlet 用于在 $s
变量中的会话中启动后台作业。它使用 FilePath 参数在后台作业中运行脚本。
第三条命令使用 Disconnect-PSSession
cmdlet 断开与 $s
变量中的会话的连接。该命令使用值为 Drop
的 OutputBufferingMode 参数来防止脚本因必须将输出传递到会话而被阻止。它使用 IdleTimeoutSec 参数将会话超时延长至 15 小时。命令完成后,管理员锁定计算机并晚上回家。
当天晚上晚些时候,管理员启动她的家庭计算机,登录到公司网络,然后启动 PowerShell。第四条命令使用 Get-PSSession
cmdlet 获取 Server01 计算机上的会话。该命令查找 ITTask
会话。第五个命令使用 Connect-PSSession
cmdlet 连接到 ITTask
会话。该命令将会话保存在 $s
变量中。
第六个命令使用 Invoke-Command
cmdlet 在会话中的 $s
变量中运行 Get-Job
命令。输出显示作业已成功完成。第七条命令使用 Invoke-Command
cmdlet 在 $sReceive-Job
命令/code> 会话中的变量。该命令将结果保存在 $BackupSpecs
变量中。第八个命令使用 Invoke-Command
cmdlet 在会话中运行另一个脚本。该命令使用会话中 $BackupSpecs
变量的值作为脚本的输入。
$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
Invoke-Command -Session $s -ScriptBlock {Start-Job -FilePath \Server30\Scripts\Backup-SQLDatabase.ps1}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Running True Server01 \Server30\Scripts\Backup...
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
Get-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
$s = Connect-PSSession -ComputerName Server01 -Name ITTask
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Opened ITTasks Available
Invoke-Command -Session $s -ScriptBlock {Get-Job}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 Job2 Completed True Server01 \Server30\Scripts\Backup...
Invoke-Command -Session $s -ScriptBlock {$BackupSpecs = Receive-Job -JobName Job2}
Invoke-Command -Session $s -ScriptBlock {\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
第 9 个命令在 $s
变量中断开与会话的连接。管理员关闭 PowerShell 并关闭计算机。她可以在第二天重新连接到会话并从工作计算机检查脚本状态。
参数
-AllowRedirection
指示此 cmdlet 允许将此连接重定向到备用 URI。
当您使用 ConnectionURI 参数时,远程目标可以返回重定向到不同 URI 的指令。默认情况下,PowerShell 不重定向连接,但您可以使用此参数允许它重定向连接。
您还可以通过更改 MaximumConnectionRedirectionCount 会话选项值来限制连接重定向的次数。使用 New-PSSessionOption
cmdlet 的 MaximumRedirection 参数或设置 $PSSessionOption 首选项变量的 MaximumConnectionRedirectionCount 属性。默认值为5
。
SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ApplicationName
指定应用程序的名称。此 cmdlet 仅连接到使用指定应用程序的会话。
输入连接 URI 的应用程序名称段。例如,在以下连接 URI 中,应用程序名称为 WSMan:http://localhost:5985/WSMAN
。会话的应用程序名称存储在会话的 Runspace.ConnectionInfo.AppName 属性中。
该参数的值用于选择和过滤会话。它不会更改会话使用的应用程序。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:True
接受通配符:False
-Authentication
指定用于在重新连接到断开连接的会话的命令中验证用户凭据的机制。该参数可接受的值为:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
默认值为默认
。
有关此参数值的更多信息,请参阅 AuthenticationMechanism 枚举。
警告
凭据安全支持提供程序 (CredSSP) 身份验证将用户的凭据传递到远程计算机进行身份验证,专为需要对多个资源进行身份验证的命令(例如访问远程网络共享)而设计。这种机制增加了远程操作的安全风险。如果远程计算机受到威胁,则传递给它的凭据可用于控制网络会话。
类型 :AuthenticationMechanism
接受的值:默认、基本、协商、NegotiateWithImplicitCredential、Credssp、摘要、Kerberos
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-CertificateThumbprint
指定有权连接到已断开连接的会话的用户帐户的数字公钥证书 (X509)。输入证书的证书指纹。
证书用于基于客户端证书的身份验证。它们只能映射到本地用户帐户。它们不适用于域帐户。
要获取证书指纹,请在 PowerShell Cert:
驱动器中使用 Get-Item
或 Get-ChildItem
命令。
String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ComputerName
指定存储断开连接的会话的计算机。会话存储在服务器端或连接接收端的计算机上。默认为本地计算机。
键入一台计算机的 NetBIOS 名称、IP 地址或完全限定域名。不允许使用通配符。要指定本地计算机,请键入计算机名称、localhost
或点 (.
)
String[]
别名:Cn
位置:命名
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-ConfigurationName
仅连接到使用指定会话配置的会话。
输入会话配置的配置名称或完全限定的资源 URI。如果仅指定配置名称,则会在前面添加以下架构 URI:http://schemas.microsoft.com/powershell
。会话的配置名称存储在会话的 ConfigurationName 属性中。
该参数的值用于选择和过滤会话。它不会更改会话使用的会话配置。
有关会话配置的更多信息,请参阅 about_Session_Configurations。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:True
接受通配符:False
-Confirm
在运行 cmdlet 之前提示您进行确认。
类型 :SwitchParameter
别名:cf
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-ConnectionUri
指定断开连接的会话的连接端点的 URI。
URI 必须是完全限定的。该字符串的格式如下:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
默认值如下:
http://localhost:5985/WSMAN
如果不指定连接 URI,则可以使用 UseSSL 和 Port 参数指定连接 URI 值。
URI 的传输段的有效值为HTTP 和HTTPS。如果您指定带有传输段的连接 URI,但未指定端口,则会使用标准端口创建会话:80
(对于 HTTP)和 443
(对于 HTTPS)。要使用 PowerShell 远程处理的默认端口,请为 HTTP 指定端口 5985
或为 HTTPS 指定端口 5986
。
如果目标计算机将连接重定向到其他 URI,PowerShell 将阻止重定向,除非您在命令中使用 AllowRedirection 参数。
类型 :乌里[]
别名:URI, CU
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-Credential
指定有权连接到已断开连接的会话的用户帐户。默认为当前用户。
输入用户名,例如 User01
或 Domain01\User01
,或输入由 Get-Credential
生成的 PSCredential 对象> cmdlet。如果您键入用户名,系统会提示您输入密码。
凭证存储在 PSCredential 对象中,密码存储为 SecureString。
笔记
有关 SecureString 数据保护的更多信息,请参阅 SecureString 的安全性如何?。
类型 :PS凭证
位置:命名
默认值:当前用户
必需的:False
接受管道输入:False
接受通配符:False
-Id
指定已断开连接的会话的 ID。仅当断开连接的会话之前连接到当前会话时,Id 参数才起作用。
当会话存储在本地计算机上,但未连接到当前会话时,此参数有效,但无效。
类型 :Int32[]
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-InstanceId
指定断开连接的会话的实例ID。
实例 ID 是唯一标识本地或远程计算机上的 PSSession 的 GUID。
实例 ID 存储在 PSSession 的 InstanceID 属性中。
类型 :指导[]
位置:命名
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-Name
指定断开连接的会话的友好名称。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Port
指定远程计算机上用于重新连接到会话的网络端口。要连接到远程计算机,远程计算机必须侦听连接使用的端口。默认端口为 5985
(HTTP 的 WinRM 端口)和 5986
(HTTPS 的 WinRM 端口)。
在使用备用端口之前,必须将远程计算机上的 WinRM 侦听器配置为侦听该端口。要配置侦听器,请在 PowerShell 提示符下键入以下两个命令:
Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse
New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>
除非必须,否则不要使用端口参数。命令中设置的端口适用于运行该命令的所有计算机或会话。备用端口设置可能会阻止该命令在所有计算机上运行。
类型 :整数32
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Session
指定断开连接的会话。输入包含 PSSession 对象的变量或创建或获取 PSSession 对象的命令,例如 Get-PSSession
命令。
PS会话[]
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-SessionOption
指定会话的高级选项。输入 SessionOption 对象,例如使用 New-PSSessionOption
cmdlet 创建的对象,或者一个哈希表,其中键是会话选项名称,值是会话选项值。
选项的默认值由 $PSSessionOption
首选项变量(如果已设置)的值确定。否则,默认值由会话配置中设置的选项建立。
会话选项值优先于 $PSSessionOption
首选项变量和会话配置中设置的会话默认值。但是,它们并不优先于会话配置中设置的最大值、配额或限制。
有关包含默认值的会话选项的说明,请参阅New-PSSessionOption
。有关 $PSSessionOption 首选项变量的信息,请参阅 about_Preference_Variables。有关会话配置的更多信息,请参阅 about_Session_Configurations。
PS会话选项
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ThrottleLimit
指定可以建立运行此命令的最大并发连接数。如果省略此参数或输入值 0
,则使用默认值 32
。
限制仅适用于当前命令,不适用于会话或计算机。
类型 :整数32
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-UseSSL
指示此 cmdlet 使用安全套接字层 (SSL) 协议连接到断开连接的会话。默认情况下,不使用 SSL。
WS-Management 对通过网络传输的所有 PowerShell 内容进行加密。 UseSSL 参数是一种附加保护,可通过 HTTPS 连接而不是 HTTP 连接发送数据。
如果使用此参数,但 SSL 在用于该命令的端口上不可用,则该命令将失败。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
类型 :SwitchParameter
别名:wi
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
输入
PS会话
您可以通过管道将会话 (PSSession) 连接到此 cmdlet。
输出
PS会话
此 cmdlet 返回一个对象,该对象表示它重新连接到的会话。
笔记
PowerShell 包含以下 Connect-PSSession
别名:
Windows:
cnsn
此 cmdlet 仅适用于 Windows 平台。
Connect-PSSession
仅重新连接到已断开连接的会话,即 State 属性值为 Disconnected 的会话。只有连接到或结束于运行 Windows PowerShell 3.0 或更高版本的计算机的会话才能断开连接并重新连接。
如果您在未断开连接的会话上使用 Connect-PSSession,则该命令不会影响会话,也不会生成错误。
使用 EnableNetworkAccess 参数创建的具有交互式令牌的已断开环回会话只能从创建会话的计算机重新连接。此限制可保护计算机免受恶意访问。
PSSession 的 State 属性值与当前会话相关。因此,值 Disconnected 表示 PSSession 未连接到当前会话。但是,这并不意味着 PSSession 与所有会话断开连接。它可能连接到不同的会话。要确定是否可以连接或重新连接到会话,请使用可用性属性。
Availability 值为 None 表示您可以连接到会话。 Busy 值表示您无法连接到 PSSession,因为它已连接到另一个会话。
有关会话的 State 属性值的详细信息,请参阅 RunspaceState 枚举。
有关会话的 Availability 属性值的详细信息,请参阅 RunspaceAvailability 枚举。
当您连接到 PSSession 时,您无法更改 PSSession 的空闲超时值。 Connect-PSSession
的 SessionOption 参数采用具有 IdleTimeout 值的 SessionOption 对象。但是,连接时将忽略 SessionOption 对象的 IdleTimeout 值和 $PSSessionOption
变量的 IdleTimeout 值到 PSSession。
您可以在创建 PSSession 时使用 New-PSSession
或 设置和更改 PSSession 的空闲超时Invoke-Command
cmdlet,以及当您与 PSSession 断开连接时。
PSSession 的 IdleTimeout 属性对于断开连接的会话至关重要,因为它决定断开连接的会话在远程计算机上维持多长时间。断开连接的会话从断开连接的那一刻起就被视为空闲,即使命令正在断开连接的会话中运行。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag