about_Remote_Disconnected_Sessions

Krátký popis

Vysvětluje, jak se odpojit a znovu připojit k relaci PowerShellu (PSSession).

Dlouhý popis

Počínaje PowerShellem 3.0 se můžete odpojit od psSession a znovu se připojit k psSession na stejném počítači nebo jiném počítači. Stav relace se udržuje a příkazy v psSession se budou dál spouštět, když je relace odpojená.

Funkce Odpojené relace je dostupná pouze v případě, že je vzdálený počítač se systémem Windows, na kterém běží PowerShell 3.0 nebo novější verze, a místní počítač je spuštěný ve Windows.

Funkce Odpojené relace umožňuje zavřít relaci, ve které byla vytvořena analýza PSSession, a dokonce zavřít PowerShell a vypnout počítač bez narušení příkazů spuštěných v psSession. Odpojené relace jsou užitečné pro spouštění příkazů, které vyžadují delší dobu, a poskytují flexibilitu času a zařízení, které vyžadují it specialisté.

Nemůžete se odpojit od interaktivní relace, která je spuštěna s rutinou Enter-PSSession .

Odpojené relace můžete použít ke správě relací PSSession, které byly neúmyslně odpojeny v důsledku výpadku počítače nebo sítě.

Ve skutečném světě umožňuje funkce Odpojené relace začít řešit problém, obrátit pozornost na problém s vyšší prioritou a pak pokračovat v práci na řešení, a to i na jiném počítači v jiném umístění.

Odpojené rutiny relace

Následující rutiny podporují funkci Odpojené relace:

  • Connect-PSSession: Připojí se k odpojené psSession.
  • Disconnect-PSSession: Odpojí psSession.
  • Get-PSSession: Získá PSSessions na místním počítači nebo na vzdálených počítačích.
  • Receive-PSSession: Získá výsledky příkazů spuštěných v odpojených relacích.
  • Invoke-Command: Parametr InDisconnectedSession vytvoří psSession a okamžitě se odpojí.

Jak funguje funkce Odpojené relace

Počínaje PowerShellem 3.0 jsou psSession nezávislé na relacích, ve kterých se vytvářejí. Aktivní psSessions jsou udržovány na vzdáleném počítači nebo na straně serveru připojení, a to i v případě, že relace, ve které byla vytvořena služba PSSession, je uzavřena a původní počítač je vypnutý nebo odpojen od sítě.

V PowerShellu 2.0 se služba PSSession odstraní ze vzdáleného počítače, když je odpojená od původní relace nebo relace, ve které byla vytvořena.

Když odpojíte službu PSSession, zůstane služba PSSession aktivní a udržuje se na vzdáleném počítači. Stav relace se změní z Spuštění na Odpojeno. Můžete se znovu připojit k odpojené relaci PSSession z aktuální relace nebo z jiné relace na stejném počítači nebo z jiného počítače. Vzdálený počítač, který udržuje relaci, musí být spuštěný a připojený k síti.

Příkazy v odpojené psSession nadále běží bez přerušení na vzdáleném počítači, dokud příkaz dokončí nebo výstupní vyrovnávací paměť vyplní. Chcete-li zabránit pozastavení úplné výstupní vyrovnávací paměti, použijte outputBufferingMode parametr , Disconnect-PSSessionNew-PSSessionOptionnebo New-PSTransportOption rutiny.

Odpojené relace jsou udržovány ve stavu odpojení na vzdáleném počítači. Jsou dostupné k opětovnému připojení, dokud neodstraníte psSession, například pomocí Remove-PSSession rutiny, nebo dokud nevyprší časový limit nečinnosti psSession. Časový limit nečinnosti psSession můžete upravit pomocí parametrů IdleTimeoutSec nebo IdleTimeout v Disconnect-PSSessionparametrech , New-PSSessionOptionnebo New-PSTransportOption rutin.

Jiný uživatel se může připojit k vytvořeným instancím psSession, ale jenom v případě, že může zadat přihlašovací údaje, které jste použili k vytvoření relace, nebo použít RunAs přihlašovací údaje konfigurace relace.

Jak získat psSessions

Od PowerShellu 3.0 Get-PSSession rutina získá psSessions na místním počítači a vzdálených počítačích. Může také získat psSessions, které byly vytvořeny v aktuální relaci.

Pokud chcete získat psSessions na místním počítači nebo vzdálených počítačích, použijte parametry ComputerName nebo ConnectionUri . Bez parametrů Get-PSSession získá psSession, které byly vytvořeny v místní relaci bez ohledu na to, kde jsou ukončeny.

