about_Remote_Disconnected_Sessions

Rövid leírás

Ismerteti, hogyan lehet leválasztani és újracsatlakozni egy PowerShell-munkamenethez (PSSession).

Hosszú leírás

A PowerShell 3.0-tól kezdve leválaszthatja a PSSessiont, és újracsatlakozhat a PSSession-hoz ugyanazon a számítógépen vagy egy másik számítógépen. A munkamenet állapota megmarad, és a PSSession parancsai továbbra is futnak a munkamenet leválasztása közben.

A Leválasztott munkamenetek funkció csak akkor érhető el, ha a távoli számítógép egy PowerShell 3.0-s vagy újabb verziót futtató Windows-számítógép, és a helyi számítógépen Windows fut.

A Leválasztott munkamenetek funkció lehetővé teszi a PSSession létrehozásának munkamenetének bezárását, sőt a PowerShell bezárását, valamint a számítógép leállítását anélkül, hogy megzavarná a PSSession-ban futó parancsokat. A leválasztott munkamenetek olyan parancsok futtatásához hasznosak, amelyek hosszabb időt vesznek igénybe, és biztosítják az informatikai szakemberek által igényelt időt és eszközrugalmasságot.

A parancsmaggal Enter-PSSession indított interaktív munkamenetről nem lehet leválasztani.

Leválasztott munkamenetek használatával kezelheti a számítógép vagy a hálózat kimaradása miatt véletlenül leválasztott PSSessions-eket.

Valós használat esetén a Leválasztott munkamenetek funkcióval megkezdheti a probléma megoldását, felhívhatja a figyelmet egy magasabb prioritású problémára, majd folytathatja a munkát a megoldáson, még egy másik számítógépen is, egy másik helyen.

Leválasztott munkamenet-parancsmagok

A következő parancsmagok támogatják a leválasztott munkamenetek funkciót:

  • Connect-PSSession: Leválasztott PSSession-hoz csatlakozik.
  • Disconnect-PSSession: Leválasztja a PSSession-t.
  • Get-PSSession: PsSessions lekérdezi a helyi számítógépen vagy a távoli számítógépeken.
  • Receive-PSSession: Lekéri a leválasztott munkamenetekben futtatott parancsok eredményeit.
  • Invoke-Command: Az InDisconnectedSession paraméter pssession-t hoz létre, és azonnal leválasztja a kapcsolatot.

A leválasztott munkamenetek funkció működése

A PowerShell 3.0-tól kezdve a PSSessions független a létrehozásukhoz tartozó munkamenettől. Az aktív PSSessions akkor is megmarad a távoli számítógépen vagy a kapcsolat kiszolgálóoldalán , ha a PSSession létrehozására szolgáló munkamenet le van zárva, és az eredeti számítógép le van állítva vagy le van választva a hálózatról.

A PowerShell 2.0-ban a PSSession törlődik a távoli számítógépről, amikor le van választva az eredeti munkamenetről vagy a munkamenetről, amelyben létrejött.

A PSSession leválasztásakor a PSSession aktív marad, és megmarad a távoli számítógépen. A munkamenet állapota FutórólLeválasztott állapotra változik. Kapcsolódhat egy leválasztott PSSession-hoz az aktuális munkamenetből, vagy egy másik munkamenetből ugyanazon a számítógépen, vagy egy másik számítógépről. A munkamenetet karbantartó távoli számítógépnek futnia kell, és csatlakoznia kell a hálózathoz.

A leválasztott PSSession-ban lévő parancsok továbbra is zavartalanul futnak a távoli számítógépen, amíg a parancs be nem fejeződik, vagy a kimeneti puffer meg nem töltődik. Ha meg szeretné akadályozni, hogy egy teljes kimeneti puffer felfüggesztsen egy parancsot, használja a parancsmagok New-PSSessionOptionNew-PSTransportOptionOutputBufferingMode paraméterétDisconnect-PSSession.

