Connect-PSSession

Maakt opnieuw verbinding met niet-verbonden sessies.

Syntax

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

Description

De Connect-PSSession cmdlet maakt opnieuw verbinding met door de gebruiker beheerde PowerShell-sessies (PSSessions) die zijn verbroken. Het werkt op sessies die opzettelijk zijn losgekoppeld, zoals met behulp van de Disconnect-PSSession cmdlet of de parameter InDisconnectedSession van de Invoke-Command cmdlet, en sessies die onbedoeld zijn verbroken, zoals door een tijdelijke netwerkstoring.

Connect-PSSession kan verbinding maken met elke niet-verbonden sessie die door dezelfde gebruiker is gestart. Dit zijn de sessies die zijn gestart of die zijn losgekoppeld van andere sessies op andere computers.

Kan Connect-PSSession echter geen verbinding maken met verbroken of gesloten sessies of interactieve sessies die zijn gestart met behulp van de Enter-PSSession cmdlet. U kunt ook geen sessies verbinden met sessies die zijn gestart door andere gebruikers, tenzij u de referenties kunt opgeven van de gebruiker die de sessie heeft gemaakt.

Zie about_Remote_Disconnected_Sessions voor meer informatie over de functie Niet-verbonden sessies.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Opnieuw verbinding maken met een sessie

Connect-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 4 ITTask          Server01        Opened        ITTasks                  Available

Met deze opdracht wordt opnieuw verbinding gemaakt met de ITTask sessie op de Server01-computer.

In de uitvoer ziet u dat de opdracht is geslaagd. De status van de sessie is Opened en de beschikbaarheid is Available, wat aangeeft dat u opdrachten in de sessie kunt uitvoeren.

Voorbeeld 2: Effect van het verbreken en opnieuw verbinden

Get-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Opened        Microsoft.PowerShell     Available

Get-PSSession | Disconnect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Disconnected  Microsoft.PowerShell          None

Get-PSSession | Connect-PSSession

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 Backups         Localhost       Opened        Microsoft.PowerShell     Available

In dit voorbeeld ziet u het effect van het verbreken van de verbinding en vervolgens opnieuw verbinding maken met een sessie.

De eerste opdracht maakt gebruik van de Get-PSSession cmdlet. Zonder de parameter ComputerName krijgt de opdracht alleen sessies die zijn gemaakt in de huidige sessie.

De uitvoer laat zien dat de opdracht de Backups sessie op de lokale computer ophaalt. De status van de sessie is Opened en de beschikbaarheid is Available.

De tweede opdracht gebruikt de Get-PSSession cmdlet om de PSSession-objecten op te halen die zijn gemaakt in de huidige sessie en de Disconnect-PSSession cmdlet om de sessies te verbreken. In de uitvoer ziet u dat de verbinding met de Backups sessie is verbroken. De status van de sessie is Disconnected en de beschikbaarheid is None.

De derde opdracht gebruikt de Get-PSSession cmdlet om de PSSession-objecten op te halen die zijn gemaakt in de huidige sessie en de Connect-PSSession cmdlet om de sessies opnieuw te verbinden. In de uitvoer ziet u dat de Backups sessie opnieuw is verbonden. De status van de sessie is Opened en de beschikbaarheid is Available.

Als u de Connect-PSSession cmdlet gebruikt voor een sessie die niet is losgekoppeld, heeft de opdracht geen invloed op de sessie en worden er geen fouten gegenereerd.

Voorbeeld 3: Reeks opdrachten in een ondernemingsscenario

Deze reeks opdrachten laat zien hoe de Connect-PSSession cmdlet kan worden gebruikt in een bedrijfsscenario. In dit geval start een systeembeheerder een langlopende taak in een sessie op een externe computer. Nadat de taak is gestart, verbreekt de beheerder de verbinding met de sessie en gaat deze naar huis. Later die avond meldt de beheerder zich aan bij haar thuiscomputer en controleert of de taak is uitgevoerd totdat deze is voltooid.