Při získávání psSessions nezapomeňte je vyhledat na počítači, na kterém jsou udržovány, tj. na vzdáleném nebo serverovém počítači .

Pokud například vytvoříte psSession na počítač Server01, získejte relaci z počítače Server01. Pokud vytvoříte psSession z jiného počítače do místního počítače, získejte relaci z místního počítače.

Následující sekvence příkazů ukazuje, jak Get-PSSession funguje.

První příkaz vytvoří relaci k počítači Serveru01. Relace se nachází na počítači Serveru01.

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

Pokud chcete získat relaci, použijte parametr Get-PSSessionComputerName s hodnotou Serveru01.

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

Pokud je hodnota parametru ComputerName parametru Get-PSSession localhost, Get-PSSession získá psSessions, které končí a jsou udržovány v místním počítači. Na počítači Server01 se nezobrazí psSessions, ani když byly spuštěny na místním počítači.

Get-PSSession -ComputerName localhost

Pokud chcete získat relace vytvořené v aktuální relaci, použijte rutinu Get-PSSession bez parametrů. V tomto příkladu Get-PSSession získá psSession, který byl vytvořen v aktuální relaci a připojí se k počítači Server01.

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

Odpojení relací

Pokud chcete odpojit psSession, použijte rutinu Disconnect-PSSession . K identifikaci psSession použijte parametr Relace nebo kanál PSSession z New-PSSession rutin nebo Get-PSSession rutin do Disconnect-PSSession.

Následující příkaz odpojí psSession k počítači Server01. Všimněte si, že hodnota vlastnosti State je odpojena a dostupnost je None.

Get-PSSession -ComputerName Server01 | Disconnect-PSSession
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 2 Session2  Server01      Disconnected  Microsoft.PowerShell          None

Pokud chcete vytvořit odpojenou relaci, použijte parametr InDisconnectedSession rutiny Invoke-Command . Vytvoří relaci, spustí příkaz a okamžitě se odpojí, než příkaz může vrátit jakýkoli výstup.

Následující příkaz spustí Get-WinEvent příkaz v odpojené relaci na vzdáleném počítači Serveru02.

Invoke-Command -ComputerName Server02 -InDisconnectedSession -ScriptBlock {
   Get-WinEvent -LogName "*PowerShell*" }
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 4 Session3  Server02      Disconnected  Microsoft.PowerShell          None

Jak se připojit k odpojeným relacím

Můžete se připojit k jakékoli dostupné odpojené psSession z relace, ve které jste vytvořili psSession nebo z jiných relací na místním počítači nebo jiných počítačích.

Můžete vytvořit psSession, spouštět příkazy v psSession, odpojit od psSession, zavřít PowerShell a vypnout počítač. Později můžete otevřít jiný počítač, získat psSession, připojit se k němu a získat výsledky příkazů spuštěných v psSession během odpojení. Pak můžete v relaci spustit další příkazy.

Pokud chcete připojit odpojenou službu PSSession, použijte rutinu Connect-PSSession . Pomocí parametrů ComputerName nebo ConnectionUri identifikujte psSession nebo kanál PSSession z Get-PSSession do Connect-PSSession.

Následující příkaz získá relace na počítači Server02. Výstup obsahuje dvě odpojené relace, z nichž obě jsou k dispozici.

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

Následující příkaz se připojí k Relaci2. PsSession je teď otevřená a dostupná.

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

Jak získat výsledky

Pokud chcete získat výsledky příkazů spuštěných v odpojené psSession, použijte rutinu Receive-PSSession .

Místo použití rutiny Connect-PSSession můžete použítReceive-PSSession. Pokud už je relace znovu připojená, Receive-PSSession získá výsledky příkazů, které se spustily při odpojení relace. Pokud je služba PSSession stále odpojená, Receive-PSSession připojí se k ní a pak získá výsledky příkazů, které se spustily při odpojení.

Receive-PSSession může vrátit výsledky v úloze (asynchronně) nebo do hostitelského programu (synchronně). Pomocí parametru OutTarget vyberte úlohu nebo hostitele. Výchozí hodnota je Host. Pokud se ale příkaz přijatý v aktuální relaci spustil jako úloha, vrátí se ve výchozím nastavení jako úloha .

Následující příkaz používá rutinu Receive-PSSession pro připojení k psSession na počítači Server02 a získá výsledky Get-WinEvent příkazu spuštěného v relaci Session3. Příkaz použije parametr OutTarget k získání výsledků v úloze.

Receive-PSSession -ComputerName Server02 -Name Session3 -OutTarget Job
Id   Name   PSJobTypeName   State         HasMoreData     Location
--   ----   -------------   -----         -----------     --------
 3   Job3   RemoteJob       Running       True            Server02