A leválasztott munkamenetek a távoli számítógépen megszakadt állapotban maradnak. Ezek mindaddig újracsatlakozhatnak, amíg nem törli a PSSessiont, például a Remove-PSSession parancsmag használatával, vagy amíg a PSSession tétlen időtúllépése le nem jár. A PSSession tétlen időtúllépését a , New-PSSessionOptionvagy New-PSTransportOption parancsmagok Disconnect-PSSessionIdleTimeoutSec vagy IdleTimeout paramétereivel módosíthatja.

Egy másik felhasználó csatlakozhat az Ön által létrehozott PSSessions-hoz, de csak akkor, ha meg tudja adni a munkamenet létrehozásához használt hitelesítő adatokat, vagy használhatja a RunAs munkamenet-konfiguráció hitelesítő adatait.

PSSessions lekérése

A PowerShell 3.0-tól kezdve a Get-PSSession parancsmag PSSessions-eket kap a helyi számítógépen és a távoli számítógépeken. Az aktuális munkamenetben létrehozott PSSessions is lekérhető.

A PSSessions helyi számítógépen vagy távoli számítógépeken való lekéréséhez használja a ComputerName vagy ConnectionUri paramétereket. Paraméterek Get-PSSession nélkül lekéri a helyi munkamenetben létrehozott PSSession-t, függetlenül attól, hogy hol fejeződnek be.

A PSSessions beszerzésekor ne felejtse el keresni őket azon a számítógépen, amelyen karbantartják őket, azaz a távoli vagy kiszolgálóoldali számítógépen.

Ha például PSSessiont hoz létre a Server01 számítógépre, kérje le a munkamenetet a Server01 számítógépről. Ha psSessiont hoz létre egy másik számítógépről a helyi számítógépre, kérje le a munkamenetet a helyi számítógépről.

Az alábbi parancsütemezés bemutatja, hogyan Get-PSSession működik.

Az első parancs létrehoz egy munkamenetet a Server01 számítógépen. A munkamenet a Server01 számítógépen található.

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

A munkamenet lekéréséhez használja a ComputerName paramétert Get-PSSession a Server01 értékkel.

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

Ha a ComputerName paraméter Get-PSSession értéke localhost, lekéri azokat a PSSessions értékeket, Get-PSSession amelyek a helyi számítógépen leállnak és megmaradnak. Nem kap PSSessions-t a Server01 számítógépen, még akkor sem, ha a helyi számítógépen lettek elindítva.

Get-PSSession -ComputerName localhost

Az aktuális munkamenetben létrehozott munkamenetek lekéréséhez használja a Get-PSSession parancsmagot paraméterek nélkül. Ebben a példában lekéri az aktuális munkamenetben létrehozott PSSessiont, Get-PSSession és csatlakozik a Server01 számítógéphez.

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

Munkamenetek leválasztása

A PSSession leválasztásához használja a Disconnect-PSSession parancsmagot. A PSSession azonosításához használja a Munkamenet paramétert, vagy a parancsmagok vagy parancsmagok psSession New-PSSessionGet-PSSession metódusát Disconnect-PSSession.

Az alábbi parancs leválasztja a PSSession-t a Server01 számítógépről. Figyelje meg, hogy az Állapot tulajdonság értéke Leválasztva , a Rendelkezésre álláspedig Nincs.

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

Leválasztott munkamenet létrehozásához használja a parancsmag InDisconnectedSession paraméterét Invoke-Command . Létrehoz egy munkamenetet, elindítja a parancsot, és azonnal megszakad, mielőtt a parancs bármilyen kimenetet visszaadhat.

A következő parancs lefuttat egy Get-WinEvent parancsot egy leválasztott munkamenetben a Server02 távoli számítógépen.

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

Csatlakozás leválasztott munkamenetekhez

A pssession létrehozására szolgáló munkamenetből, illetve a helyi számítógépen vagy más számítógépeken található egyéb munkamenetekből bármilyen elérhető kapcsolat nélküli PSSession-kapcsolathoz csatlakozhat.

Létrehozhat pssessiont, futtathat parancsokat a PSSessionban, leválaszthatja a PSSession-t, bezárhatja a PowerShellt, és leállíthatja a számítógépet. Órák múlva megnyithat egy másik számítógépet, lekérheti a PSSession-t, csatlakozhat hozzá, és lekérheti a PSSessionban lefutott parancsok eredményeit a leválasztás közben. Ezután további parancsokat is futtathat a munkamenetben.

