Freigeben über


Connect-PSSession

Stellt die Verbindung mit getrennten Sitzungen wieder her.

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>]

Beschreibung

Das Connect-PSSession Cmdlet stellt eine erneute Verbindung mit vom Benutzer verwalteten PowerShell-Sitzungen (PSSessions) her, die getrennt wurden. Es funktioniert bei Sitzungen, die absichtlich getrennt werden, z. B. mithilfe des Cmdlets oder des Disconnect-PSSession InDisconnectedSession-Parameters des Invoke-Command Cmdlets, und bei Sitzungen, die unbeabsichtigt getrennt wurden, z. B. durch einen temporären Netzwerkausfall.

Connect-PSSession kann eine Verbindung mit jeder getrennten Sitzung herstellen, die vomselben Benutzer gestartet wurde. Dazu gehören diejenigen, die von anderen Sitzungen auf anderen Computern gestartet oder getrennt wurden.

Es kann jedoch keine Verbindung mit fehlerhaften oder geschlossenen Sitzungen oder interaktiven Sitzungen hergestellt werden, Connect-PSSession die mit dem Enter-PSSession Cmdlet gestartet wurden. Sie können auch keine Sitzungen mit Sitzungen verbinden, die von anderen Benutzern gestartet wurden, es sei denn, Sie geben die Anmeldeinformationen des Benutzers an, der die Sitzung erstellt hat.

Weitere Informationen zum Feature "Getrennte Sitzungen" finden Sie unter about_Remote_Disconnected_Sessions.

Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Erneutes Herstellen einer Verbindung mit einer Sitzung

Connect-PSSession -ComputerName Server01 -Name ITTask

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

Dieser Befehl stellt eine erneute Verbindung mit der ITTask Sitzung auf dem Server01-Computer her.

Die Ausgabe zeigt, dass der Befehl erfolgreich ausgeführt wurde. Der Status der Sitzung ist Opened und die Verfügbarkeit ist Available, was angibt, dass Sie Befehle in der Sitzung ausführen können.

Beispiel 2: Auswirkung der Trennung und erneuten Verbindung

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

Dieses Beispiel zeigt die Auswirkungen des Trennens und Neuverbindens einer Sitzung.

Der erste Befehl verwendet das Get-PSSession Cmdlet. Ohne den Parameter ComputerName ruft der Befehl nur Sitzungen ab, die in der aktuellen Sitzung erstellt wurden.

Die Ausgabe zeigt, dass der Befehl die Backups Sitzung auf dem lokalen Computer abruft. Der Status der Sitzung ist Opened und die Verfügbarkeit ist Available.

Der zweite Befehl verwendet das Get-PSSession Cmdlet, um die PSSession-Objekte abzurufen, die in der aktuellen Sitzung erstellt wurden, und das Disconnect-PSSession Cmdlet, um die Sitzungen zu trennen. Die Ausgabe zeigt an, dass die Backups Sitzung getrennt wurde. Der Status der Sitzung ist Disconnected und die Verfügbarkeit ist None.

Der dritte Befehl verwendet das Get-PSSession Cmdlet, um die PSSession-Objekte abzurufen, die in der aktuellen Sitzung erstellt wurden, und das Connect-PSSession Cmdlet, um die Sitzungen erneut zu verbinden. Die Ausgabe zeigt, dass die Backups Sitzung erneut verbunden wurde. Der Status der Sitzung ist Opened und die Verfügbarkeit ist Available.

Wenn Sie das Connect-PSSession Cmdlet für eine Sitzung verwenden, die nicht getrennt ist, wirkt sich der Befehl nicht auf die Sitzung aus und generiert keine Fehler.

Beispiel 3: Reihe von Befehlen in einem Unternehmensszenario

Diese Reihe von Befehlen zeigt, wie das Connect-PSSession Cmdlet in einem Unternehmensszenario verwendet werden kann. In diesem Fall startet ein Systemadministrator einen Auftrag mit langer Ausführungszeit in einer Sitzung auf einem Remotecomputer. Nach dem Starten des Auftrags trennt der Administrator die Verbindung mit der Sitzung und kann nach Hause gehen. Später am Abend meldet sich der Administrator bei ihrem Heimcomputer an und überprüft, ob der Auftrag ausgeführt wurde, bis er abgeschlossen ist.