Pokud chcete získat výsledky úlohy, použijte rutinu Receive-Job .

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

Vlastnosti stavu a dostupnosti

Vlastnosti stavu a dostupnosti odpojené služby PSSession určují, jestli je relace k dispozici, abyste se k ní mohli znovu připojit.

Když je služba PSSession připojená k aktuální relaci, její stav je otevřen a jeho dostupnost je k dispozici. Když se od služby PSSession odpojíte, stav PSSession se odpojí a jeho dostupnost není žádná.

Hodnota vlastnosti State je relativní k aktuální relaci. Hodnota Odpojeno znamená, že služba PSSession není připojená k aktuální relaci. Ale neznamená to, že psSession je odpojen od všech relací. Může se připojit k jiné relaci.

Pokud chcete zjistit, jestli se můžete připojit nebo znovu připojit k psSession, použijte vlastnost Dostupnost . Hodnota None označuje, že se můžete připojit k relaci. Hodnota Zaneprázdněn označuje, že se nemůžete připojit k psSession, protože je připojen k jiné relaci.

Následující příklad se spustí ve dvou relacích PowerShellu na stejném počítači. Všimněte si změny hodnot vlastností stavu a dostupnosti v každé relaci, protože služba PSSession se odpojí a znovu připojí.

# Session 1
New-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1  Test   Server30        Opened        Microsoft.PowerShell     Available
# Session 2
Get-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy
# Session 1
Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Connect-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
3 Test    Server30        Opened        Microsoft.PowerShell     Available
# Session 1
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy
# Idle Timeout

Odpojené relace se spravují na vzdáleném počítači, dokud je neodstraníte, například pomocí rutiny, nebo vypršení časového limitu Remove-PSSession . Vlastnost IdleTimeout psSession určuje, jak dlouho se odpojená relace udržuje před odstraněním.

PsSessions jsou nečinné, když vlákno prezenčních signálů obdrží žádnou odpověď. Odpojení relace způsobí, že je nečinné a spustí hodiny IdleTimeout , i když příkazy stále běží v odpojené relaci. PowerShell považuje odpojené relace za aktivní, ale nečinné.

Při vytváření a odpojení relací ověřte, že časový limit nečinnosti v psSession je dostatečně dlouhý, aby se relace zachovala pro vaše potřeby, ale ne tak dlouho, že spotřebovává zbytečné prostředky na vzdáleném počítači.

Vlastnost IdleTimeoutMs konfigurace relace určuje výchozí časový limit nečinnosti relací, které používají konfiguraci relace. Výchozí hodnotu můžete přepsat, ale hodnota, kterou použijete, nemůže překročit vlastnost MaxIdleTimeoutMs konfigurace relace.

Pokud chcete najít hodnotu hodnot IdleTimeoutM aMaxIdleTimeoutMs konfigurace relace, použijte následující formát příkazu.

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

Výchozí hodnotu můžete přepsat v konfiguraci relace a nastavit časový limit nečinnosti psSession při vytváření psSession a při odpojení.

Pokud jste členem skupiny Administrators na vzdáleném počítači, můžete vytvořit a změnit vlastnosti IdleTimeoutM a MaxIdleTimeoutMs konfigurace relací.

Hodnoty časového limitu nečinnosti

Hodnota časového limitu nečinnosti konfigurace a možností relace je v milisekundách. Hodnota časového limitu nečinnosti relací a možností konfigurace relace je v sekundách.

Časový limit nečinnosti psSession můžete nastavit při vytváření psSession (New-PSSession, Invoke-Command) a když se od něj odpojíte (Disconnect-PSSession). Hodnotu IdleTimeout ale nemůžete změnit, když se připojíte k hodnotě PSSession (Connect-PSSession) nebo získáte výsledky (Receive-PSSession).

Rutiny Connect-PSSession mají parametr SessionOption, který přebírá objekt SessionOption, například jeden vrácený rutinouNew-PSSessionOption.Receive-PSSession Hodnota IdleTimeout v SessionOption objektu a hodnota IdleTimeout v $PSSessionOption proměnné předvoleb nemění hodnotu IdleTimeout PSSession v Connect-PSSession nebo Receive-PSSession příkazu.

Pokud chcete vytvořit psSession s určitou hodnotou časového limitu nečinnosti, vytvořte proměnnou $PSSessionOption předvoleb. Nastavte hodnotu vlastnosti IdleTimeout na požadovanou hodnotu (v milisekundách).

Při vytváření psSessions mají hodnoty v $PSSessionOption proměnné přednost před hodnotami v konfiguraci relace.

