about_Remote_Disconnected_Sessions

適用於: Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

主題

about_Remote_Disconnected_Session

簡短描述

說明如何從 PSSession 中斷連線後再重新連線到 PSSession

詳細描述

從 Windows PowerShell® 3.0 開始,PSSession 中斷連線之後,您可以稍後再於同一部電腦或另一部電腦上重新連線到 PSSession。會維持工作階段狀態,且 PSSession 中的命令會在工作階段中斷連線時繼續執行。

中斷連線工作階段的功能只有在遠端連線的電腦是執行 Windows PowerShell 3.0 或更新版本的 Windows PowerShell 時才可以使用。

中斷連線工作階段功能可讓您關閉在其中建立 PSSession 的工作階段,甚至是關閉 Windows PowerShell 並關閉電腦,而不會中斷 PSSession 中執行的命令。它特別適用於執行需要較久時間才能完成的命令,並提供 IT 專業人員需要的時間和裝置彈性。

注意:您無法從透過使用 Enter-PSSession Cmdlet 啟動的互動式工作階段中斷連線。

您可以使用中斷連線工作階段來管理因為電腦或網路中斷而意外中斷連線的 PSSession。

在真實世界中,中斷連線工作階段功能可讓您開始解決問題、將注意力集中在優先順序較高的問題,然後繼續執行解決方案,甚至是在不同位置的不同電腦上。

中斷連線工作階段 CMDLET

下列 Cmdlet 支援中斷連線工作階段功能:

  • Disconnect-PSSession:

    中斷連線 PSSession。

  • Connect-PSSession:

    連線到中斷連線的 PSSession。

  • Receive-PSSession:

    取得在中斷連線工作階段中執行的命令結果。

  • Get-PSSession:

    在本機電腦或遠端電腦上取得 PSSession。

  • Invoke-Command:

    InDisconnectedSession 參數會建立 PSSession,並且立即中斷連線。

中斷連線工作階段功能的運作方式

從 Windows PowerShell 3.0 開始,PSSession 與建立所在的工作階段無關。即使 PSSession 建立所在的工作階段已關閉且原始電腦關機或從網路中斷連線,作用中 PSSession 會維持在連線的遠端電腦或「伺服器端」上。

在 Windows PowerShell 2.0 中,當 PSSession 從原始工作階段中斷連線或它建立所在的工作階段結束時,就會從遠端電腦刪除。

當您中斷連線 PSSession 時,PSSession 會保持作用中並且維持在遠端電腦上。工作階段狀態從 Running 變更為 Disconnected。您可以從目前的工作階段或相同電腦上的不同工作階段,或從另一部電腦重新連線到中斷連線的 PSSession。維護工作階段的遠端電腦必須在執行中並且連線到網路。

中斷連線的 PSSession 的命令會不受干擾地繼續在遠端電腦上執行,直到命令完成或輸出緩衝區填滿為止。若要防止填滿的輸出緩衝區暫止命令,請使用 Disconnect-PSSession、New-PSSessionOption 或 New-PSTransportOption Cmdlet 的 OutputBufferingMode 參數。

中斷連線工作階段會在遠端電腦上維持中斷連線狀態。像是透過 Remove-PSSession Cmdlet,或等到 PSSession 的閒置逾時到期等這些方式都可以讓您在刪除 PSSession 前進行重新連線。您可以使用 Disconnect-PSSession、New-PSSessionOption 或 New-PSTransportOption Cmdlet 的 IdleTimeoutSec 或 IdleTimeout 參數,調整 PSSession 的閒置逾時。

另一位使用者可以連線到您建立的 PSSession,前提是他們可以提供用來建立工作階段的認證,或使用工作階段設定的 RunAs 認證。

如何取得 PSSESSION

從 Windows PowerShell 3.0 開始,Get-PSSession Cmdlet 會取得本機電腦和遠端電腦上的 PSSession。它也可以取得目前工作階段中建立的 PSSession。

若要取得本機電腦或遠端電腦上的 PSsession,使用 ComputerName 或 ConnectionUri 參數。如果未使用參數,Get-PSSession 會取得在本機工作階段中建立的 PSSession,不論其是否終止。

