about_Remote_Disconnected_Sessions
Korte beschrijving
Hierin wordt uitgelegd hoe u de verbinding met een PowerShell-sessie (PSSession) verbreekt en opnieuw verbinding maakt.
Lange beschrijving
Vanaf PowerShell 3.0 kunt u de verbinding met een PSSession verbreken en opnieuw verbinding maken met de PSSession vanaf dezelfde computer of een andere computer. De sessiestatus wordt gehandhaafd en opdrachten in de PSSession blijven worden uitgevoerd terwijl de verbinding met de sessie wordt verbroken.
Met de functie Niet-verbonden sessies kunt u de sessie sluiten waarin een PSSession is gemaakt en de computer afsluiten zonder dat er opdrachten worden onderbroken die in de externe PSSession worden uitgevoerd. Niet-verbonden sessies zijn handig voor het uitvoeren van opdrachten die een langere tijd in beslag nemen.
U kunt geen verbinding maken met een interactieve sessie die is gestart met de Enter-PSSession
cmdlet.
U kunt niet-verbonden sessies gebruiken om PSSessions te beheren die onbedoeld zijn verbroken als gevolg van een computer- of netwerkstoring.
Sessie-cmdlets verbroken
De volgende cmdlets ondersteunen de functie Niet-verbonden sessies:
Connect-PSSession
: Verbinding maken naar een niet-verbonden PSSession.Disconnect-PSSession
: Hiermee wordt een PSSession verbroken.Get-PSSession
: Haalt PSSessions op de lokale computer of op externe computers.Receive-PSSession
: Haalt de resultaten op van opdrachten die zijn uitgevoerd in niet-verbonden sessies.Invoke-Command
: Met de parameter InDisconnectedSession wordt een PSSession gemaakt en wordt de verbinding onmiddellijk verbroken.
Hoe de functie Niet-verbonden sessies werkt
Vanaf PowerShell 3.0 zijn PSSessions onafhankelijk van de sessies waarin ze worden gemaakt. Actieve PSSessions worden onderhouden op de externe computer of serverzijde van de verbinding, zelfs als de computer aan de clientzijde wordt afgesloten of losgekoppeld van het netwerk.
In PowerShell 2.0 wordt de PSSession verwijderd van de externe computer wanneer de verbinding is verbroken met de oorspronkelijke sessie of de sessie waarin deze is gemaakt, eindigt.
Wanneer u een PSSession loskoppelt, blijft de PSSession actief en wordt deze op de externe computer onderhouden. De sessiestatus verandert van Actief in Verbroken. U kunt opnieuw verbinding maken met een niet-verbonden PSSession vanuit
- De huidige sessie op dezelfde computer
- Een andere sessie op dezelfde computer
- Vanuit een sessie op een andere computer
De externe computer die de sessie onderhoudt, moet actief zijn en verbonden zijn met het netwerk.
Opdrachten in een niet-verbonden PSSession blijven ononderbroken worden uitgevoerd op de externe computer totdat de opdracht is voltooid of de uitvoerbuffer wordt gevuld. Als u wilt voorkomen dat een volledige uitvoerbuffer een opdracht onderbreekt, gebruikt u de parameter OutputBufferingMode van de Disconnect-PSSession
, New-PSSessionOption
of New-PSTransportOption
cmdlets.
Niet-verbonden sessies worden onderhouden met de status Verbroken op de externe computer. Ze zijn beschikbaar om opnieuw verbinding te maken totdat u de PSSession verwijdert, zoals met behulp van de Remove-PSSession
cmdlet, of totdat de time-out voor inactiviteit van de PSSession verloopt. U kunt de time-out voor inactiviteit van een PSSession aanpassen met behulp van de parameters IdleTimeoutSec of IdleTimeout van de Disconnect-PSSession
, New-PSSessionOption
of New-PSTransportOption
cmdlets.
Een andere gebruiker kan verbinding maken met PSSessions die u hebt gemaakt, maar alleen als ze de referenties kunnen opgeven die zijn gebruikt om de sessie te maken of de RunAs
referenties van de sessieconfiguratie te gebruiken.
PSSessions verkrijgen
Vanaf PowerShell 3.0 krijgt de Get-PSSession
cmdlet PSSessions op de lokale computer en externe computers. Het kan ook PSSessions ophalen die zijn gemaakt in de huidige sessie.
Gebruik de parameters ComputerName of Verbinding maken ionUri om PSSessions op de lokale computer of externe computers op te halen. Zonder parameters wordt Get-PSSession
PSSession opgevraagd die zijn gemaakt in de lokale sessie, ongeacht waar ze worden beƫindigd.
In het volgende voorbeeld ziet u hoe u deze kunt gebruiken Get-PSSession
.
New-PSSession
maakt een sessie naar de Server01-computer. De sessie bevindt zich op de Server01-computer.
New-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
Als u de sessie wilt ophalen van Server01, gebruikt u de parameter ComputerName om het doel van Get-PSSession
.
Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
Als de waarde van de parameter ComputerName van Get-PSSession
localhost is, Get-PSSession
worden PSSessions opgehaald die eindigen op en worden onderhouden op de lokale computer. Er worden geen PSSessions op de Server01-computer weergegeven, zelfs niet als ze op de lokale computer zijn gestart.
Get-PSSession -ComputerName localhost
Als u sessies wilt ophalen die in de huidige sessie zijn gemaakt, gebruikt u de Get-PSSession
cmdlet zonder parameters. In dit voorbeeld Get-PSSession
wordt de PSSession opgehaald die in de huidige sessie is gemaakt en die verbinding maakt met de Server01-computer.
Get-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Opened Microsoft.PowerShell Available
Sessies verbreken
Gebruik de Disconnect-PSSession
cmdlet om de verbinding met een sessie te verbreken. Als u de PSSession wilt identificeren, gebruikt u de sessieparameter of sluist u een PSSession-object van de New-PSSession
of Get-PSSession
cmdlets naar Disconnect-PSSession
.
Met de volgende opdracht wordt de PSSession losgekoppeld van de Server01-computer. U ziet dat de waarde van de eigenschap Status is verbroken en dat de beschikbaarheid geen is.
Get-PSSession -ComputerName Server01 | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 Server01 Disconnected Microsoft.PowerShell None
Als u een niet-verbonden sessie wilt maken, gebruikt u de parameter InDisconnectedSession van de Invoke-Command
cmdlet. Er wordt een sessie gemaakt, de opdracht gestart en de verbinding wordt onmiddellijk verbroken voordat de opdracht uitvoer kan retourneren.
Met de volgende opdracht wordt een Get-WinEvent
opdracht uitgevoerd in een niet-verbonden sessie op de externe computer Server02.
Invoke-Command -ComputerName Server02 -InDisconnectedSession -ScriptBlock {
Get-WinEvent -LogName "*PowerShell*" }
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
4 Session3 Server02 Disconnected Microsoft.PowerShell None
Verbinding maken met niet-verbonden sessies
Als u verbinding wilt maken met een niet-verbonden sessie, gebruikt u de Connect-PSSession
cmdlet met de parameters ComputerName of Verbinding maken ionUri. U kunt ook de uitvoer van Get-PSSession
naar Connect-PSSession
.
In het volgende voorbeeld worden de sessies op de Server02-computer ophaalt. De uitvoer bevat twee niet-verbonden sessies.
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
Met de volgende opdracht wordt verbinding gemaakt met Session2. De PSSession is nu geopend en beschikbaar.
Connect-PSSession -ComputerName Server02 -Name Session2
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session2 juneb-srv8320 Opened Microsoft.PowerShell Available
De resultaten ophalen
Gebruik de Receive-PSSession
cmdlet om de resultaten op te halen van opdrachten die zijn uitgevoerd in een niet-verbonden PSSession.
U kunt deze gebruiken in plaats van de Connect-PSSession
cmdlet te gebruikenReceive-PSSession
. Als de sessie al opnieuw is verbonden, Receive-PSSession
worden de resultaten opgehaald van opdrachten die zijn uitgevoerd toen de sessie werd verbroken. Als de VERBINDING met PSSession nog steeds is verbroken, Receive-PSSession
maakt u er verbinding mee en haalt u vervolgens de resultaten op van opdrachten die zijn uitgevoerd terwijl de verbinding is verbroken.
Receive-PSSession
kan de resultaten in een taak (asynchroon) of naar het hostprogramma (synchroon) retourneren. Gebruik de outTarget-parameter om Taak of Host te selecteren. De standaardwaarde is Host. Als de opdracht die wordt ontvangen echter is gestart in de huidige sessie als een taak, wordt deze standaard geretourneerd als een taak .
In het volgende voorbeeld wordt de Receive-PSSession
cmdlet gebruikt om opnieuw verbinding te maken met de sessie op Server02 en de resultaten van de Get-WinEvent
opdracht op te halen. De parameter OutTarget wordt gebruikt om de resultaten in een taak op te halen.
Receive-PSSession -ComputerName Server02 -Name Session3 -OutTarget Job
Id Name PSJobTypeName State HasMoreData Location
-- ---- ------------- ----- ----------- --------
3 Job3 RemoteJob Running True Server02
Gebruik de cmdlet om de resultaten van de Receive-Job
taak op te halen.
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
Status- en beschikbaarheidseigenschappen
De status- en beschikbaarheidseigenschappen van een niet-verbonden PSSession geven aan of de sessie beschikbaar is om er opnieuw verbinding mee te maken.
Wanneer een PSSession is verbonden met de huidige sessie, wordt de status geopend en is de beschikbaarheid beschikbaar. Wanneer u de verbinding met de PSSession verbreekt, wordt de PSSession-status Verbroken en is de beschikbaarheid geen.
De waarde van de eigenschap State is relatief ten opzichte van de huidige sessie. Een waarde van Verbinding verbroken betekent dat de PSSession niet is verbonden met de huidige sessie. Maar het betekent niet dat de PSSession is losgekoppeld van alle sessies. Het kan zijn dat deze is verbonden met een andere sessie.
Gebruik de eigenschap Beschikbaarheid om te bepalen of u verbinding kunt maken met de PSSession of opnieuw verbinding kunt maken. De waarde None geeft aan dat u verbinding kunt maken met de sessie. Een waarde van Bezet geeft aan dat u geen verbinding kunt maken met de PSSession omdat deze is verbonden met een andere sessie.
Het volgende voorbeeld wordt uitgevoerd in twee PowerShell-sessies op dezelfde computer. Let op de veranderende waarden van de eigenschappen Status en Beschikbaarheid in elke sessie omdat de PSSession is verbroken en opnieuw is verbonden.
# 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
Verbroken sessies worden op de externe computer onderhouden totdat u ze verwijdert, zoals met behulp van de Remove-PSSession
cmdlet, of er is een time-out opgetreden. De eigenschap IdleTimeout van een PSSession bepaalt hoe lang een niet-verbonden sessie wordt onderhouden voordat deze wordt verwijderd.
Time-outwaarden voor inactiviteit
PSSessions zijn niet actief wanneer de heartbeat-thread geen antwoord ontvangt. Als u de verbinding met een sessie verbreekt, wordt deze inactief en wordt de klok Inactiviteit gestart, zelfs als opdrachten nog steeds worden uitgevoerd in de niet-verbonden sessie. PowerShell beschouwt niet-verbonden sessies als actief, maar niet actief.
Wanneer u sessies maakt en de verbinding verbreekt, controleert u of de time-out voor inactiviteit in de PSSession lang genoeg is om de sessie te onderhouden voor uw behoeften, maar niet zo lang dat deze onnodige resources op de externe computer verbruikt.
De eigenschap IdleTimeoutMs van de sessieconfiguratie bepaalt de standaard time-out voor inactiviteit van sessies die gebruikmaken van de sessieconfiguratie. U kunt de standaardwaarde overschrijven, maar deze waarde kan de eigenschap MaxIdleTimeoutMs van de sessieconfiguratie niet overschrijden.
Gebruik de volgende opdracht om de waarden van IdleTimeoutMs en MaxIdleTimeoutMs op te halen voor een sessieconfiguratie.
Get-PSSessionConfiguration |
Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs
Als u lid bent van de groep Beheer istrators op de externe computer, kunt u deze waarden instellen wanneer u een sessieconfiguratie maakt. U kunt ook de waarden wijzigen wanneer u de verbinding verbreekt.
De time-outwaarde voor inactiviteit van sessieconfiguraties en sessieopties is in milliseconden. De time-outwaarde voor inactiviteit van sessies en sessieconfiguratieopties is binnen enkele seconden.
U kunt de time-out voor inactiviteit van een PSSession instellen wanneer u de PSSession (New-PSSession
, Invoke-Command
) maakt en wanneer u de verbinding verbreekt (Disconnect-PSSession
). U kunt de waarde IdleTimeout echter niet wijzigen wanneer u verbinding maakt met de PSSession (Connect-PSSession
) of resultaten opgeeft (Receive-PSSession
).
De Connect-PSSession
en Receive-PSSession
cmdlets hebben een SessionOption-parameter die een PSSessionOption-object gebruikt, zoals een object dat wordt geretourneerd door de New-PSSessionOption
cmdlet.
De waarde IdleTimeout in sessionOption-object en de waarde IdleTimeout in de $PSSessionOption
voorkeursvariabele wijzigen niet de waarde van de IdleTimeout in een Connect-PSSession
of Receive-PSSession
opdracht.
Als u een PSSession wilt maken met een bepaalde time-outwaarde voor inactiviteit, maakt u een $PSSessionOption
voorkeursvariabele. Stel de waarde van de eigenschap IdleTimeout in op de gewenste waarde (in milliseconden).
Wanneer u PSSessions maakt, hebben de waarden in $PSSessionOption
de variabele voorrang op de waarden in de sessieconfiguratie.
Met de volgende opdracht wordt bijvoorbeeld een time-out voor inactiviteit van 48 uur ingesteld:
$PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000
Als u een PSSession wilt maken met een bepaalde time-outwaarde voor inactiviteit, gebruikt u de parameter IdleTimeoutMSec van de New-PSSessionOption
cmdlet. Gebruik vervolgens de sessieoptie in de waarde van de parameter SessionOption van de New-PSSession
of Invoke-Command
cmdlets.
De waarden die zijn ingesteld bij het maken van de sessie hebben voorrang op de waarden die zijn ingesteld in de $PSSessionOption
voorkeursvariabele en de sessieconfiguratie.
Voorbeeld:
$o = New-PSSessionOption -IdleTimeoutMSec 172800000
New-PSSession -SessionOption $o
Als u de time-out voor inactiviteit van een PSSession wilt wijzigen wanneer de verbinding wordt verbroken, gebruikt u de parameter IdleTimeoutSec van de Disconnect-PSSession
cmdlet.
Voorbeeld:
Disconnect-PSSession -IdleTimeoutSec 172800
Als u een sessieconfiguratie wilt maken met een bepaalde time-out voor inactiviteit en een maximale time-out voor inactiviteit, gebruikt u de parameters IdleTimeoutSec en MaxIdleTimeoutSec van de New-PSTransportOption
cmdlet. Gebruik vervolgens de transportoptie in de waarde van de parameter TransportOption van Register-PSSessionConfiguration
.
Voorbeeld:
$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Register-PSSessionConfiguration -Name Test -TransportOption $o
Als u de standaard time-out voor inactiviteit en de maximale time-out voor inactiviteit van een sessieconfiguratie wilt wijzigen, gebruikt u de parameters IdleTimeoutSec en MaxIdleTimeoutSec van de New-PSTransportOption
cmdlet. Gebruik vervolgens de transportoptie in de waarde van de parameter TransportOption van Set-PSSessionConfiguration
.
Voorbeeld:
$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Set-PSSessionConfiguration -Name Test -TransportOption $o
Uitvoerbuffermodus
De uitvoerbuffermodus van een PSSession bepaalt hoe de uitvoer van de opdracht wordt beheerd wanneer de uitvoerbuffer van de PSSession vol is.
In een niet-verbonden sessie bepaalt de uitvoerbuffermodus effectief of de opdracht blijft worden uitgevoerd terwijl de sessie wordt verbroken.
De geldige waarden als volgt:
Block
(standaard): wanneer de uitvoerbuffer vol is, wordt de uitvoering onderbroken totdat de buffer leeg is.Block
behoudt gegevens, maar kan de opdracht onderbreken.Drop
- Wanneer de uitvoerbuffer vol is, wordt de uitvoering voortgezet. Wanneer er nieuwe uitvoer wordt gegenereerd, wordt de oudste uitvoer verwijderd. Wanneer u deDrop
waarde gebruikt, moet u de uitvoer omleiden naar een bestand. Deze waarde wordt aanbevolen voor niet-verbonden sessies.
De eigenschap OutputBufferingMode van de sessieconfiguratie bepaalt de standaardbuffermodus van sessies die gebruikmaken van de sessieconfiguratie.
Als u de waarde van een sessieconfiguratie van de OutputBufferingMode wilt vinden, kunt u een van de volgende opdrachtindelingen gebruiken:
(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode
Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode
U kunt de standaardwaarde in de sessieconfiguratie overschrijven en de uitvoerbuffermodus van een PSSession instellen wanneer u een PSSession maakt, wanneer u de verbinding verbreekt en wanneer u opnieuw verbinding maakt.
Als u lid bent van de groep Beheer istrators op de externe computer, kunt u de uitvoerbuffermodus van sessieconfiguraties maken en wijzigen.
Als u een PSSession wilt maken met een uitvoerbuffermodus van Drop
, maakt u een $PSSessionOption
voorkeursvariabele waarin de waarde van de eigenschap OutputBufferingMode is Drop
.
Wanneer u PSSessions maakt, hebben de waarden in $PSSessionOption
de variabele voorrang op de waarden in de sessieconfiguratie.
Voorbeeld:
$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop
Gebruik de parameter OutputBufferingMode van de New-PSSessionOption
cmdlet om een sessieoptie te maken met een waarde van Drop
. Gebruik vervolgens het PSSessionOption-object als waarde van de parameter SessionOption van de New-PSSession
of Invoke-Command
cmdlets.
De waarden die zijn ingesteld bij het maken van de sessie hebben voorrang op de waarden die zijn ingesteld in de $PSSessionOption
voorkeursvariabele en de sessieconfiguratie.
Voorbeeld:
$o = New-PSSessionOption -OutputBufferingMode Drop
New-PSSession -SessionOption $o
Als u de uitvoerbuffermodus van een PSSession wilt wijzigen wanneer de verbinding wordt verbroken, gebruikt u de parameter OutputBufferingMode van de Disconnect-PSSession
cmdlet.
Voorbeeld:
Disconnect-PSSession -OutputBufferingMode Drop
Als u de uitvoerbuffermodus van een PSSession wilt wijzigen wanneer u opnieuw verbinding maakt, gebruikt u de parameter OutputBufferingMode van de New-PSSessionOption
cmdlet. Gebruik vervolgens de sessieoptie in de waarde van de parameter SessionOption van Connect-PSSession
of Receive-PSSession
.
Voorbeeld:
$o = New-PSSessionOption -OutputBufferingMode Drop
Connect-PSSession -ComputerName Server01 -Name Test -SessionOption $o
Als u een sessieconfiguratie wilt maken met een standaardmodus voor uitvoerbuffering Drop
, gebruikt u de parameter OutputBufferingMode van de New-PSTransportOption
cmdlet om een transportoptieobject met de waarde van Drop
. Gebruik vervolgens de transportoptie in de waarde van de parameter TransportOption van Register-PSSessionConfiguration
.
Voorbeeld:
$o = New-PSTransportOption -OutputBufferingMode Drop
Register-PSSessionConfiguration -Name Test -TransportOption $o
Als u de standaardmodus voor uitvoerbuffering van een sessieconfiguratie wilt wijzigen, gebruikt u de parameter OutputBufferingMode van de New-PSTransportOption
cmdlet om een transportoptie te maken met een waarde van Drop
. Gebruik vervolgens de optie Transport in de waarde van de parameter SessionOption van Set-PSSessionConfiguration
.
Voorbeeld:
$o = New-PSTransportOption -OutputBufferingMode Drop
Set-PSSessionConfiguration -Name Test -TransportOption $o
De verbinding met loopbacksessies verbreken
Loopbacksessies, of lokale sessies, zijn PSSessions die afkomstig zijn en beƫindigen op dezelfde computer. Net als andere PSSessions worden actieve loopbacksessies onderhouden op de computer aan het externe uiteinde van de verbinding (de lokale computer), zodat u de verbinding met loopbacksessies kunt verbreken en opnieuw kunt verbinden.
Loopback-sessies worden standaard gemaakt met een netwerkbeveiligingstoken dat niet toestaat dat opdrachten in de sessie worden uitgevoerd voor toegang tot andere computers. U kunt opnieuw verbinding maken met loopbacksessies met een netwerkbeveiligingstoken vanaf elke sessie op de lokale computer of een externe computer.
Als u echter de parameter EnableNetworkAccess van de New-PSSession
, Enter-PSSession
of Invoke-Command
cmdlet gebruikt, wordt de loopbacksessie gemaakt met een interactief beveiligingstoken. Met het interactieve token kunnen opdrachten die in de loopbacksessie worden uitgevoerd, gegevens ophalen van andere computers.
U kunt loopbacksessies met interactieve tokens loskoppelen en vervolgens opnieuw verbinding maken vanuit dezelfde sessie of een andere sessie op dezelfde computer. Als u echter schadelijke toegang wilt voorkomen, kunt u opnieuw verbinding maken met loopbacksessies met interactieve tokens vanaf de computer waarop ze zijn gemaakt.
Wachten op taken in niet-verbonden sessies
De Wait-Job
cmdlet wacht totdat een taak is voltooid en keert vervolgens terug naar de opdrachtprompt of de volgende opdracht. Retourneert standaard als de sessie waarin een taak wordt uitgevoerd, Wait-Job
wordt verbroken. Als u de Wait-Job
cmdlet wilt laten wachten totdat de sessie opnieuw is verbonden, gebruikt u de parameter Force in de status Geopend. Zie Wachttaak voor meer informatie.
Robuuste sessies en onbedoelde verbroken verbinding
Een PSSession is mogelijk onbedoeld verbroken vanwege een computerfout of netwerkstoring. PowerShell probeert de PSSession te herstellen, maar het succes ervan is afhankelijk van de ernst en duur van de oorzaak.
De status van een onbedoeld verbroken PSSession is mogelijk verbroken of gesloten, maar kan ook worden verbroken. Als de waarde van Status is verbroken, kunt u dezelfde technieken gebruiken om de PSSession te beheren zoals u zou doen als de sessie opzettelijk is verbroken. U kunt bijvoorbeeld de Connect-PSSession
cmdlet gebruiken om opnieuw verbinding te maken met de sessie en de Receive-PSSession
cmdlet om resultaten op te halen van opdrachten die zijn uitgevoerd terwijl de sessie is verbroken.
Als u de sessie sluit waarin een PSSession is gemaakt terwijl opdrachten worden uitgevoerd in de PSSession, onderhoudt PowerShell de PSSession in de status Verbinding verbroken op de externe computer. Als u de sessie waarin een PSSession is gemaakt, sluit (afsluit), maar er geen opdrachten worden uitgevoerd in de PSSession, probeert PowerShell de PSSession niet te onderhouden.
Zie ook
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor