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 localhost
oder 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\User01
geben 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 0
Standardwerts eingeben, 32
wird 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
Sie können eine Sitzung (PSSession) an dieses Cmdlet weiterleiten.
Ausgaben
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 oderInvoke-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.