取得 PSSession 時,請記得在維護它們的電腦上尋找它們,也就是遠端或「伺服器端」的電腦。

例如,如果您將 PSSession 建立至 Server01 電腦,請從 Server01 電腦取得工作階段。如果您是從另一部電腦將 PSSession 建立至本機電腦,請從本機電腦取得工作階段。

下列命令序列會顯示 Get-PSSession 的運作方式。

第一個命令會將工作階段建立至 Server01 電腦。工作階段位於 Server01 電腦上。

      PS C:\ps-test> New-PSSession -ComputerName Server01

      Id Name            ComputerName    State         ConfigurationName     Availability
      -- ----            ------------    -----         -----------------     ------------
       2 Session2        Server01        Opened        Microsoft.PowerShell     Available

若要取得工作階段,使用 Get-PSSession 的 ComputerName 參數,值為 Server01。

      PS C:\ps-test> Get-PSSession -ComputerName Server01

      Id Name            ComputerName    State         ConfigurationName     Availability
      -- ----            ------------    -----         -----------------     ------------
       2 Session2        Server01        Opened        Microsoft.PowerShell     Available

如果 Get-PSSession 的 ComputerName 參數值為 localhost,Get-PSSession 會取得在本機電腦上終止與維護的 PSSession。它不會取得 Server01 電腦上的 PSSession,即使它們是在本機電腦上啟動。

      PS C:\ps-test> Get-PSSession -ComputerName localhost
      PS C:\ps-test>

若要取得在目前工作階段中建立的工作階段,請使用沒有參數的 Get-PSSession Cmdlet。此命令會取得在目前工作階段建立並連線至 Server01 電腦的 PSSession。

PS C:\ps-test> Get-PSSession

      Id Name            ComputerName    State         ConfigurationName     Availability
      -- ----            ------------    -----         -----------------     ------------
       2 Session2        Server01        Opened        Microsoft.PowerShell     Available

如何中斷連線工作階段

若要中斷連線 PSSession,請使用 Disconnect-PSSession Cmdlet。若要識別 PSSession,使用工作階段參數或從 New-PSSession 或 Get-PSSession Cmdlet 將 PSSession 輸送至 Disconnect-PSSession。

下列命令會中斷 PSSession 與 Server01 電腦的連線。請注意,State 屬性的值是 Disconnected 且 Availability 是 None。

     PS C:\> Get-PSSession -ComputerName Server01 | Disconnect-PSSession

     Id Name            ComputerName    State         ConfigurationName     Availability
     -- ----            ------------    -----         -----------------     ------------
      2 Session2        Server01        Disconnected  Microsoft.PowerShell          None

若要建立中斷連線的工作階段,使用 Invoke-Command Cmdlet 的 InDisconnectedSession 參數。它會在命令可以傳回任何輸出之前建立工作階段、啟動命令和立即中斷連線。