A leválasztott PSSession csatlakoztatásához használja a Connect-PSSession parancsmagot. Használja a ComputerName vagy ConnectionUri paramétereket a PSSession azonosításához, vagy a PSSession folyamatához Get-PSSessionConnect-PSSession.

A következő parancs lekéri a munkameneteket a Server02 számítógépen. A kimenet két leválasztott munkamenetet tartalmaz, amelyek közül mindkettő elérhető.

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

A következő parancs csatlakozik a 2. munkamenethez. A PSSession most már nyitva van és elérhető.

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

Az eredmények lekérése

A leválasztott PSSession-ben futtatott parancsok eredményeinek lekéréséhez használja a Receive-PSSession parancsmagot.

A parancsmag használata helyett használhatjaReceive-PSSession.Connect-PSSession Ha a munkamenet már újra van csatlakoztatva, Receive-PSSession lekéri a munkamenet leválasztásakor futtatott parancsok eredményeit. Ha a PSSession továbbra is le van választva, csatlakozik hozzá, Receive-PSSession majd lekéri a leválasztása közben futtatott parancsok eredményeit.

Receive-PSSession az eredményeket egy feladatban (aszinkron módon) vagy a gazdaprogramban (szinkronban) tudja visszaadni. Az OutTarget paraméter használatával válassza ki a feladatot vagy a gazdagépet. Az alapértelmezett érték a Gazdagép. Ha azonban a kapott parancs az aktuális munkamenetben feladatként lett elindítva, a rendszer alapértelmezés szerint feladatként adja vissza.

A következő parancs a Receive-PSSession parancsmaggal csatlakozik a Server02 számítógép PSSession kiszolgálójához, és lekéri a Get-WinEvent Session3 munkamenetben futó parancs eredményeit. A parancs az OutTarget paraméterrel kapja meg az eredményeket egy feladatban.

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

A feladat eredményeinek lekéréséhez használja a Receive-Job parancsmagot.

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

Állapot- és rendelkezésre állási tulajdonságok

A leválasztott PSSession állapot - és rendelkezésre állási tulajdonságai jelzik, hogy a munkamenet elérhető-e az újracsatlakozáshoz.

Ha egy PSSession csatlakozik az aktuális munkamenethez, az állapota meg van nyitva , és rendelkezésre állása elérhető. A PSSession leválasztásakor a PSSession állapota le van választva , és rendelkezésre állása Nincs.

Az Állapot tulajdonság értéke az aktuális munkamenethez képest van megadva. A leválasztott érték azt jelenti, hogy a PSSession nincs csatlakoztatva az aktuális munkamenethez. Ez azonban nem jelenti azt, hogy a PSSession le van választva az összes munkamenetről. Lehet, hogy egy másik munkamenethez kapcsolódik.

Annak megállapításához, hogy tud-e csatlakozni vagy újra csatlakozni a PSSessionhoz, használja a Rendelkezésre állás tulajdonságot . A Nincs érték azt jelzi, hogy csatlakozhat a munkamenethez. A Foglalt érték azt jelzi, hogy nem tud csatlakozni a PSSession-hoz, mert egy másik munkamenethez van csatlakoztatva.

Az alábbi példa két PowerShell-munkamenetben fut ugyanazon a számítógépen. Figyelje meg az állapot - és rendelkezésre állási tulajdonságok változó értékeit az egyes munkamenetekben, mivel a PSSession leválasztva és újracsatlakozva van.

# 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

A leválasztott munkamenetek mindaddig megmaradnak a távoli számítógépen, amíg ön nem törli őket, például a Remove-PSSession parancsmag használatával, vagy időtúllépés miatt. A PSSession IdleTimeout tulajdonsága határozza meg, hogy a rendszer mennyi ideig tart fenn egy leválasztott munkamenetet a törlés előtt.

A PSSessions tétlen, ha a szívverési szál nem kap választ. A munkamenet leválasztásával tétlen lesz, és elindítja az IdleTimeout órát, még akkor is, ha a parancsok továbbra is futnak a leválasztott munkamenetben. A PowerShell a leválasztott munkameneteket aktívnak, de tétlennek tekinti.