De beheerder begint met het maken van sessies op een externe computer en het uitvoeren van een script in de sessie. De eerste opdracht gebruikt de cmdlet om de New-PSSessionITTask sessie op de externe Server01-computer te maken. De opdracht gebruikt de parameter ConfigurationName om de ITTasks sessieconfiguratie op te geven. Met de opdracht worden de sessies in de $s variabele opgeslagen.

De tweede opdracht-cmdlet Invoke-Command voor het starten van een achtergrondtaak in de sessie in de $s variabele. Hierbij wordt de FilePath-parameter gebruikt om het script in de achtergrondtaak uit te voeren.

De derde opdracht gebruikt de cmdlet om de Disconnect-PSSession verbinding met de sessie in de $s variabele te verbreken. De opdracht gebruikt de parameter OutputBufferingMode met een waarde om Drop te voorkomen dat het script wordt geblokkeerd door uitvoer te moeten leveren aan de sessie. Hierbij wordt de parameter IdleTimeoutSec gebruikt om de time-out van de sessie uit te breiden naar 15 uur. Wanneer de opdracht is voltooid, vergrendelt de beheerder haar computer en gaat de avond naar huis.

Later die avond start de beheerder haar thuiscomputer, meldt zich aan bij het bedrijfsnetwerk en start PowerShell. De vierde opdracht gebruikt de Get-PSSession cmdlet om de sessies op de Server01-computer op te halen. Met de opdracht wordt de ITTask sessie gevonden. De vijfde opdracht gebruikt de Connect-PSSession cmdlet om verbinding te maken met de ITTask sessie. Met de opdracht wordt de sessie opgeslagen in de $s variabele.

De zesde opdracht gebruikt de Invoke-Command cmdlet om een Get-Job opdracht uit te voeren in de sessie in de $s variabele. De uitvoer laat zien dat de taak is voltooid. De zevende opdracht gebruikt de Invoke-Command cmdlet om een Receive-Job opdracht uit te voeren in de sessie in de $s variabele in de sessie. Met de opdracht worden de resultaten in de $BackupSpecs variabele opgeslagen. De achtste opdracht gebruikt de Invoke-Command cmdlet om een ander script in de sessie uit te voeren. De opdracht gebruikt de waarde van de $BackupSpecs variabele in de sessie als invoer voor het script.

$s = New-PSSession -ComputerName Server01 -Name ITTask -ConfigurationName ITTasks
Invoke-Command -Session $s -ScriptBlock {Start-Job -FilePath \\Server30\Scripts\Backup-SQLDatabase.ps1}

Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
2      Job2            Running       True            Server01             \\Server30\Scripts\Backup...

Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

Get-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

$s = Connect-PSSession -ComputerName Server01 -Name ITTask

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Opened        ITTasks               Available

Invoke-Command -Session $s -ScriptBlock {Get-Job}

Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
2      Job2            Completed     True            Server01             \\Server30\Scripts\Backup...

Invoke-Command -Session $s -ScriptBlock {$BackupSpecs = Receive-Job -JobName Job2}
Invoke-Command -Session $s -ScriptBlock {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}
Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

De negende opdracht verbreekt de verbinding met de sessie in de $s variabele. De beheerder sluit PowerShell en sluit de computer. Ze kan de volgende dag opnieuw verbinding maken met de sessie en de scriptstatus controleren vanaf haar werkcomputer.

Parameters

-AllowRedirection

Geeft aan dat deze cmdlet omleiding van deze verbinding naar een alternatieve URI toestaat.

Wanneer u de parameter Verbinding maken ionURI gebruikt, kan de externe bestemming een instructie retourneren om om te leiden naar een andere URI. PowerShell leidt standaard geen verbindingen om, maar u kunt deze parameter gebruiken om de verbinding om te leiden.