Der Administrator beginnt mit dem Erstellen einer Sitzung auf einem Remotecomputer und dem Ausführen eines Skripts in der Sitzung. Der erste Befehl verwendet das New-PSSession Cmdlet zum Erstellen der ITTask Sitzung auf dem Server01-Remotecomputer. Der Befehl verwendet den Parameter ConfigurationName , um die ITTasks Sitzungskonfiguration anzugeben. Der Befehl speichert die Sitzungen in der $s Variablen.

Das zweite Befehls-Cmdlet Invoke-Command zum Starten eines Hintergrundauftrags in der Sitzung in der $s Variablen. Er verwendet den FilePath-Parameter , um das Skript im Hintergrundauftrag auszuführen.

Der dritte Befehl verwendet das Disconnect-PSSession Cmdlet, um die Verbindung mit der Sitzung in der $s Variablen zu trennen. Der Befehl verwendet den Parameter OutputBufferingMode mit einem Wert, um Drop zu verhindern, dass das Skript blockiert wird, indem die Ausgabe an die Sitzung übergeben werden muss. Er verwendet den Parameter IdleTimeoutSec , um das Sitzungstimeout auf 15 Stunden zu erweitern. Nach Abschluss des Befehls sperrt der Administrator ihren Computer und geht abends nach Hause.

Später am Abend startet der Administrator ihren Heimcomputer, meldet sich beim Unternehmensnetzwerk an und startet PowerShell. Der vierte Befehl verwendet das Get-PSSession Cmdlet, um die Sitzungen auf dem Server01-Computer abzurufen. Der Befehl findet die ITTask Sitzung. Der fünfte Befehl verwendet das Connect-PSSession Cmdlet, um eine Verbindung mit der ITTask Sitzung herzustellen. Der Befehl speichert die Sitzung in der Variablen $s.

Der sechste Befehl verwendet das Invoke-Command Cmdlet, um einen Get-Job Befehl in der Sitzung in der $s Variablen auszuführen. Die Ausgabe zeigt, dass der Auftrag erfolgreich abgeschlossen wurde. Der siebte Befehl verwendet das Invoke-Command Cmdlet, um einen Receive-Job Befehl in der Sitzung in der $s Variablen in der Sitzung auszuführen. Der Befehl speichert die Ergebnisse in der $BackupSpecs Variablen. Der achte Befehl verwendet das Invoke-Command Cmdlet zum Ausführen eines anderen Skripts in der Sitzung. Der Befehl verwendet den Wert der $BackupSpecs Variablen in der Sitzung als Eingabe für das Skript.

$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

Der neunte Befehl trennt sich von der Sitzung in der $s Variablen. Der Administrator schließt PowerShell und schließt den Computer. Sie kann die Verbindung zur Sitzung am nächsten Tag erneut herstellen und den Skriptstatus von ihrem Arbeitscomputer überprüfen.

Parameter

-AllowRedirection

Gibt an, dass dieses Cmdlet die Umleitung dieser Verbindung zu einem alternativen URI zulässt.

Wenn Sie den Parameter ConnectionURI verwenden, kann das Remoteziel eine Anweisung zurückgeben, um zu einem anderen URI umzuleiten. Standardmäßig leitet PowerShell keine Verbindungen um, Sie können diesen Parameter jedoch verwenden, um die Verbindung umzuleiten.

Sie können auch einschränken, wie oft die Verbindung umgeleitet wird, indem Sie den Wert der Option "MaximumConnectionRedirectionCount " ändern. Verwenden Sie den Parameter MaximumRedirection des New-PSSessionOption Cmdlets, oder legen Sie die MaximumConnectionRedirectionCount-Eigenschaft der $PSSessionOption Einstellungsvariable fest. Der Standardwert ist 5.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ApplicationName

Gibt den Namen einer Anwendung an. Dieses Cmdlet verbindet sich nur mit Sitzungen, die die angegebene Anwendung verwenden.

Geben Sie das Anwendungsnamensegment des Verbindungs-URI ein. Im folgenden Verbindungs-URI lautet der Anwendungsname z. B. WSMan: http://localhost:5985/WSMAN. Der Anwendungsname einer Sitzung wird in der Runspace.ConnectionInfo.AppName-Eigenschaft der Sitzung gespeichert.