Munkamenetek létrehozásakor és leválasztásakor ellenőrizze, hogy a PSSession tétlen időtúllépése elég hosszú-e ahhoz, hogy fenntartsa a munkamenetet az igényeinek megfelelően, de ne olyan sokáig, hogy felesleges erőforrásokat használjon fel a távoli számítógépen.

A munkamenet-konfiguráció IdleTimeoutMs tulajdonsága határozza meg a munkamenet-konfigurációt használó munkamenetek alapértelmezett tétlenségi időtúllépését. Felülbírálhatja az alapértelmezett értéket, de a használt érték nem haladhatja meg a munkamenet-konfiguráció MaxIdleTimeoutMs tulajdonságát.

A munkamenet-konfiguráció IdleTimeoutMs és MaxIdleTimeoutMs értékeinek megkereséséhez használja az alábbi parancsformátumot.

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

A munkamenet-konfigurációban felülbírálhatja az alapértelmezett értéket, és beállíthatja a PSSession tétlen időtúllépését a PSSession létrehozásakor és a leválasztáskor.

Ha a távoli számítógépen a Rendszergazdák csoport tagja, létrehozhatja és módosíthatja a munkamenet-konfigurációk IdleTimeoutMs és MaxIdleTimeoutMs tulajdonságait.

Tétlen időtúllépési értékek

A munkamenet-konfigurációk és munkamenet-beállítások tétlen időtúllépési értéke ezredmásodpercben van megadva. A munkamenetek és a munkamenet-konfigurációs beállítások tétlen időtúllépési értéke másodpercben van megadva.

A PSSession (New-PSSession, Invoke-Command) létrehozásakor és leválasztásakor () beállíthatja a PSSession tétlen időtúllépését.Disconnect-PSSession Az IdleTimeout érték azonban nem módosítható, amikor csatlakozik a PSSession (Connect-PSSession) szolgáltatáshoz, és nem kap eredményt (Receive-PSSession).

A Connect-PSSession parancsmagok és Receive-PSSession parancsmagok rendelkeznek egy SessionOption paraméterrel, amely egy SessionOption objektumot vesz igénybe, például a New-PSSessionOption parancsmag által visszaadottat. A SessionOption objektum IdleTimeout értéke és a beállítási változó IdleTimeout értéke $PSSessionOption nem módosítja a PSSession IdleTimeout értékének értékét egy Connect-PSSession vagy Receive-PSSession parancsban.

Ha egy adott tétlen időtúllépési értékkel rendelkező PSSession-t szeretne létrehozni, hozzon létre egy preferenciális változót $PSSessionOption . Állítsa az IdleTimeout tulajdonság értékét a kívánt értékre (ezredmásodpercben).

PSSessions létrehozásakor a változó értékei $PSSessionOption elsőbbséget élveznek a munkamenet-konfigurációban szereplő értékekkel szemben.

A következő parancs például 48 órás tétlenségi időtúllépést állít be:

$PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

Ha pssession-t szeretne létrehozni egy adott tétlen időtúllépési értékkel, használja a New-PSSessionOption parancsmag IdleTimeoutMSec paraméterét. Ezután használja a munkamenet-beállítást a parancsmagok SessionOption paraméterének New-PSSessionInvoke-Command értékében.

A munkamenet létrehozásakor beállított értékek elsőbbséget élveznek a beállítási változóban és a $PSSessionOption munkamenet-konfigurációban beállított értékekkel szemben.

Például:

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

A PSSession üresjárati időtúllépésének a leválasztásakor történő módosításához használja a Disconnect-PSSession parancsmag IdleTimeoutSec paraméterét.

Például:

Disconnect-PSSession -IdleTimeoutSec 172800

Ha egy adott tétlen időtúllépéssel és maximális tétlenségi időtúllépéssel rendelkező munkamenet-konfigurációt szeretne létrehozni, használja a New-PSTransportOption parancsmag IdleTimeoutSec és MaxIdleTimeoutSec paramétereit. Ezután használja az átviteli lehetőséget a TransportOption paraméter értékében Register-PSSessionConfiguration.