U kunt ook het aantal keren beperken dat de verbinding wordt omgeleid door de optiewaarde Maximum Verbinding maken ionRedirectionCount-sessie te wijzigen. Gebruik de parameter MaximumRedirection van de New-PSSessionOption cmdlet of stel de eigenschap Maximum Verbinding maken ionRedirectionCount van de $PSSessionOption voorkeursvariabele in. De standaardwaarde is 5.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

Hiermee geeft u de naam van een toepassing. Deze cmdlet maakt alleen verbinding met sessies die gebruikmaken van de opgegeven toepassing.

Voer het toepassingsnaamsegment van de verbindings-URI in. In de volgende verbindings-URI is de naam van de toepassing bijvoorbeeld WSMan: http://localhost:5985/WSMAN. De toepassingsnaam van een sessie wordt opgeslagen in runspace.Verbinding maken de eigenschap ionInfo.AppName van de sessie.

De waarde van deze parameter wordt gebruikt voor het selecteren en filteren van sessies. De toepassing die door de sessie wordt gebruikt, wordt niet gewijzigd.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Authentication

Hiermee geeft u het mechanisme op dat wordt gebruikt voor het verifiëren van gebruikersreferenties in de opdracht om opnieuw verbinding te maken met de niet-verbonden sessie. De aanvaardbare waarden voor deze parameter zijn:

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

De standaardwaarde is Default.

Zie AuthenticationMechanism Enumeration voor meer informatie over de waarden van deze parameter.

Let op

CredSSP-verificatie (Credential Security Support Provider), waarbij de referenties van de gebruiker worden doorgegeven aan een externe computer die moet worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de externe bewerking. Als de externe computer is aangetast, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Hiermee geeft u het certificaat van de digitale openbare sleutel (X509) van een gebruikersaccount dat gemachtigd is om verbinding te maken met de niet-verbonden sessie. Voer de vingerafdruk van het certificaat in.

Certificaten worden gebruikt in verificatie op basis van clientcertificaten. Ze kunnen alleen worden toegewezen aan lokale gebruikersaccounts. Ze werken niet met domeinaccounts.

Als u een vingerafdruk van een certificaat wilt ophalen, gebruikt u een Get-Item of Get-ChildItem opdracht in het PowerShell-station Cert: .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Hiermee geeft u de computers waarop de niet-verbonden sessies worden opgeslagen. Sessies worden opgeslagen op de computer die zich aan de serverzijde bevindt of het ontvangen van een verbinding. Standaard is dit de lokale computer.

Typ de NetBIOS-naam, een IP-adres of een volledig gekwalificeerde domeinnaam van één computer. Jokertekens zijn niet toegestaan. Als u de lokale computer wilt opgeven, typt u de computernaam of localhosteen punt (.)

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ConfigurationName

Verbinding maken alleen voor sessies die gebruikmaken van de opgegeven sessieconfiguratie.

Voer een configuratienaam of de volledig gekwalificeerde resource-URI in voor een sessieconfiguratie. Als u alleen de configuratienaam opgeeft, wordt de volgende schema-URI voorafgegaan: http://schemas.microsoft.com/powershell De configuratienaam van een sessie wordt opgeslagen in de eigenschap ConfigurationName van de sessie.

De waarde van deze parameter wordt gebruikt voor het selecteren en filteren van sessies. De sessieconfiguratie die door de sessie wordt gebruikt, wordt niet gewijzigd.

Zie about_Session_Configurations (Engelstalig) voor meer informatie over sessieconfiguraties.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionUri

Hiermee geeft u de URI's van de verbindingseindpunten voor de niet-verbonden sessies.

De URI moet volledig gekwalificeerd zijn. De notatie van deze tekenreeks is als volgt:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

De standaardwaarde is als volgt:

http://localhost:5985/WSMAN

Als u geen verbindings-URI opgeeft, kunt u de parameters UseSSL en Poort gebruiken om de verbindings-URI-waarden op te geven.

Geldige waarden voor het transportsegment van de URI zijn HTTP en HTTPS. Als u een verbindings-URI met een transportsegment opgeeft, maar geen poort opgeeft, wordt de sessie gemaakt met standaardenpoorten: 80 voor HTTP en 443 voor HTTPS. Als u de standaardpoorten voor externe communicatie met PowerShell wilt gebruiken, geeft u de poort 5985 op voor HTTP of 5986 voor HTTPS.