Der Wert dieses Parameters wird verwendet, um Sitzungen auszuwählen und zu filtern. Er ändert nicht die von der Sitzung verwendete Anwendung.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Authentication

Gibt den Mechanismus an, der zum Authentifizieren von Benutzeranmeldeinformationen im Befehl verwendet wird, um eine erneute Verbindung mit der getrennten Sitzung herzustellen. Zulässige Werte für diesen Parameter:

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

Der Standardwert ist Default.

Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism Enumeration.

Achtung

Credential Security Support Provider (CredSSP)-Authentifizierung, bei der die Anmeldeinformationen des Benutzers an einen Remotecomputer übergeben werden, der authentifiziert werden soll, ist für Befehle konzipiert, die eine Authentifizierung für mehrere Ressourcen erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn die Sicherheit des Remotecomputers gefährdet ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.

Typ:AuthenticationMechanism
Zulässige Werte:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CertificateThumbprint

Gibt das digitale Zertifikat für öffentliche Schlüssel (X.509) eines Benutzerkontos mit der Berechtigung zum Herstellen einer Verbindung mit der getrennten Sitzung an. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.

Zertifikate werden bei der clientzertifikatbasierten Authentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden. Sie funktionieren nicht mit Domänenkonten.

Um einen Zertifikatfingerabdruck zu erhalten, verwenden Sie einen oder Get-ChildItem einen Get-Item Befehl auf dem PowerShell-LaufwerkCert:.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ComputerName

Gibt die Computer an, auf denen die Sitzungen gespeichert sind. Sitzungen werden auf dem Computer gespeichert, der sich auf dem serverseitigen oder empfangenden Ende einer Verbindung befindet. Die Standardeinstellung ist der lokale Computer.

Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen eines Computers ein. Platzhalterzeichen sind nicht zulässig. Um den lokalen Computer anzugeben, geben Sie den Computernamen localhostoder einen Punkt (.) ein.

Typ:String[]
Aliase:Cn
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConfigurationName

Stellt nur eine Verbindung mit Sitzungen her, die die angegebene Sitzungskonfiguration verwenden.

Geben Sie einen Konfigurationsnamen oder den vollqualifizierten Ressourcen-URI für eine Sitzungskonfiguration ein. Wenn Sie nur den Konfigurationsnamen angeben, wird der folgende Schema-URI vorangestellt: http://schemas.microsoft.com/powershell Der Konfigurationsname einer Sitzung wird in der ConfigurationName-Eigenschaft der Sitzung gespeichert.

Der Wert dieses Parameters wird verwendet, um Sitzungen auszuwählen und zu filtern. Er ändert nicht die von der Sitzung verwendete Sitzungskonfiguration.

Weitere Informationen zu Sitzungskonfigurationen finden Sie unter about_Session_Configurations.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConnectionUri

Gibt die URIs der Verbindungsendpunkte für die getrennten Sitzungen an.

Der URI muss vollqualifiziert sein. Das Format dieser Zeichenfolge lautet wie folgt:

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

Der Standardwert lautet:

http://localhost:5985/WSMAN

Wenn Sie keinen Verbindungs-URI angeben, können Sie die Parameter UseSSL und Port verwenden, um die Verbindungs-URI-Werte anzugeben.

Gültige Werte für das Transportsegment des URI sind HTTP und HTTPS. Wenn Sie einen Verbindungs-URI mit einem Transportsegment angeben, aber keinen Port angeben, wird die Sitzung mit Standardsports erstellt: 80 für HTTP und 443 für HTTPS. Um die Standardports für PowerShell-Remoting zu verwenden, geben Sie den Port 5985 für HTTP oder 5986 für HTTPS an.

Wenn der Zielcomputer die Verbindung zu einem anderen URI umleitet, verhindert PowerShell die Umleitung, es sei denn, Sie verwenden den Parameter AllowRedirection im Befehl.

Typ:Uri[]
Aliase:URI, CU
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Credential