Például:

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

A munkamenet-konfiguráció alapértelmezett tétlen időtúllépésének és maximális üresjárati időtúllépésének módosításához használja a parancsmag IdleTimeoutSec és MaxIdleTimeoutSec paramétereit New-PSTransportOption . Ezután használja az átviteli lehetőséget a TransportOption paraméter értékében Set-PSSessionConfiguration.

Például:

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

Kimeneti pufferelési mód

A PSSession kimeneti pufferelési módja határozza meg a parancskimenet kezelését, ha a PSSession kimeneti puffere megtelt.

Leválasztott munkamenetben a kimeneti pufferelési mód hatékonyan meghatározza, hogy a parancs továbbra is fut-e a munkamenet leválasztása közben.

Az érvényes értékek a következők:

  • Blokk. Ha a kimeneti puffer megtelt, a végrehajtás fel van függesztve, amíg a puffer ki nem üríthető. Az alapértelmezett érték.
  • Dobás. Ha a kimeneti puffer megtelt, a végrehajtás folytatódik. Az új kimenet létrehozásakor a rendszer elveti a legrégebbi kimenetet.

A blokk megőrzi az adatokat, de megszakíthatja a parancsot. A Drop érték lehetővé teszi a parancs befejezését, bár az adatok elveszhetnek. A Drop érték használatakor irányítsa át a parancs kimenetét egy lemezen lévő fájlba. Ez az érték leválasztott munkamenetekhez ajánlott.

A munkamenet-konfiguráció OutputBufferingMode tulajdonsága határozza meg a munkamenet-konfigurációt használó munkamenetek alapértelmezett kimeneti pufferelési módját.

A munkamenet-konfiguráció OutputBufferingMode értékének megkereséséhez az alábbi parancsformátumok egyikét használhatja:

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

Felülbírálhatja a munkamenet-konfiguráció alapértelmezett értékét, és beállíthatja a PSSession kimeneti pufferelési módját a PSSession létrehozásakor, a leválasztáskor és az újracsatlakozáskor.

Ha a távoli számítógépen a Rendszergazdák csoport tagja, létrehozhatja és módosíthatja a munkamenet-konfigurációk kimeneti pufferelési módját.

Ha olyan PSSession-t szeretne létrehozni, amelynek kimeneti pufferelési módja Drop, hozzon létre egy $PSSessionOption preferenciaváltozót, amelyben az OutputBufferingMode tulajdonság értéke Drop.

PSSessions létrehozásakor a változó értékei $PSSessionOption elsőbbséget élveznek a munkamenet-konfigurációban szereplő értékekkel szemben.

Például:

$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

Ha a DROP kimeneti pufferelési módjával szeretne PSSessiont létrehozni, használja a parancsmag OutputBufferingMode paraméterét New-PSSessionOption egy Drop értékkel rendelkező munkamenet-beállítás létrehozásához. Ezután használja a munkamenet-beállítást a parancsmagok SessionOption paraméterének New-PSSessionInvoke-Command értékében.

A munkamenet létrehozásakor beállított értékek elsőbbséget élveznek a beállítási változóban és a $PSSessionOption munkamenet-konfigurációban beállított értékekkel szemben.

Például:

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

A PSSession kimeneti pufferelési módjának leválasztásakor történő módosításához használja a parancsmag OutputBufferingMode paraméterét Disconnect-PSSession .

Például:

Disconnect-PSSession -OutputBufferingMode Drop

A PSSession kimeneti pufferelési módjának újracsatlakozáskor történő módosításához használja a parancsmag OutputBufferingMode paraméterét New-PSSessionOption egy Drop értékű munkamenet-beállítás létrehozásához. Ezután használja a munkamenet-beállítást a SessionOption paraméter Connect-PSSession vagy Receive-PSSession.

Például:

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

A drop alapértelmezett kimeneti pufferelési móddal rendelkező munkamenet-konfiguráció létrehozásához használja a parancsmag OutputBufferingMode paraméterét New-PSTransportOption egy Drop értékkel rendelkező átviteli beállításobjektum létrehozásához. Ezután használja az átviteli lehetőséget a TransportOption paraméter értékében Register-PSSessionConfiguration.

