Freigeben über


Connect-PSSession

Stellt eine Erneute Verbindung mit getrennten Sitzungen 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>]
       -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>]

Beschreibung

Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.

Das cmdlet Connect-PSSession 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 Disconnect-PSSession oder des InDisconnectedSession--Parameters des Cmdlets Invoke-Command und derjenigen, 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.

Connect-PSSession können jedoch keine Verbindung mit fehlerhaften oder geschlossenen Sitzungen herstellen, oder interaktive Sitzungen, die mit dem Cmdlet Enter-PSSession gestartet wurden. Sie können auch keine Sitzungen mit Sitzungen verbinden, die von anderen Benutzern gestartet wurden, es sei denn, Sie können die Anmeldeinformationen des Benutzers angeben, 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 war. Die 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

In diesem Beispiel wird die Auswirkung der Trennung und anschließenden erneuten Verbindung mit einer Sitzung gezeigt.

Der erste Befehl verwendet das Cmdlet Get-PSSession. Ohne den ComputerName Parameter 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. Die Status- der Sitzung ist Opened und die Verfügbarkeit ist Available.

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

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

Wenn Sie das Cmdlet Connect-PSSession 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 cmdlet Connect-PSSession in einem Unternehmensszenario verwendet werden kann. In diesem Fall startet ein Systemadministrator einen lang ausgeführten Auftrag in einer Sitzung auf einem Remotecomputer. Nach dem Starten des Auftrags trennt sich der Administrator von der Sitzung und geht zu Hause. 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 Cmdlet New-PSSession, um die ITTask Sitzung auf dem Server01-Remotecomputer zu erstellen. Der Befehl verwendet den parameter ConfigurationName, um die ITTasks Sitzungskonfiguration anzugeben. Der Befehl speichert die Sitzungen in der variablen $s.

Der zweite Befehl Invoke-Command Cmdlet, um einen Hintergrundauftrag in der Sitzung in der variablen $s zu starten. Es verwendet den FilePath Parameter, um das Skript im Hintergrundauftrag auszuführen.

Der dritte Befehl verwendet das cmdlet Disconnect-PSSession, um die Verbindung mit der Sitzung in der variablen $s zu trennen. Der Befehl verwendet den OutputBufferingMode Parameter mit dem Wert Drop, um 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 Cmdlet Get-PSSession, um die Sitzungen auf dem Server01-Computer abzurufen. Der Befehl findet die ITTask Sitzung. Der fünfte Befehl verwendet das cmdlet Connect-PSSession zum Herstellen einer Verbindung mit der ITTask Sitzung. Der Befehl speichert die Sitzung in der variablen $s.

Der sechste Befehl verwendet das cmdlet Invoke-Command zum Ausführen eines Get-Job Befehls in der Sitzung in der $s Variablen. Die Ausgabe zeigt, dass der Auftrag erfolgreich abgeschlossen wurde. Der siebte Befehl verwendet das cmdlet Invoke-Command zum Ausführen eines Receive-Job Befehls in der Sitzung in der variablen $s in der Sitzung. Der Befehl speichert die Ergebnisse in der variablen $BackupSpecs. Der achte Befehl verwendet das cmdlet Invoke-Command 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 variablen $s. 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 MaximumConnectionRedirectionCount Sitzungsoptionswert ändern. Verwenden Sie den MaximumRedirection Parameter des Cmdlets New-PSSessionOption, 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. Beispielsweise lautet der Anwendungsname im folgenden Verbindungs-URI WSMan: http://localhost:5985/WSMAN. Der Anwendungsname einer Sitzung wird in der Runspace.ConnectionInfo.AppName Eigenschaft der Sitzung gespeichert.

Der Wert dieses Parameters wird zum Auswählen und Filtern von Sitzungen verwendet. Die Anwendung, die von der Sitzung verwendet wird, wird nicht geändert.

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. Die zulässigen Werte für diesen Parameter sind:

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

Der Standardwert ist Default.

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

Vorsicht

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 der Remotecomputer kompromittiert 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 zertifikat für den digitalen öffentlichen Schlüssel (X509) eines Benutzerkontos an, das über die Berechtigung zum Herstellen einer Verbindung mit der getrennten Sitzung verfügt. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.

Zertifikate werden in der zertifikatbasierten Clientauthentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden. Sie funktionieren nicht mit Domänenkonten.

Verwenden Sie zum Abrufen eines Zertifikatfingerabdrucks einen Get-Item- oder Get-ChildItem-Befehl auf dem PowerShell-Cert: Laufwerk.

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