Například následující příkaz nastaví časový limit nečinnosti 48 hodin:

$PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

K vytvoření psSession s konkrétní hodnotou časového limitu nečinnosti použijte parametr IdleTimeoutMSec rutiny New-PSSessionOption . Potom použijte možnost relace v hodnotě parametru SessionOption rutin New-PSSession nebo Invoke-Command rutin.

Hodnoty nastavené při vytváření relace mají přednost před hodnotami nastavenými v $PSSessionOption proměnné předvoleb a konfigurací relace.

Příklad:

$o = New-PSSessionOption -IdleTimeoutMSec 172800000
New-PSSession -SessionOption $o

Pokud chcete při odpojení změnit časový limit nečinnosti psSession, použijte parametr IdleTimeoutSec rutiny Disconnect-PSSession .

Příklad:

Disconnect-PSSession -IdleTimeoutSec 172800

Pokud chcete vytvořit konfiguraci relace s určitým časovým limitem nečinnosti a maximálním časovým limitem nečinnosti, použijte parametry IdleTimeoutSec a MaxIdleTimeoutSec rutiny New-PSTransportOption . Pak použijte možnost přenosu v hodnotě TransportOption parametru Register-PSSessionConfiguration.

Příklad:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Register-PSSessionConfiguration -Name Test -TransportOption $o

Pokud chcete změnit výchozí časový limit nečinnosti a maximální časový limit nečinnosti konfigurace relace, použijte parametry IdleTimeoutSec a MaxIdleTimeoutSec rutiny New-PSTransportOption . Pak použijte možnost přenosu v hodnotě TransportOption parametru Set-PSSessionConfiguration.

Příklad:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Set-PSSessionConfiguration -Name Test -TransportOption $o

Režim vyrovnávací paměti výstupu

Režim vyrovnávací paměti výstupu psSession určuje, jak se výstup příkazu spravuje, když je výstupní vyrovnávací paměť PSSession plná.

V odpojené relaci režim ukládání výstupu do vyrovnávací paměti efektivně určuje, jestli se příkaz bude při odpojení relace spouštět.

Platné hodnoty:

  • Blokovat. Pokud je výstupní vyrovnávací paměť plná, provádění se pozastaví, dokud se vyrovnávací paměť nesmaže. Výchozí hodnota.
  • Zahoďte. Když je výstupní vyrovnávací paměť úplná, provádění bude pokračovat. Při generování nového výstupu se nejstarší výstup zahodí.

Blok zachovává data, ale může příkaz přerušit. Hodnota Drop umožňuje, aby se příkaz dokončil, i když data můžou být ztracena. Při použití hodnoty Drop přesměrujte výstup příkazu na soubor na disku. Tato hodnota se doporučuje pro odpojené relace.

Vlastnost OutputBufferingMode konfigurace relace určuje výchozí režim vyrovnávací paměti relací, které používají konfiguraci relace.

Pokud chcete najít hodnotu konfigurace relace OutputBufferingMode, můžete použít některý z následujících formátů příkazů:

(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode
Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode

Výchozí hodnotu můžete přepsat v konfiguraci relace a nastavit režim vyrovnávací paměti výstupu psSession při vytváření psSession, při odpojení a při opětovném připojení.

Pokud jste členem skupiny Administrators na vzdáleném počítači, můžete vytvořit a změnit režim ukládání výstupní vyrovnávací paměti konfigurace relací.

Chcete-li vytvořit PSSession s výstupní vyrovnávací paměti režim Drop, vytvořte předvolbu proměnnou $PSSessionOption , ve které hodnota OutputBufferingMode vlastnost Drop.

Při vytváření psSessions mají hodnoty v $PSSessionOption proměnné přednost před hodnotami v konfiguraci relace.

Příklad:

$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

Pokud chcete vytvořit psSession s výstupním režimem ukládání do vyrovnávací paměti drop, použijte outputBufferingMode parametr New-PSSessionOption rutiny k vytvoření možnosti relace s hodnotou Drop. Potom použijte možnost relace v hodnotě parametru SessionOption rutin New-PSSession nebo Invoke-Command rutin.

Hodnoty nastavené při vytváření relace mají přednost před hodnotami nastavenými v $PSSessionOption proměnné předvoleb a konfigurací relace.

Příklad:

$o = New-PSSessionOption -OutputBufferingMode Drop
New-PSSession -SessionOption $o

Pokud chcete při odpojení změnit režim ukládání výstupní vyrovnávací paměti psSession, použijte parametr OutputBufferingMode rutiny Disconnect-PSSession .

Příklad:

Disconnect-PSSession -OutputBufferingMode Drop

Pokud chcete při opětovném připojení změnit režim vyrovnávací paměti výstupu PSSession, použijte parametr New-PSSessionOptionOutputBufferingMode rutiny k vytvoření možnosti relace s hodnotou Drop. Pak použijte možnost relace v hodnotě Parametr SessionOption parametru Connect-PSSession nebo Receive-PSSession.

Příklad:

$o = New-PSSessionOption -OutputBufferingMode Drop
Connect-PSSession -ComputerName Server01 -Name Test -SessionOption $o

Pokud chcete vytvořit konfiguraci relace s výchozím režimem ukládání do vyrovnávací paměti pro drop, použijte parametr New-PSTransportOptionOutputBufferingMode rutiny k vytvoření objektu možnosti přenosu s hodnotou Drop. Pak použijte možnost přenosu v hodnotě TransportOption parametru Register-PSSessionConfiguration.

Příklad:

$o = New-PSTransportOption -OutputBufferingMode Drop
Register-PSSessionConfiguration -Name Test -TransportOption $o

Pokud chcete změnit výchozí režim ukládání výstupní vyrovnávací paměti konfigurace relace, pomocí parametruNew-PSTransportOption OutputBufferingMode rutiny vytvořte možnost přenosu s hodnotou Drop. Pak použijte možnost Transport v hodnotě SessionOption parametru Set-PSSessionConfiguration.

Příklad:

$o = New-PSTransportOption -OutputBufferingMode Drop
Set-PSSessionConfiguration -Name Test -TransportOption $o

Odpojení relací zpětné smyčky

Relace zpětné smyčky nebo místní relace jsou relace PSSession, které pocházejí a ukončují na stejném počítači. Stejně jako ostatní relace PSSession se relace zpětné smyčky udržují na počítači na vzdáleném konci připojení (místní počítač), takže se můžete odpojit a znovu připojit k relacím zpětné smyčky.

Ve výchozím nastavení se relace zpětné smyčky vytvářejí pomocí tokenu zabezpečení sítě, který neumožňuje spuštění příkazů v relaci pro přístup k jiným počítačům. Můžete se znovu připojit k relacím zpětné smyčky, které mají token zabezpečení sítě z jakékoli relace v místním počítači nebo vzdáleném počítači.

Pokud však použijete parametr New-PSSessionEnableNetworkAccess parametru , nebo Enter-PSSessionInvoke-Command rutiny, relace zpětné smyčky se vytvoří s interaktivním tokenem zabezpečení. Interaktivní token umožňuje příkazy, které běží v relaci zpětné smyčky, získat data z jiných počítačů.

Relace zpětné smyčky můžete odpojit pomocí interaktivních tokenů a pak se k nim znovu připojit ze stejné relace nebo jiné relace na stejném počítači. Pokud ale chcete zabránit škodlivému přístupu, můžete se znovu připojit k relacím zpětné smyčky s interaktivními tokeny pouze z počítače, na kterém byly vytvořeny.

Čekání na úlohy v odpojených relacích

Rutina Wait-Job počká, až se úloha dokončí, a pak se vrátí na příkazový řádek nebo na další příkaz. Ve výchozím nastavení se vrátí, pokud je relace, Wait-Job ve které je spuštěná úloha, odpojena. Pokud chcete rutinu nasměrovat tak Wait-Job , aby čekala, až se relace znovu připojí, použijte v otevřeném stavu parametr Force . Další informace najdete v tématu Čekání na úlohu.

Robustní relace a neúmyslné odpojení

Služba PSSession může být neúmyslně odpojená kvůli selhání počítače nebo výpadku sítě. PowerShell se pokusí obnovit psSession, ale jeho úspěch závisí na závažnosti a době trvání příčiny.

Stav neúmyslně odpojené psSession může být přerušen nebo uzavřen, ale může být také odpojen. Pokud je hodnota stavuodpojena, můžete použít stejné techniky ke správě psSession stejně jako v případě, že by relace byla záměrně odpojena. Rutinu Connect-PSSession můžete například použít k opětovnému připojení k relaci a rutině Receive-PSSession k získání výsledků příkazů, které se spustily při odpojení relace.

Pokud zavřete (ukončete) relaci, ve které byla vytvořena relace PSSession během spouštění příkazů v psSession, PowerShell udržuje PSSession ve stavu Odpojeno na vzdáleném počítači. Pokud zavřete (ukončete) relaci, ve které byla vytvořena relace PSSession, ale v psSession nejsou spuštěny žádné příkazy, PowerShell se nepokoušel zachovat psSession.

Viz také