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 losgekoppeld. Het werkt op sessies die opzettelijk zijn verbroken, bijvoorbeeld 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. Deze omvatten de 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

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

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 het 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 sessies te verbreken. De uitvoer laat zien 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 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 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 ondernemingsscenario. 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 haar thuiscomputer en controleert hij 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 uit te voeren in de achtergrondtaak.

De derde opdracht gebruikt de Disconnect-PSSession cmdlet om de verbinding met de sessie in de $s variabele te verbreken. De opdracht gebruikt de parameter OutputBufferingMode met de waarde van Drop om te voorkomen dat het script wordt geblokkeerd door uitvoer aan de sessie te leveren. De parameter IdleTimeoutSec wordt 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 naar huis voor de avond.

Later op de 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.

$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 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 dat de verbinding wordt omgeleid, beperken door de sessiewaarde MaximumConnectionRedirectionCount te wijzigen. Gebruik de parameter MaximumRedirection van de New-PSSessionOption cmdlet of stel de eigenschap MaximumConnectionRedirectionCount 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 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 op meer dan één resource is vereist, 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 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 digitale openbare sleutelcertificaat (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 vooraf gebruikt: 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 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 standaardpoorten: 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 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 door de Get-Credential cmdlet is gegenereerd. 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 verbroken 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 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, wat de WinRM-poort voor HTTPS is.

Voordat u een alternatieve poort gebruikt, moet u de WinRM-listener op de externe computer configureren om te luisteren op die poort. 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 parameter Poort 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 verbroken 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, bijvoorbeeld 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 vastgesteld door opties die zijn ingesteld in de sessieconfiguratie.

De sessieoptiewaarden hebben voorrang op standaardwaarden voor sessies die zijn ingesteld in de $PSSessionOption voorkeursvariabele en in de sessieconfiguratie. Ze hebben echter geen prioriteit boven 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 van 0invoert, wordt de standaardwaarde , 32gebruikt.

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

PowerShell bevat de volgende aliassen voor Connect-PSSession:

  • Windows:

    • cnsn
  • Deze cmdlet is alleen beschikbaar op Windows-platforms.

  • Connect-PSSession maakt alleen opnieuw verbinding met sessies die zijn losgekoppeld, dat wil gezegd, sessies met de waarde Verbroken voor de eigenschap Status . 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 losgekoppeld, heeft de opdracht geen invloed op de sessie en genereert deze geen fouten.

  • Losgekoppelde 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 beschikbaarheidswaarde 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 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 gebruikt een SessionOption-object met de waarde IdleTimeout . De waarde IdleTimeout van het Object SessionOption en de Waarde IdleTimeout van de $PSSessionOption variabele worden echter genegeerd wanneer u verbinding maakt 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 deze bepaalt hoe lang een niet-verbonden sessie wordt onderhouden op de externe computer. Niet-verbonden sessies worden beschouwd als niet-actief vanaf het moment dat de verbinding wordt verbroken, zelfs als opdrachten worden uitgevoerd in de niet-verbonden sessie.