Delen via


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>]
       -InstanceId <Guid[]>
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-Port <Int32>]
       [-UseSSL]
       [-SessionOption <PSSessionOption>]
       [-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
       [-ConfigurationName <String>]
       [-ConnectionUri] <Uri[]>
       [-AllowRedirection]
       -InstanceId <Guid[]>
       [-Credential <PSCredential>]
       [-Authentication <AuthenticationMechanism>]
       [-CertificateThumbprint <String>]
       [-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
       -InstanceId <Guid[]>
       [-ThrottleLimit <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Connect-PSSession
       [-ThrottleLimit <Int32>]
       [-Id] <Int32[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Deze cmdlet is alleen beschikbaar op het Windows-platform.

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 verbroken, 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 onder andere sessies die zijn gestart door of zijn losgekoppeld van andere sessies op andere computers.

Kan echter Connect-PSSession 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

PS C:\> 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.

De uitvoer laat zien 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

PS C:\> Get-PSSession

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


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

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


PS C:\> 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 en vervolgens opnieuw verbinden met een sessie.

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

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 in de huidige sessie zijn gemaakt en de Disconnect-PSSession cmdlet om de sessie te verbreken. De uitvoer geeft aan dat 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 in de huidige sessie zijn gemaakt en de Connect-PSSession cmdlet om de sessies opnieuw te verbinden. De uitvoer laat zien 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 verbroken, 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 hij naar huis. Later die avond meldt de beheerder zich aan bij de computer thuis en controleert ze of de taak is uitgevoerd totdat deze is voltooid.

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

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

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

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. In de uitvoer ziet u 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 opgeslagen in de $BackupSpecs variabele. 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.

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

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

PS C:\> Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15

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

PS C:\> Get-PSSession -ComputerName Server01 -Name ITTask

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


PS C:\> $s = Connect-PSSession -ComputerName Server01 -Name ITTask


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

PS C:\> Invoke-Command -Session $s {Get-Job}

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

PS C:\> Invoke-Command -Session $s {$BackupSpecs = Receive-Job -JobName Job2}

PS C:\> Invoke-Command -Session $s {\\Server30\Scripts\New-SQLDatabase.ps1 -InitData $BackupSpecs.Initialization}

PS C:\> Disconnect-PSSession -Session $s -OutputBufferingMode Drop -IdleTimeoutSec 60*60*15
Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 1 ITTask          Server01        Disconnected  ITTasks               None

Met de negende opdracht wordt de verbinding met de sessie in de $s variabele verbroken. De beheerder sluit nd 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 van haar werkcomputer controleren.

Parameters

-AllowRedirection

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

Wanneer u de parameter ConnectionURI 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 sessiewaarde MaximumConnectionRedirectionCount te wijzigen. Gebruik de parameter MaximumRedirection van de New-PSSessionOption cmdlet of stel de eigenschap MaximumConnectionRedirectionCount in van de $PSSessionOption voorkeursvariabele. 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 de opgegeven toepassing gebruiken.

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 de eigenschap Runspace.ConnectionInfo.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.

Waarschuwing

CredSSP-verificatie (Credential Security Support Provider), waarbij de referenties van de gebruiker worden doorgegeven aan een externe computer om te 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 gecompromitteerd, kunnen de referenties die aan de externe 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 voor de digitale openbare sleutel (X509) van een gebruikersaccount dat is gemachtigd 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 de Get-Item opdracht of Get-ChildItem 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 of het ontvangende einde van een verbinding bevindt. 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, localhostof een punt (.)

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

-ConfigurationName

Maakt alleen verbinding met 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 zijn gekwalificeerd. De indeling 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 Port gebruiken om de verbindings-URI-waarden op te geven.

Geldige waarden voor het segment Transport van de URI zijn HTTP en HTTPS. Als u een verbindings-URI met een Transport-segment opgeeft, maar geen poort opgeeft, wordt de sessie gemaakt met standaardpoorten: 80 voor HTTP en 443 voor HTTPS. Als u de standaardpoorten voor externe communicatie van 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 is gemachtigd 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 een SecureString.

Notitie

Zie Hoe veilig is 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 parameter Id 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 instantie-id is een GUID die een PSSession op een lokale of externe computer uniek identificeert.

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 de verbinding 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 op 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 niet, tenzij u dat moet doen. De poort die is ingesteld in de opdracht is van toepassing op alle computers of sessies waarop de opdracht wordt uitgevoerd. Een alternatieve poortinstelling kan verhinderen dat de opdracht op alle computers wordt uitgevoerd.

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 op. 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 waarden voor sessieopties zijn.

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

De waarden van de sessieoptie 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 voorkeursvariabele $PSSessionOption. 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 dat tot stand kan worden gebracht om deze opdracht uit te voeren. Als u deze parameter weglaat of een waarde van 0invoert, wordt de standaardwaarde , 32, 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 parameter UseSSL is een extra beveiliging waarmee de gegevens worden verzonden via een HTTPS-verbinding 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) doorsluizen naar deze cmdlet.

Uitvoerwaarden

PSSession

Deze cmdlet retourneert een -object dat de sessie vertegenwoordigt waarmee opnieuw verbinding is gemaakt.

Notities

  • 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 Verbroken voor de eigenschap State . Alleen sessies die zijn verbonden met of eindigen op computers waarop Windows PowerShell 3.0 of latere versies worden uitgevoerd, kunnen worden losgekoppeld en opnieuw worden verbonden.

  • Als u gebruikt Connect-PSSession voor een sessie die niet is verbroken, heeft de opdracht geen invloed op de sessie en genereert deze geen fouten.

  • Niet-verbonden 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 beschermt de computer tegen schadelijke toegang.

  • De waarde van de eigenschap State van een PSSession is relatief ten opzichte van de huidige sessie. Daarom betekent de waarde Verbroken dat de PSSession niet is verbonden met de huidige sessie. Dit betekent echter niet dat de PSSession is losgekoppeld van alle sessies. Het is mogelijk verbonden met een andere sessie. Gebruik de eigenschap Beschikbaarheid om te bepalen of u verbinding kunt maken of opnieuw verbinding kunt maken met de sessie.

    De waarde Beschikbaarheid van Geen geeft aan dat u verbinding kunt maken met de sessie. De waarde Bezet geeft aan dat u geen verbinding kunt maken met de PSSession omdat deze is verbonden met een andere sessie.

    Zie RunspaceState Enumeration voor meer informatie over de waarden van de eigenschap State van sessies.

    Zie RunspaceAvailability Enumeration (RunspaceAvailability Enumeration) voor meer informatie over de waarden van de eigenschap Availability 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 Object SessionOption en de Waarde IdleTimeout van de $PSSessionOption variabele worden echter genegeerd wanneer er verbinding wordt gemaakt 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 cmdlets of Invoke-Command 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 hoe lang een niet-verbonden sessie wordt onderhouden op de externe computer. Niet-verbonden sessies worden beschouwd als niet-actief vanaf het moment dat ze worden verbroken, zelfs als opdrachten worden uitgevoerd in de niet-verbonden sessie.