Például:

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

A munkamenet-konfigurációk alapértelmezett kimeneti pufferelési módjának módosításához használja a parancsmag OutputBufferingMode paraméterét New-PSTransportOption egy Drop értékkel rendelkező átviteli beállítás létrehozásához. Ezután használja a Transport (Átvitel) lehetőséget a SessionOption paraméter értékében Set-PSSessionConfiguration.

Például:

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

Visszacsatolási munkamenetek leválasztása

A visszacsatolási munkamenetek vagy helyi munkamenetek olyan PSSessionsok, amelyek ugyanabból a számítógépről származnak és végződnek. A többi PSSessionhoz hasonlóan az aktív visszacsatolási munkamenetek is megmaradnak a számítógépen a kapcsolat távoli végén (a helyi számítógépen), így leválaszthatja a kapcsolatot, és újra csatlakozhat a visszacsatolási munkamenetekhez.

Alapértelmezés szerint a visszacsatolási munkamenetek olyan hálózati biztonsági jogkivonattal jönnek létre, amely nem teszi lehetővé, hogy a munkamenetben futtatott parancsok hozzáférjenek más számítógépekhez. Olyan visszacsatolási munkamenetekhez csatlakozhat, amelyek hálózati biztonsági jogkivonattal rendelkeznek a helyi számítógépen vagy egy távoli számítógépen található bármely munkamenetből.

Ha azonban a , Enter-PSSessionvagy Invoke-Command parancsmag EnableNetworkAccess paraméterét New-PSSessionhasználja, a visszacsatolási munkamenet egy interaktív biztonsági jogkivonattal jön létre. Az interaktív jogkivonat lehetővé teszi, hogy a visszacsatolási munkamenetben futó parancsok adatokat kérjenek le más számítógépekről.

A visszacsatolási munkameneteket interaktív jogkivonatokkal leválaszthatja, majd ugyanabból a munkamenetből vagy ugyanazon a számítógépen egy másik munkamenetből újracsatlakoztathatja őket. A rosszindulatú hozzáférés megakadályozása érdekében azonban csak azon számítógépről csatlakozhat újra a visszacsatolási munkamenetekhez interaktív jogkivonatokkal, amelyen létrehozták őket.

Feladatok várakozása leválasztott munkamenetekben

A Wait-Job parancsmag megvárja, amíg egy feladat befejeződik, majd visszatér a parancssorba vagy a következő parancsba. Alapértelmezés szerint akkor ad vissza értéket, Wait-Job ha a munkamenet, amelyben egy feladat fut, leválasztva. Ha a Wait-Job parancsmagot arra szeretné irányítani, hogy várja meg, amíg a munkamenet újracsatlakozik, a Megnyitott állapotban használja a Force paramétert. További információ: Várakozási feladat.

Robusztus munkamenetek és véletlen leválasztás

A PSSession véletlenül megszakadhat számítógéphiba vagy hálózati kimaradás miatt. A PowerShell megpróbálja helyreállítani a PSSession-t, de sikeressége az ok súlyosságától és időtartamától függ.

Előfordulhat, hogy egy nem véletlenül leválasztott PSSession állapota megszakadt vagy lezárva, de leválasztva is lehet. Ha az Állapot értéke le van választva, ugyanazokat a technikákat használhatja a PSSession kezelésére, mint ha a munkamenet szándékosan lett volna leválasztva. A parancsmaggal Connect-PSSession például újracsatlakozhat a munkamenethez, és a Receive-PSSession parancsmaggal lekérheti a munkamenet leválasztása közben futtatott parancsok eredményeit.

Ha bezárja (kilép) azt a munkamenetet, amelyben PSSession jött létre, miközben a parancsok a PSSession-ban futnak, a PowerShell a PSSessiont leválasztott állapotban tartja a távoli számítógépen. Ha bezárja (kilép) azt a munkamenetet, amelyben a PSSession létre lett hozva, de a PSSession nem futtat parancsokat, a PowerShell nem kísérli meg a PSSession fenntartását.

Lásd még