Als de doelcomputer de verbinding omleidt naar een andere URI, voorkomt PowerShell de omleiding, tenzij u de parameter AllowRedirection in de opdracht gebruikt.

Type:Uri[]
Aliases:URI, CU
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om verbinding te maken met de niet-verbonden sessie. Standaard is dit de huidige gebruiker.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in dat is gegenereerd door de Get-Credential cmdlet. Als u een gebruikersnaam typt, wordt u gevraagd het wachtwoord in te voeren.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als SecureString.

Notitie

Zie Hoe veilig is SecureString SecureString?voor meer informatie over SecureString-gegevensbeveiliging.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Hiermee geeft u de id's van de niet-verbonden sessies. De id-parameter werkt alleen wanneer de niet-verbonden sessie eerder is verbonden met de huidige sessie.

Deze parameter is geldig, maar niet effectief wanneer de sessie is opgeslagen op de lokale computer, maar niet is verbonden met de huidige sessie.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Hiermee geeft u de exemplaar-id's van de niet-verbonden sessies.

De exemplaar-id is een GUID die een PSSession uniek identificeert op een lokale of externe computer.

De exemplaar-id wordt opgeslagen in de eigenschap InstanceID van de PSSession.

Type:Guid[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

Hiermee geeft u de beschrijvende namen van de niet-verbonden sessies.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Port

Hiermee geeft u de netwerkpoort op de externe computer die wordt gebruikt om opnieuw verbinding te maken met de sessie. Als u verbinding wilt maken met een externe computer, moet de externe computer luisteren op de poort die door de verbinding wordt gebruikt. De standaardpoorten zijn 5985, de WinRM-poort voor HTTP en 5986, de WinRM-poort voor HTTPS.

Voordat u een alternatieve poort gebruikt, moet u de WinRM-listener op de externe computer configureren om naar die poort te luisteren. Als u de listener wilt configureren, typt u de volgende twee opdrachten bij de PowerShell-prompt:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Gebruik de poortparameter alleen als u dit moet doen. De poort die in de opdracht is ingesteld, is van toepassing op alle computers of sessies waarop de opdracht wordt uitgevoerd. Een alternatieve poortinstelling kan verhinderen dat de opdracht wordt uitgevoerd op alle computers.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Session

Hiermee geeft u de niet-verbonden sessies. Voer een variabele in die de PSSession-objecten bevat of een opdracht waarmee de PSSession-objecten worden gemaakt of opgehaald, zoals een Get-PSSession opdracht.

Type:PSSession[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

Hiermee geeft u geavanceerde opties voor de sessie. Voer een SessionOption-object in, zoals een object dat u maakt met behulp van de New-PSSessionOption cmdlet of een hash-tabel waarin de sleutels namen van sessieopties zijn en de waarden sessieoptiewaarden zijn.

De standaardwaarden voor de opties worden bepaald door de waarde van de $PSSessionOption voorkeursvariabele, als deze is ingesteld. Anders worden de standaardwaarden ingesteld op basis van opties die zijn ingesteld in de sessieconfiguratie.

De waarden voor sessieopties hebben voorrang op standaardwaarden voor sessies die zijn ingesteld in de $PSSessionOption voorkeursvariabele en in de sessieconfiguratie. Ze hebben echter geen voorrang op maximumwaarden, quota of limieten die zijn ingesteld in de sessieconfiguratie.

Zie voor een beschrijving van de sessieopties die de standaardwaarden New-PSSessionOptionbevatten. Zie about_Preference_Variables voor meer informatie over de $PSSessionOption voorkeursvariabele. Zie about_Session_Configurations (Engelstalig) voor meer informatie over sessieconfiguraties.

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Hiermee geeft u het maximum aantal gelijktijdige verbindingen op dat tot stand kan worden gebracht om deze opdracht uit te voeren. Als u deze parameter weglaat of een waarde invoert van 0, de standaardwaarde, 32wordt gebruikt.

De beperkingslimiet is alleen van toepassing op de huidige opdracht, niet op de sessie of op de computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Geeft aan dat deze cmdlet het SSL-protocol (Secure Sockets Layer) gebruikt om verbinding te maken met de niet-verbonden sessie. Standaard wordt SSL niet gebruikt.

WS-Management versleutelt alle PowerShell-inhoud die via het netwerk wordt verzonden. De UseSSL-parameter is een extra beveiliging waarmee de gegevens via een HTTPS-verbinding worden verzonden in plaats van een HTTP-verbinding.

Als u deze parameter gebruikt, maar SSL niet beschikbaar is op de poort die wordt gebruikt voor de opdracht, mislukt de opdracht.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

PSSession

U kunt een sessie (PSSession) doorsluisen naar deze cmdlet.

Uitvoerwaarden

PSSession

Met deze cmdlet wordt een object geretourneerd dat de sessie vertegenwoordigt waarmee deze opnieuw verbinding heeft gemaakt.

Notities

Windows PowerShell bevat de volgende aliassen voor Connect-PSSession:

  • cnsn

  • Deze cmdlet is alleen beschikbaar op Windows-platforms.

  • Connect-PSSession Maakt alleen opnieuw verbinding met sessies die zijn verbroken, dat wil gezegd sessies met de waarde Verbinding verbroken voor de eigenschap Status . Alleen sessies die zijn verbonden met of eindigen op computers met Windows PowerShell 3.0 of hoger, kunnen worden verbroken en opnieuw worden verbonden.

  • Als u Connect-PSSession een sessie gebruikt die niet is losgekoppeld, heeft de opdracht geen invloed op de sessie en worden er geen fouten gegenereerd.

  • Verbroken loopbacksessies met interactieve tokens, die worden gemaakt met behulp van de parameter EnableNetworkAccess , kunnen alleen opnieuw worden verbonden vanaf de computer waarop de sessie is gemaakt. Deze beperking beveiligt de computer tegen schadelijke toegang.

  • De waarde van de eigenschap State van een PSSession is relatief ten opzichte van de huidige sessie. Daarom betekent een waarde van Verbinding verbroken dat de PSSession niet is verbonden met de huidige sessie. Het betekent echter 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 sessie of opnieuw verbinding kunt maken.

    Een beschikbaarheidswaarde van None geeft aan dat u verbinding kunt maken met de sessie. Een waarde bezet geeft aan dat u geen verbinding kunt maken met de PSSession omdat deze is verbonden met een andere sessie.

    Zie RunspaceState-opsomming voor meer informatie over de waarden van de eigenschap Status van sessies.

    Zie De opsomming RunspaceAvailability voor meer informatie over de waarden van de eigenschap Beschikbaarheid van sessies.

  • U kunt de time-outwaarde voor inactiviteit van een PSSession niet wijzigen wanneer u verbinding maakt met de PSSession. De parameter SessionOption van Connect-PSSession neemt een SessionOption-object met een IdleTimeout-waarde . De waarde IdleTimeout van het SessionOption-object en de idleTimeout-waarde van de $PSSessionOption variabele worden echter genegeerd bij het maken van verbinding met een PSSession.

    U kunt de time-out voor inactiviteit van een PSSession instellen en wijzigen wanneer u de PSSession maakt, met behulp van de New-PSSession of Invoke-Command cmdlets en wanneer u de verbinding met de PSSession verbreekt.

    De eigenschap IdleTimeout van een PSSession is essentieel voor niet-verbonden sessies, omdat hiermee wordt bepaald hoelang een niet-verbonden sessie wordt onderhouden op de externe computer. Niet-verbonden sessies worden beschouwd als niet-actief vanaf het moment dat de verbinding is verbroken, zelfs als opdrachten worden uitgevoerd in de niet-verbonden sessie.