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, localhost
oder 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 0
eingeben, wird der Standardwert 32
verwendet.
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
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
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
oderInvoke-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.