下列命令會在 Server02 遠端電腦上的中斷連線工作階段中執行 Get-WinEvent 命令。

     PS C:\> Invoke-Command -ComputerName Server02 -InDisconnectedSession `
             -ScriptBlock {Get-WinEvent -LogName "Windows PowerShell"} 

     Id Name            ComputerName    State         ConfigurationName     Availability
     -- ----            ------------    -----         -----------------     ------------
      4 Session3        Server02        Disconnected  Microsoft.PowerShell          None

如何連線到中斷連線工作階段

您可以從您建立 PSSession 所在的工作階段或本機電腦或其他電腦上的其他工作階段,連線到任何可用的中斷連線 PSSession。

您可以建立 PSSession、在 PSSession 中執行命令、從 PSSession 中斷連線、關閉 Windows PowerShell 並關閉電腦。數小時之後,您可以開啟另一部電腦、取得 PSSession、進行連線,並取得當 PSSession 中斷連線時在其中執行的命令結果。然後您可以在工作階段中執行多個命令。

若要連線已中斷連線的 PSSession,使用 Connect-PSSession Cmdlet。使用 ComputerName 或 ConnectionUri 參數來識別 PSSession,或從 Get-PSSession 將 PSSession 輸送到 Connect-PSSession。

下列命令會取得 Server02 電腦上的工作階段。輸出包括兩個中斷連線工作階段,兩者都可用。

     PS C:\> Get-PSSession -ComputerName Server02

     Id Name            ComputerName    State         ConfigurationName     Availability
     -- ----            ------------    -----         -----------------     ------------
      2 Session2        juneb-srv8320   Disconnected  Microsoft.PowerShell          None
      4 Session3        juneb-srv8320   Disconnected  Microsoft.PowerShell          None

下列命令會連線到 Session2。PSSession 現已開啟且可用。

     PS C:> Connect-PSSession -ComputerName Server02 -Name Session2


     Id Name            ComputerName    State         ConfigurationName     Availability
     -- ----            ------------    -----         -----------------     ------------
      2 Session2        juneb-srv8320   Opened        Microsoft.PowerShell     Available

如何取得結果

若要取得在中斷連線的 PSSession 中執行的命令結果,請使用 Receive-PSSession Cmdlet。

除了使用 Connect-PSSession Cmdlet 之外,您還可以使用或是改用 Receive-PSSession。若工作階段已重新連線,則 Receive-PSSession 可針對工作階段中斷連線時所執行的命令,而取得其結果。如果 PSSession 仍然中斷連線,Receive-PSSession 會連線然後取得當它中斷連線時執行的命令結果。

Receive-PSSession 會傳回工作的結果 (非同步) 或將結果傳回至主機程式 (同步)。使用 OutTarget 參數來選取工作或主機。主機是預設值。不過,如果已收到的命令已在目前的工作階段中啟動做為工作,依預設會傳回工作。

下列命令會使用 Receive-PSSession Cmdlet 連線到 Server02 電腦上的 PSSession,並取得在 Session3 工作階段中執行的 Get-Winevent 命令的結果。此命令會使用 OutTarget 參數以取得工作中的結果。

      PS C:\> Receive-PSSession  -ComputerName Server02 -Name Session3 -OutTarget Job

      Id     Name            PSJobTypeName   State         HasMoreData     Location
      --     ----            -------------   -----         -----------     --------
      3      Job3            RemoteJob       Running       True            Server02

若要取得工作的結果,請使用 Receive-Job Cmdlet。

      PS C:\ps-test> Get-Job | Receive-Job -Keep


          ProviderName: PowerShell

     TimeCreated             Id LevelDisplayName Message     PSComputerName                                                       
     -----------             -- ---------------- -------     --------------                                                       
     5/14/2012 7:26:04 PM   400 Information      Engine stat Server02                                                        
     5/14/2012 7:26:03 PM   600 Information      Provider "W Server02                                                        
     5/14/2012 7:26:03 PM   600 Information      Provider "C Server02                                                        
     5/14/2012 7:26:03 PM   600 Information      Provider "V Server02                                                        

狀態和可用性

中斷連線 PSSession 的 State 和 Availability 屬性會告訴您工作階段是否可供您重新連線。

當 PSSession 連線到目前的工作階段時,其 State 為 Opened 且其 Availability 為 Available。當您中斷連線 PSSession 時,PSSession 的 State 為 Disconnected 且其 Availability 為 None。

但是,State 屬性的值是相對於目前工作階段。因此,值為 Disconnected 表示 PSSession 並未連線至目前工作階段。不過,它並不表示 PSSession 中斷所有工作階段的連線。它可能連線不同的工作階段。

若要判斷是否可以連線或重新連線至 PSSession,請使用 Availability 屬性。Availability 值為 None 表示您可以連線至工作階段。值為 Busy 表示您無法連線至 PSSession,因為它已連線至另一個工作階段。

下列範例會在相同電腦上的兩個工作階段中 (Windows PowerShell 主控台視窗) 執行。當 PSSession 中斷連線和重新連線時,請注意每個工作階段中的 State 和 Availability 屬性所變更的值。

         #Session 1:
         PS C:\> New-PSSession -ComputerName Server30 -Name Test

         Id Name       ComputerName    State         ConfigurationName     Availability
         -- ----       ------------    -----         -----------------     ------------
         1  Test       Server30        Opened        Microsoft.PowerShell     Available

         #Session 2: 
         PS C:\> Get-PSSession -ComputerName Server30 -Name Test

         Id Name       ComputerName    State         ConfigurationName     Availability
         -- ----       ------------    -----         -----------------     ------------
         1 Test        Server30        Disconnected  Microsoft.PowerShell          Busy



         #Session 1
         PS C:\> Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession

         Id Name       ComputerName    State         ConfigurationName     Availability
         -- ----       ------------    -----         -----------------     ------------
          1 Test       Server30        Disconnected  Microsoft.PowerShell          None

         #Session 2
         PS C:\> Get-PSSession -ComputerName Server30 

         Id Name       ComputerName    State         ConfigurationName     Availability
         -- ----       ------------    -----         -----------------     ------------
          1 Test       Server30        Disconnected  Microsoft.PowerShell          None



         #Session 2
         PS C:\> Connect-PSSession -ComputerName Server01 -Name Test

         Id Name       ComputerName    State         ConfigurationName     Availability
         -- ----       ------------    -----         -----------------     ------------
         3 Test        Server30        Opened        Microsoft.PowerShell     Available

         #Session 1
         PS C:\> Get-PSSession -ComputerName Server30 

         Id Name       ComputerName    State         ConfigurationName     Availability
         -- ----       ------------    -----         -----------------     ------------
          1 Test       Server30        Disconnected  Microsoft.PowerShell          Busy

閒置逾時

直到您刪除為止,例如藉由使用 Remove-PSSession Cmdlet 或其逾時,中斷連線工作階段會維持在遠端電腦上。PSSession 的 IdleTimeout 屬性決定在刪除中斷連線工作階段之前維持多久。

PSSession 在「活動訊號執行緒」未收到回應時閒置。中斷連線工作階段會讓工作階段閒置,並且啟動「閒置逾時」時鐘,即使命令仍然在中斷連線工作階段中執行。Windows PowerShell 會將中斷連線工作階段視為作用中而非閒置。

當建立與中斷連線工作階段時,確認 PSSession 中的閒置逾時夠久,可以針對您的需求維持工作階段,但是不要過久,讓工作階段無謂地耗用遠端電腦上的資源。

工作階段設定的 IdleTimeoutMs 屬性會決定使用工作階段設定的工作階段預設閒置逾時。您可以覆寫預設值,但是您使用的值不能超過工作階段設定的 MaxIdleTimeoutMs 屬性。

若要尋找工作階段設定的 IdleTimeoutMs 和 MaxIdleTimeoutMs 值,請使用下列命令格式。

      Get-PSSessionConfiguration | Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs

您可以覆寫工作階段設定中的預設值,並且設定建立 PSSession 和中斷連線時的 PSSession 閒置逾時。

如果您是遠端電腦上 Administrators 群組的成員,您也可以建立和變更工作階段設定的 IdleTimeoutMs 和 MaxIdleTimeoutMs 屬性。

附註:

工作階段設定和工作階段選項的閒置逾時值是以毫秒為單位。工作階段和工作階段設定選項的閒置逾時值是以秒為單位。

您可以設定當您建立 PSSession (New-PSSession、Invoke-Command) 和當您中斷連線 (Disconnect-PSSession) 時,PSSession 的閒置逾時。不過,當您連線至 PSSession (Connect-PSSession) 或取得結果 (Receive-PSSession) 時,無法變更 IdleTimeout 值。

Connect-PSSession 和 Receive-PSSession Cmdlet 具有可接受 SessionOption 物件的 SessionOption 參數,例如 New-PSSessionOption Cmdlet 所傳回的物件。不過,SessionOption 物件中的 IdleTimeout 值和 $PSSessionOption 喜好設定變數中的 IdleTimeout 值不會變更 Connect-PSSession 或 Receive-PSSession 命令中 PSSession 的 IdleTimeout 值。

-- 若要使用特定閒置逾時值建立 PSSession,請建立 $PSSessionOption 喜好設定變數。將 IdleTimeout 屬性的值設為想要的值 (以毫秒為單位)。

當您建立 PSSession 時,$PSSessionOption 變數中的值優先於工作階段設定中的值。

例如,此命令會設定 48 小時的閒置逾時。在這裡插入區段內文。

PS C:\> $PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

-- 若要以特定閒置逾時值建立 PSSession,請使用 New-PSSessionOption Cmdlet 的 IdleTimeoutMSec 參數。然後,在 New-PSSession 或 Invoke-Command Cmdlet 的 SessionOption 參數值中使用工作階段選項。

建立工作階段時設定的值優先於 $PSSessionOption 喜好設定變數和工作階段設定中設定的值。

例如:

         PS C:\> $o = New-PSSessionOption -IdleTimeoutMSec 172800000 
         PS C:\> New-PSSession -SessionOption $o

-- 若要變更中斷連線 PSSession 時的閒置逾時,請使用 Disconnect-PSSession Cmdlet 的 IdleTimeoutSec 參數。

例如:

         PS C:\> Disconnect-PSSession -IdleTimeoutSec 172800

-- 若要以特定閒置逾時和最大閒置逾時建立工作階段設定,請使用 New-PSTransportOption Cmdlet 的 IdleTimeoutSec 和 MaxIdleTimeoutSec 參數。然後,在 Register-PSSessionConfiguration 的 TransportOption 參數值中使用傳輸選項。

例如:

         PS C:\> $o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200 
         PS C:\> Register-PSSessionConfiguration -Name Test -TransportOption $o

-- 若要變更工作階段設定的預設閒置逾時和最大閒置逾時,請使用 New-PSTransportOption Cmdlet 的 IdleTimeoutSec 和 MaxIdleTimeoutSec 參數。然後,在 Set-PSSessionConfiguration 的 TransportOption 參數值中使用傳輸選項。

例如:

         PS C:\> $o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
         PS C:\> Set-PSSessionConfiguration -Name Test -TransportOption $o

輸出緩衝處理模式

PSSession 的輸出緩衝處理模式會判斷當 PSSession 的輸出緩衝區已滿時要如何管理命令輸出。

在中斷連線工作階段中,輸出緩衝處理模式會有效率地決定當工作階段中斷連線時命令是否要繼續執行。

有效值:

    -- Block: When the output buffer is full, execution is suspended
              until the buffer is clear.

    -- Drop:  When the output buffer is full, execution continues. 
              As new output is generated, the oldest output is
              discarded.

Block (預設值) 會保留資料,但是可能會中斷命令

Drop 值允許命令完成,但可能會遺失資料。使用 Drop 值時,請將命令輸出重新導向至磁碟上的檔案。這個值建議用於中斷連線工作階段。

工作階段設定的 OutputBufferingMode 屬性會決定使用工作階段設定的工作階段預設輸出緩衝處理模式。

若要尋找工作階段設定的 OutputBufferingMode 值,請使用下列命令格式。

      (Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode

    -or-

      Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode

您可以覆寫工作階段設定中的預設值,並且設定建立 PSSession、中斷連線和重新連線時的 PSSession 輸出緩衝處理模式。

如果您是遠端電腦上 Administrators 群組的成員,您也可以建立和變更工作階段設定的輸出緩衝處理模式。

-- 若要以 Drop 輸出緩衝處理模式建立 PSSession,請建立 $PSSessionOption 喜好設定變數,其中 OutputBufferingMode 屬性的值為 Drop。

當您建立 PSSession 時,$PSSessionOption 變數中的值優先於工作階段設定中的值。

例如:

         PS C:\> $PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

-- 若要以 Drop 輸出緩衝處理模式建立 PSSession,請使用 New-PSSessionOption Cmdlet 的 OutputBufferingMode 參數來建立具有 Drop 值的工作階段選項。然後,在 New-PSSession 或 Invoke-Command Cmdlet 的 SessionOption 參數值中使用工作階段選項。

建立工作階段時設定的值優先於 $PSSessionOption 喜好設定變數和工作階段設定中設定的值。

例如:

         PS C:\> $o = New-PSSessionOption -OutputBufferingMode Drop
         PS C:\> New-PSSession -SessionOption $o

-- 若要變更中斷連線時 PSSession 的輸出緩衝處理模式,請使用 Disconnect-PSSession Cmdlet 的 OutputBufferingMode 參數。

例如:

         PS C:\> Disconnect-PSSession -OutputBufferingMode Drop

-- 若要變更重新連線時 PSSession 的輸出緩衝處理模式,請使用 New-PSSessionOption Cmdlet 的 OutputBufferingMode 參數來建立具有 Drop 值的工作階段選項。然後,在 Connect-PSSession 或 Receive-PSSession 的 SessionOption 參數值中使用工作階段選項。

例如:

         PS C:\> $o = New-PSSessionOption -OutputBufferingMode Drop
         PS C:\> Connect-PSSession -Cn Server01 -Name Test -SessionOption $o

-- 若要以 Drop 預設輸出緩衝處理模式建立工作階段設定,請使用 New-PSTransportOption Cmdlet 的 OutputBufferingMode 參數來建立具有 Drop 值的傳輸選項物件。然後,在 Register-PSSessionConfiguration 的 TransportOption 參數值中使用傳輸選項。

例如:

PS C:\> $o = New-PSTransportOption -OutputBufferingMode Drop PS C:\> Register-PSSessionConfiguration -Name Test -TransportOption $o

-- 若要變更工作階段設定的預設輸出緩衝處理模式,請使用 New-PSTransportOption Cmdlet 的 OutputBufferingMode 參數來建立具有 Drop 值的傳輸選項。然後,在 Set-PSSessionConfiguration 的 SessionOption 參數值中使用傳輸選項。

例如:

         PS C:\> $o = New-PSTransportOption -OutputBufferingMode Drop
         PS C:\> Set-PSSessionConfiguration -Name Test -TransportOption $o

中斷連線回送工作階段

「回送工作階段」或「本機工作階段」是在同一部電腦上產生及終止的 PSSession。像其他 PSSession 一樣,作用中回送工作階段會維持在連線的遠端電腦上 (本機電腦),因此您可以從回送工作階段中斷連線再重新連線。

根據預設,回送工作階段會以網路安全性權杖建立,其不允許在工作階段中執行的命令存取其他電腦。您可以從本機電腦或遠端電腦上的任何工作階段重新連線到具有網路安全性權杖的回送工作階段。

不過,如果您使用 New-PSSession、Enter-PSSession 或 Invoke-Command Cmdlet 的 EnableNetworkAccess 參數,則回送工作階段會以互動式安全性權杖建立。互動式權杖可以讓在回送工作階段中執行的命令從其他電腦取得資料。

您可以中斷連線具有互動式權杖的回送工作階段,然後再從相同工作階段或同一部電腦上的不同工作階段重新連線。不過,若要防止惡意存取,您可以僅從回送工作階段建立所在的電腦重新連線到具有互動式權杖的回送工作階段。

在中斷連線工作階段等候工作

Wait-Job Cmdlet 會等到工作完成後返回命令提示字元或下一個命令。根據預設,如果在其中執行工作的工作階段中斷連線,則會傳回 Wait-Job。若要引導 Wait-Job Cmdlet 等到工作階段重新連線 (處於 Opened 狀態),請使用 Force 參數。如需詳細資訊,請參閱 Wait-Job。

健全的工作階段以及意外中斷連線

有時候,PSSession 可能會因為電腦失敗或網路中斷而意外中斷連線。Windows PowerShell 會嘗試復原 PSSession,但是成功與否取決於原因的嚴重性和持續時間。

意外中斷連線的 PSSession 狀態可能是 Broken 或 Closed,但也可能是 Disconnected。如果狀態值為 Disconnected,您可以使用與工作階段意外中斷連線的相同技術來管理 PSSession。例如,您可以使用 Connect-PSSession Cmdlet 重新連線到工作階段,及 Receive-PSSession Cmdlet 來取得工作階段中斷連線時執行的命令結果。

如果您在命令於 PSSession 中執行時,關閉 (結束) 建立 PSSession 所在的工作階段,Windows PowerShell 會在遠端電腦上維持 PSSession 的 Disconnected 狀態。如果您關閉 (結束) 建立 PSSession 所在的工作階段,但是 PSSession 中沒有任何命令執行,則 Windows PowerShell 不會嘗試維持 PSSession。

關鍵字

about_Disconnected_Sessions

另請參閱

about_Jobs

about_Remote

about_Remote_Variables

about_PSSessions

about_Session_Configurations

Disconnect-PSSession

Connect-PSSession

Get-PSSession

Receive-PSSession

Invoke-Command