Connect-PSSession

重新連接斷線的會話。

語法

Name (預設值)

Connect-PSSession
    -Name <String[]>
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Session

Connect-PSSession
    [-Session] <PSSession[]>
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ComputerNameGuid

Connect-PSSession
    -ComputerName <String[]>
    -InstanceId <Guid[]>
    [-ApplicationName <String>]
    [-ConfigurationName <String>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-Port <Int32>]
    [-UseSSL]
    [-SessionOption <PSSessionOption>]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ComputerName

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>]

ConnectionUriGuid

Connect-PSSession
    [-ConnectionUri] <Uri[]>
    -InstanceId <Guid[]>
    [-ConfigurationName <String>]
    [-AllowRedirection]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-SessionOption <PSSessionOption>]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ConnectionUri

Connect-PSSession
    [-ConnectionUri] <Uri[]>
    [-ConfigurationName <String>]
    [-AllowRedirection]
    [-Name <String[]>]
    [-Credential <PSCredential>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [-SessionOption <PSSessionOption>]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceId

Connect-PSSession
    -InstanceId <Guid[]>
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Id

Connect-PSSession
    [-Id] <Int32[]>
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

此 Cmdlet 只能在 Windows 平臺上使用。

指令 Connect-PSSession 長會重新連接到已斷線的使用者管理的 PowerShell 會話(PSSessions)。 它適用於故意斷線的會話,例如使用 Disconnect-PSSession 指令長的 cmdlet 或 InDisconnectedSession 參數 Invoke-Command ,以及因暫時性網路中斷而非故意斷線的會話。

Connect-PSSession 可以連接到同一使用者啟動的任何斷線會話。 這些包括由其他電腦上其他工作階段啟動或斷開的會議。

然而,無法 Connect-PSSession 連接破損或封閉的會話,或使用 Enter-PSSession 指令碼開始的互動式會話。 此外,除非你能提供建立該會話的使用者憑證,否則你無法將會話連接到其他使用者啟動的會話。

如需有關斷線會話功能的更多資訊,請參閱 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

輸出顯示指令成功。 會話狀態是Opened,可用性是 Available,表示你可以在會話中執行指令。

範例 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 本地電腦的會話。 會話的狀態為 Opened ,可用性為 。Available

第二個指令使用 Get-PSSession cmdlet 取得目前會話中建立的 PSSession 物件,並用 Disconnect-PSSession cmdlet 斷開會話。 輸出顯示會 Backups 話已斷線。 會話的狀態為 Disconnected ,可用性為 。None

第三個指令使用 Get-PSSession cmdlet 取得當前會話中建立的 PSSession 物件,並用 Connect-PSSession cmdlet 重新連接會話。 輸出顯示會 Backups 話已重新連接。 會話的狀態為 Opened ,可用性為 。Available

如果你在一個沒有斷線的會話中使用 Connect-PSSession cmdlet,這個指令不會影響會話,也不會產生任何錯誤。

範例 3:企業情境中的一連串指令

這一系列指令展示了 cmdlet 在 Connect-PSSession 企業情境中的應用方式。 在這種情況下,系統管理員會在遠端電腦的會話中啟動一個長期執行的工作。 工作開始後,管理員會斷開連線並回家。 當晚稍晚,管理員登入家中電腦確認工作已執行直到完成。

管理員首先在遠端電腦建立會話,並在會話中執行腳本。第一個指令使用 New-PSSession cmdlet 在 Server01 遠端電腦上建立 ITTask 會話。 此指令使用 ConfigurationName 參數來指定會話設定。ITTasks 指令會將會話儲存在變數中 $s 。

第二個指令 Invoke-Command cmdlet 用來在變數的 $s session 中啟動背景工作。 它使用 FilePath 參數在背景工作中執行腳本。

第三個指令是利用 Disconnect-PSSession cmdlet 在變數中斷開會話 $s 的連線。 指令使用 OutputBufferingMode 參數, Drop 值為 ,以防止腳本因必須將輸出傳送到會話而被阻塞。 它使用 IdleTimeoutSec 參數將會話逾時延長至 15 小時。 指令完成後,管理員會鎖上電腦,回家休息。

當晚稍晚,管理員啟動家用電腦,登入企業網路並啟動 PowerShell。 第四個指令使用 Get-PSSession cmdlet 來取得 Server01 電腦上的會話。 指令會找到該會話。ITTask 第五個指令使用Connect-PSSession指令碼(cmdlet)連接至會話。ITTask 指令會將工作階段儲存在變數中 $s 。

第六個指令使用 Invoke-Command cmdlet 在變數中的會話Get-Job中執行$s指令。 輸出結果顯示工作成功完成。第七個指令使用 Invoke-Command cmdlet 在會話Receive-Job中的變數中執行$s指令。 指令會將結果儲存在變數中 $BackupSpecs 。第八個指令使用 Invoke-Command 該指令碼在會話中執行另一個腳本。 指令會使用會話中變數的值 $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

第九個指令會在變數中斷開會話 $s 。 管理員關閉 PowerShell 並關閉電腦。 她隔天可以重新連線會話,並從工作電腦查看腳本狀態。

參數

-AllowRedirection

表示此 cmdlet 允許將此連線重定向至其他 URI。

當您使用 ConnectionURI 參數時,遠端目的地可以傳回指示以重新導向至不同的 URI。 預設情況下,PowerShell 不會重新導向連線,但你可以利用這個參數讓它重新導向連線。

您也可以變更 MaximumConnectionRedirectionCount 會話選項值,來限制重新導向連線的次數。 使用 Cmdlet 的 New-PSSessionOption 參數,或設定 $PSSessionOption 喜好設定變數的 MaximumConnectionRedirectionCount 属性。 預設值為 5。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ConnectionUriGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ApplicationName

指定應用程式名稱。 此指令只連接使用指定應用程式的會話。

輸入連接 URI 的應用程式名稱區段。 例如,在以下連線 URI 中,應用程式名稱為 WSMan: http://localhost:5985/WSMAN。 會話的應用程式名稱會儲存在該會話的 Runspace.ConnectionInfo.AppName 屬性中。

此參數的值用於選擇與篩選會話。 它不會改變該會話所使用的應用程式。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Authentication

指定用於重新連接斷線會話指令中驗證使用者憑證的機制。 此參數可接受的值為:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

預設值為 Default。

如需此參數值的詳細資訊,請參閱 AuthenticationMechanism 列舉。

Caution

認證安全性支援提供者(CredSSP)驗證的設計目的是將使用者的認證傳遞給遠端電腦進行認證,適用於需要在多個資源上進行驗證的命令,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。

參數屬性

類型:AuthenticationMechanism
預設值:None
接受的值:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUriGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-CertificateThumbprint

指定具有權限將斷線會話重新連線之用戶帳戶的數位公鑰憑證(X509)。 輸入憑證的指紋。

憑證用於客戶端憑證型驗證。 它們只能映射到本地使用者帳號。 他們不支援網域帳號。

要取得憑證的指紋,請在 PowerShell Get-Item 磁碟機中使用 a Get-ChildItem 或 Cert: 指令。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUriGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ComputerName

指定存放斷線會話的電腦。 會話儲存在連線伺服器端或接收端的電腦上。 預設值為本機電腦。

輸入 NetBIOS 名稱、IP 位址,或是一台電腦的完整限定網域名稱。 不允許使用萬用字元。 若要指定本地電腦,請輸入電腦名稱, localhost或點(.)

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:Cn

參數集

ComputerNameGuid
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ConfigurationName

僅連接使用指定會話設定的會話。

輸入工作階段組態的組態名稱或完整限定資源URI。 如果您只指定組態名稱,則前面會加上下列架構 URI:http://schemas.microsoft.com/powershell。 會話的組態名稱會儲存在會話的 ConfigurationName 屬性中。

此參數的值用於選擇與篩選會話。 它不會改變該會話所使用的會話設定。

如需工作階段組態的詳細資訊,請參閱 about_Session_Configurations。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ConnectionUriGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:參見

參數集

(All)
Position:Named
必要: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 和 HTTPS 的 443。 若要使用 PowerShell 遠端處理的預設埠,請針對 HTTP 指定埠 5985 或針對 HTTPS 指定 5986。

如果目的地計算機將連線重新導向至不同的 URI,除非您在命令中使用 AllowRedirection 參數,否則 PowerShell 會防止重新導向。

參數屬性

類型:

Uri[]

預設值:None
支援萬用字元:False
不要顯示:False
別名:URI, CU

參數集

ConnectionUriGuid
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False
ConnectionUri
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Credential

指定一個有權限連接到已斷線會話的使用者帳號。 預設值為目前的使用者。

輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入由 cmdlet 產生的 Get-Credential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。

認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。

Note

如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。

參數屬性

類型:PSCredential
預設值:Current user
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUriGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Id

指定斷線會話的 ID。 Id 參數僅在斷線會話先前連接至當前會話時有效。

當會話儲存在本地電腦上,但未連接到目前會話時,此參數有效但無效。

參數屬性

類型:

Int32[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

Id
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-InstanceId

指定斷開會話的實例 ID。

實例 ID 是一個 GUID,用來唯一識別本地或遠端電腦上的 PSSession 。

實例 ID 會儲存在 PSSession 的 InstanceId 屬性中。

參數屬性

類型:

Guid[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUriGuid
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
InstanceId
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Name

指定分離會話的友好名稱。

參數屬性

類型:

String[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

Name
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值: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\>

除非您必須,否則請勿使用 Port 參數。 命令中設定的埠會套用至命令執行所在的所有計算機或會話。 替代埠設定可能會防止命令在所有計算機上執行。

參數屬性

類型:Int32
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Session

指定斷開的會話。 輸入包含 PSSession 物件的變數,或是建立或取得 PSSession 物件的指令,例如 Get-PSSession 指令。

參數屬性

類型:

PSSession[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

Session
Position:0
必要:True
來自管線的值:True
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-SessionOption

指定工作階段的進階選項。 輸入 SessionOption 物件,例如您使用 New-PSSessionOption Cmdlet 建立的物件,或是鍵為工作階段選項名稱、值為工作階段選項值的哈希表。

如果設定選項,選項的預設值取決於 $PSSessionOption 喜好設定變數的值。 否則,預設值是由會話組態中設定的選項所建立。

會話選項值優先於 $PSSessionOption 喜好設定變數和會話組態中設定的會話預設值。 不過,它們不會優先於會話設定中設定的最大值、配額或限制。

包含預設值的會話選項描述,請參閱 New-PSSessionOption。 關於 $PSSessionOption 偏好變數的資訊,請參見 about_Preference_Variables。 如需工作階段組態的詳細資訊,請參閱 about_Session_Configurations。

參數屬性

類型:PSSessionOption
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUriGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ConnectionUri
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ThrottleLimit

指定可以建立以執行此命令的並行連線數目上限。 若省略此參數或輸入 的 0值,則使用預設值 32。

節流限制僅適用於目前的命令,不適用於會話或計算機。

參數屬性

類型:Int32
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-UseSSL

表示此指令小程式使用安全套接層(SSL)協定連接已斷線的會話。 根據預設,不會使用 SSL。

WS-Management 會加密透過網路傳輸的所有PowerShell內容。 UseSSL 參數是額外的保護,可跨 HTTPS 連線傳送數據,而不是 HTTP 連線。

如果您使用此參數,但在用於命令的埠上無法使用 SSL,則命令會失敗。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

ComputerNameGuid
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False
ComputerName
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False
別名:威斯康辛

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。

輸入

PSSession

你可以將一個 session (PSSession) 傳入這個 cmdlet。

輸出

PSSession

此 cmdlet 回傳一個物件,代表它重新連接的會話。

備註

PowerShell 包含下列 Connect-PSSession的別名:

  • 窗戶:

    • cnsn
  • 此 Cmdlet 僅適用於 Windows 平臺。

  • Connect-PSSession 僅重新連接至斷開的會話,即 狀態屬性值 為 Disconnected 的會話。 只有連接到或終止於運行 Windows PowerShell 3.0 或更新版本電腦的會話,才能斷開並重新連接。

  • 如果你在未斷線的會話中使用 Connect-PSSession ,這個指令不會影響會話,也不會產生錯誤。

  • 使用啟用 EnableNetworkAccess 參數建立的已斷開迴圈回環會話,且有互動權杖,只能從建立該會話的電腦重新連接。 此限制保護電腦免受惡意存取。

  • PSSession 的狀態屬性價值相對於當前會話而言。 因此,值 為「斷線 」表示 PSSession 與當前會話不相關。 然而,這並不代表 PSSession 與所有會議都斷開。 它可能會連線到不同的工作階段。 若要判斷您是否可以連線或重新連線到會話,請使用 Availability 屬性。

    「 可用性 」值為「無」表示你可以連接該會話。 「忙碌」的值表示你無法連接到 PSSession ,因為它已經連接到另一個會話。

    欲了解更多關於會話 狀態 屬性值的資訊,請參閱 RunspaceState Enumeration。

    欲了解更多關於會話 可用性屬性值 的資訊,請參閱 RunspaceAvailability 列舉。

  • 當你連接到 PSSession 時,無法更改其閒置超時值。 SessionOptionConnect-PSSession 參數會取一個具有 IdleTimeout 值的 SessionOption 物件。 然而,連接 PSSession 時,SessionOption 物件的 IdleTimeout 值與變數的 $PSSessionOptionIdleTimeout 值會被忽略。

    你可以在建立 PSSession 時,透過 or 指令(cmdletNew-PSSession)來設定和更改 Invoke-Command 的閒置時間,以及當你從 PSSession 斷線時。

    PSSession 的 IdleTimeout 特性對於斷線會話至關重要,因為它決定了斷線會話在遠端電腦上維持多久。 斷線會話從斷線的那一刻起即被視為閒置,即使指令正在執行。