-ComputerName

Gibt die Computer an, auf denen die getrennten Sitzungen gespeichert werden. Sitzungen werden auf dem Computer gespeichert, der sich auf dem serverseitigen oder empfangenden Ende einer Verbindung befindet. Der Standardwert ist der lokale Computer.

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

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

-ConfigurationName

Stellt nur verbindungen mit Sitzungen, 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 zum Auswählen und Filtern von Sitzungen verwendet. Die Sitzungskonfiguration, die von der Sitzung verwendet wird, wird nicht geändert.

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

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

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 vollqualifizierter sein. Das Format dieser Zeichenfolge lautet wie folgt:

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

Der Standardwert lautet wie folgt:

http://localhost:5985/WSMAN

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

Gültige Werte für das segment Transport 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 portieren 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 AllowRedirection Parameter im Befehl.

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

-Credential

Gibt ein Benutzerkonto an, das über die Berechtigung zum Herstellen einer Verbindung mit der getrennten Sitzung verfügt. Die Standardeinstellung ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential--Objekt ein, das vom Cmdlet Get-Credential generiert wird. 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.

Anmerkung

Weitere Informationen zu SecureString Datenschutz 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 parameter ID funktioniert nur, wenn die getrennte Sitzung zuvor mit der aktuellen Sitzung verbunden war.

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

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

-InstanceId

Gibt die Instanz-IDs der 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 eigenschaft InstanceId der PSSessiongespeichert.

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

-Name

Gibt die Anzeigenamen der 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 zum erneuten Herstellen einer Verbindung mit der Sitzung verwendet wird. Um eine Verbindung mit einem Remotecomputer herzustellen, muss der Remotecomputer auf dem von der Verbindung genutzten Port lauschen. Die Standardports sind 5985, bei dem es sich um den WinRM-Port für HTTP handelt, und 5986, der WinRM-Port für HTTPS.

Bevor Sie einen alternativen Port verwenden, müssen Sie den WinRM-Listener auf dem Remotecomputer so konfigurieren, dass er an diesem Port lauscht. 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 nicht den Parameter Port, es sei denn, Sie müssen. Der im Befehl festgelegte Port gilt für alle Computer oder Sitzungen, auf denen 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 Cmdlets New-PSSessionOption 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 einstellungsvariablen $PSSessionOption und in der Sitzungskonfiguration festgelegt sind. Sie haben jedoch keine Vorrang vor maximalen Werten, 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 gleichzeitiger Verbindungen an, die zum Ausführen dieses Befehls eingerichtet werden können. Wenn Sie diesen Parameter weglassen oder einen Wert von 0eingeben, wird der Standardwert 32verwendet.

Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, 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 anstatt ü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 passiert, 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

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

  • Fenster:

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

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

  • Wenn Sie Connect-PSSession für eine Sitzung verwenden, 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 eigenschaft State 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. Möglicherweise ist sie mit einer anderen Sitzung verbunden. Um festzustellen, ob Sie eine Verbindung mit der Sitzung herstellen oder erneut herstellen können, verwenden Sie die Eigenschaft Availability.

    Ein Availability Wert "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 Availability-Eigenschaft von Sitzungen finden Sie unter RunspaceAvailability Enumeration.

  • Sie können den Leerlauftimeoutwert eines PSSession- nicht ändern, wenn Sie eine Verbindung mit der PSSessionherstellen. Der SessionOption Parameter von Connect-PSSession akzeptiert ein SessionOption--Objekt, das einen IdleTimeout- Wert aufweist. Der IdleTimeout- Wert des SessionOption-Objekts und der IdleTimeout Wert der $PSSessionOption Variablen werden jedoch ignoriert, wenn eine Verbindung mit einem PSSession-hergestellt wird.

    Sie können das Leerlauftimeout eines PSSession- festlegen und ändern, wenn Sie das PSSession-erstellen, indem Sie die cmdlets New-PSSession oder Invoke-Command verwenden und die Verbindung mit dem PSSessiontrennen.

    Die IdleTimeout- Eigenschaft eines PSSession- ist wichtig für getrennte Sitzungen, da sie bestimmt, wie lange eine getrennte Sitzung auf dem Remotecomputer verwaltet wird. Getrennte Sitzungen werden als im Leerlauf betrachtet, sobald sie getrennt sind, auch wenn Befehle in der getrennten Sitzung ausgeführt werden.