Gibt ein Benutzerkonto mit der Berechtigung zum Herstellen einer Verbindung mit der getrennten Sitzung an. Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, zUser01. B. oder Domain01\User01geben Sie ein vom Cmdlet generiertes Get-Credential PSCredential-Objekt ein. Wenn Sie einen Benutzernamen eingeben, werden Sie aufgefordert, das Kennwort einzugeben.

Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString gespeichert.

Hinweis

Weitere Informationen zum Schutz von SecureString finden Sie unter "Wie sicher ist SecureString?".

Typ:PSCredential
Position:Named
Standardwert:Current user
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Id

Gibt die IDs der getrennten Sitzungen an. Der Id-Parameter funktioniert nur, wenn die getrennte Sitzung zuvor mit der aktuellen Sitzung verbunden war.

Dieser Parameter ist gültig, aber nicht wirksam, wenn die Sitzung auf dem lokalen Computer gespeichert ist, aber nicht mit der aktuellen Sitzung verbunden wurde.

Typ:Int32[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-InstanceId

Gibt die Instanz-IDs von getrennten Sitzungen an.

Die Instanz-ID ist eine GUID, die eine PSSession auf einem lokalen oder Remotecomputer eindeutig identifiziert.

Die Instanz-ID wird in der InstanceID-Eigenschaft der PSSession gespeichert.

Typ:Guid[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Name

Gibt die Anzeigenamen von getrennten Sitzungen an.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Port

Gibt den Netzwerkport auf dem Remotecomputer an, der für die Verbindungswiederherstellung mit der Sitzung verwendet wird. Zum Herstellen einer Verbindung mit einem Remotecomputer muss der Remotecomputer den für die Verbindung verwendeten Port abhören. Die Standardports sind 5985, die winRM-Port für HTTP und 5986, die WinRM-Port für HTTPS.

Bevor ein alternativer Port verwendet werden kann, müssen Sie den WinRM-Listener auf dem Remotecomputer für das Abhören an diesen Port konfigurieren. Geben Sie zum Konfigurieren des Listeners die folgenden beiden Befehle an der PowerShell-Eingabeaufforderung ein:

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

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

Verwenden Sie den Port-Parameter nicht, es sei denn, Sie müssen. Der im Befehl festgelegte Port gilt für alle Computer oder Sitzungen, für die der Befehl ausgeführt wird. Eine alternative Porteinstellung kann verhindern, dass der Befehl auf allen Computern ausgeführt wird.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Session

Gibt die getrennten Sitzungen an. Geben Sie eine Variable ein, die die PSSession-Objekte oder einen Befehl enthält, der die PSSession-Objekte erstellt oder abruft, z. B. einen Get-PSSession Befehl.

Typ:PSSession[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-SessionOption

Gibt erweiterte Optionen für die Sitzung an. Geben Sie ein SessionOption-Objekt ein, z. B. ein Objekt, das Sie mithilfe des New-PSSessionOption Cmdlets erstellen, oder eine Hashtabelle, in der es sich bei den Schlüsseln um Sitzungsoptionsnamen und die Werte um Sitzungsoptionswerte handelt.

Die Standardwerte für die Optionen werden durch den Wert der $PSSessionOption Einstellungsvariablen bestimmt, wenn sie festgelegt ist. Andernfalls werden die Standardwerte durch Optionen festgelegt, die in der Sitzungskonfiguration festgelegt sind.

Die Sitzungsoptionswerte haben Vorrang vor Standardwerten für Sitzungen, die in der $PSSessionOption Einstellungsvariable und in der Sitzungskonfiguration festgelegt sind. Allerdings haben sie nicht Vorrang vor Höchstwerten, Kontingenten oder Grenzwerten, die in der Sitzungskonfiguration festgelegt sind.

Eine Beschreibung der Sitzungsoptionen, die die Standardwerte enthalten, finden Sie unter New-PSSessionOption. Informationen zur $PSSessionOption Einstellungsvariablen finden Sie unter about_Preference_Variables. Weitere Informationen zu Sitzungskonfigurationen finden Sie unter about_Session_Configurations.

Typ:PSSessionOption
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ThrottleLimit

Gibt die maximale Anzahl von gleichzeitigen Verbindungen an, die zum Ausführen dieses Befehls hergestellt werden können. Wenn Sie diesen Parameter weglassen oder einen Wert des 0Standardwerts eingeben, 32wird der Standardwert verwendet.

Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UseSSL

Gibt an, dass dieses Cmdlet das SSL-Protokoll (Secure Sockets Layer) verwendet, um eine Verbindung mit der getrennten Sitzung herzustellen. Standardmäßig wird SSL nicht verwendet.

WS-Management verschlüsselt alle über das Netzwerk übertragenen PowerShell-Inhalte. Der UseSSL-Parameter ist ein zusätzlicher Schutz, der die Daten über eine HTTPS-Verbindung statt über eine HTTP-Verbindung sendet.

Wenn Sie diesen Parameter verwenden, SSL jedoch nicht für den Port verfügbar ist, der für den Befehl verwendet wird, schlägt der Befehl fehl.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSSession

Sie können eine Sitzung (PSSession) an dieses Cmdlet weiterleiten.

Ausgaben

PSSession

Dieses Cmdlet gibt ein Objekt zurück, das die Sitzung darstellt, mit der sie erneut verbunden wurde.

Hinweise

Windows PowerShell enthält die folgenden Aliase für Connect-PSSession:

  • cnsn

  • Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.

  • Connect-PSSession Stellt nur verbindungen mit Sitzungen wieder her, die getrennt sind, d. h. Sitzungen, die den Wert "Disconnected" für die Statuseigenschaft aufweisen. Nur Sitzungen, die mit Windows PowerShell 3.0- oder höher-Versionen verbunden oder enden, können getrennt und erneut verbunden werden.

  • Wenn Sie eine Sitzung verwenden Connect-PSSession , die nicht getrennt ist, wirkt sich der Befehl nicht auf die Sitzung aus und generiert keine Fehler.

  • Getrennte Loopbacksitzungen mit interaktiven Token, die mithilfe des EnableNetworkAccess-Parameters erstellt werden, können nur von dem Computer erneut verbunden werden, auf dem die Sitzung erstellt wurde. Diese Einschränkung schützt den Computer vor böswilligem Zugriff.

  • Der Wert der State-Eigenschaft einer PSSession ist relativ zur aktuellen Sitzung. Daher bedeutet der Wert " Disconnected ", dass die PSSession nicht mit der aktuellen Sitzung verbunden ist. Es bedeutet jedoch nicht, dass die PSSession von allen Sitzungen getrennt ist. Sie kann mit einer anderen Sitzung verbunden sein. Um festzustellen, ob Sie eine Verbindung mit der Sitzung herstellen oder erneut herstellen können, verwenden Sie die Availability-Eigenschaft .

    Ein Verfügbarkeitswert von None gibt an, dass Sie eine Verbindung mit der Sitzung herstellen können. Ein Wert von Beschäftigt gibt an, dass Sie keine Verbindung mit der PSSession herstellen können, da sie mit einer anderen Sitzung verbunden ist.

    Weitere Informationen zu den Werten der State-Eigenschaft von Sitzungen finden Sie unter RunspaceState Enumeration.

    Weitere Informationen zu den Werten der Verfügbarkeitseigenschaft von Sitzungen finden Sie unter RunspaceAvailability Enumeration.

  • Sie können den Leerlauftimeoutwert einer PSSession nicht ändern, wenn Sie eine Verbindung mit der PSSession herstellen. Der Parameter "SessionOption " von Connect-PSSession "SessionOption" verwendet ein SessionOption-Objekt , das einen IdleTimeout-Wert aufweist. Der IdleTimeout-Wert des SessionOption-Objekts und der IdleTimeout-Wert der $PSSessionOption Variablen werden jedoch beim Herstellen einer Verbindung mit einer PSSession ignoriert.

    Sie können das Leerlauftimeout einer PSSession festlegen und ändern, wenn Sie die PSSession erstellen, indem Sie die New-PSSession PSSession verwenden oder Invoke-Command Cmdlets verwenden und die Verbindung mit der PSSession trennen.

    Die IdleTimeout-Eigenschaft einer PSSession ist wichtig für getrennte Sitzungen, da sie bestimmt, wie lange eine getrennte Sitzung auf dem Remotecomputer verwaltet wird. Getrennte Sitzungen gelten vom Moment ihrer Trennung an als im Leerlauf, selbst wenn Befehle in der getrennten Sitzung ausgeführt werden.