Get-PSSession
Ruft die PowerShell-Sitzungen auf lokalen und Remotecomputern ab.
Syntax
Get-PSSession
[-Name <String[]>]
[<CommonParameters>]
Get-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ComputerName] <String[]>
[-ApplicationName <String>]
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ConnectionUri] <Uri[]>
[-ConfigurationName <String>]
[-AllowRedirection]
[-Name <String[]>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ConnectionUri] <Uri[]>
[-ConfigurationName <String>]
[-AllowRedirection]
-InstanceId <Guid[]>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-ThrottleLimit <Int32>]
[-State <SessionFilterState>]
[-SessionOption <PSSessionOption>]
[<CommonParameters>]
Get-PSSession
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-State <SessionFilterState>]
-VMName <String[]>
[<CommonParameters>]
Get-PSSession
[-ConfigurationName <String>]
[-Name <String[]>]
[-State <SessionFilterState>]
-ContainerId <String[]>
[<CommonParameters>]
Get-PSSession
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-State <SessionFilterState>]
-ContainerId <String[]>
[<CommonParameters>]
Get-PSSession
[-ConfigurationName <String>]
[-Name <String[]>]
[-State <SessionFilterState>]
-VMId <Guid[]>
[<CommonParameters>]
Get-PSSession
[-ConfigurationName <String>]
-InstanceId <Guid[]>
[-State <SessionFilterState>]
-VMId <Guid[]>
[<CommonParameters>]
Get-PSSession
[-ConfigurationName <String>]
[-Name <String[]>]
[-State <SessionFilterState>]
-VMName <String[]>
[<CommonParameters>]
Get-PSSession
[-InstanceId <Guid[]>]
[<CommonParameters>]
Get-PSSession
[-Id] <Int32[]>
[<CommonParameters>]
Beschreibung
Das Get-PSSession
Cmdlet ruft die vom Benutzer verwalteten PowerShell-Sitzungen (PSSessions) auf lokalen und Remotecomputern ab.
Ab Windows PowerShell 3.0 werden Sitzungen auf den Computern am Remoteende jeder Verbindung gespeichert. Sie können die Parameter Get-PSSession
"ComputerName" oder "ConnectionUri" verwenden, um die Sitzungen abzurufen, die eine Verbindung mit dem lokalen Computer oder Remotecomputer herstellen, auch wenn sie nicht in der aktuellen Sitzung erstellt wurden.
Ohne Parameter werden alle Sitzungen abgerufen, Get-PSSession
die in der aktuellen Sitzung erstellt wurden.
Verwenden Sie die Filterparameter, einschließlich Name, ID, InstanceID, State, ApplicationName und ConfigurationName, um zwischen den zurückgegebenen Sitzungen Get-PSSession
auszuwählen.
Verwenden Sie die verbleibenden Parameter, um die temporäre Verbindung zu konfigurieren, in der der Get-PSSession
Befehl ausgeführt wird, wenn Sie die Parameter ComputerName oder ConnectionUri verwenden.
Hinweis
In Windows PowerShell 2.0 ruft ohne Parameter alle Sitzungen ab, Get-PSSession
die in der aktuellen Sitzung erstellt wurden. Der Parameter ComputerName ruft Sitzungen ab, die in der aktuellen Sitzung erstellt wurden, und stellt eine Verbindung mit dem angegebenen Computer her.
Weitere Informationen zu PowerShell-Sitzungen finden Sie unter about_PSSessions.
Beispiele
Beispiel 1: Abrufen von Sitzungen, die in der aktuellen Sitzung erstellt wurden
Get-PSSession
Dieser Befehl ruft alle PSSessions ab, die in der aktuellen Sitzung erstellt wurden. Es wird keine PSSessions abgerufen, die in anderen Sitzungen oder auf anderen Computern erstellt wurden, auch wenn sie eine Verbindung mit diesem Computer herstellen.
Beispiel 2: Abrufen von Sitzungen, die mit dem lokalen Computer verbunden sind
Get-PSSession -ComputerName "localhost"
Dieser Befehl ruft die PSSessions ab, die mit dem lokalen Computer verbunden sind. Um den lokalen Computer anzugeben, geben Sie den Computernamen, localhost oder einen Punkt (.
) ein.
Der Befehl gibt alle Sitzungen auf dem lokalen Computer zurück, auch wenn sie in anderen Sitzungen oder auf anderen Computern erstellt wurden.
Beispiel 3: Abrufen von Sitzungen, die mit einem Computer verbunden sind
Get-PSSession -ComputerName "Server02"
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
2 Session3 Server02 Disconnected ITTasks Busy
1 ScheduledJobs Server02 Opened Microsoft.PowerShell Available
3 Test Server02 Disconnected Microsoft.PowerShell Busy
Dieser Befehl ruft die PSSessions ab, die mit dem Server02-Computer verbunden sind.
Der Befehl gibt alle Sitzungen auf dem Computer „Server02“ zurück, auch wenn sie in anderen Sitzungen oder auf anderen Computern erstellt wurden.
Die Ausgabe zeigt, dass zwei der Sitzungen einen Disconnected
Zustand und eine Busy
Verfügbarkeit aufweisen.
Sie wurden in verschiedenen Sitzungen erstellt und werden derzeit verwendet. Die ScheduledJobs
Sitzung, die Opened
in der aktuellen Sitzung erstellt wurde.Available
Beispiel 4: Speichern der Ergebnisse dieses Befehls
New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession
In diesem Beispiel wird gezeigt, wie die Ergebnisse eines Get-PSSession
Befehls in mehreren Variablen gespeichert werden.
Der erste Befehl verwendet das New-PSSession
Cmdlet zum Erstellen von PSSessions auf drei Remotecomputern .
Der zweite Befehl verwendet ein Get-PSSession
Cmdlet, um die drei PSSessions abzurufen. Anschließend werden alle PSSessions in einer separaten Variablen gespeichert.
Wenn PowerShell einem Array von Objekten ein Array von Variablen zuweist, weist sie das erste Objekt der ersten Variablen, dem zweiten Objekt der zweiten Variablen usw. zu. Wenn es mehr Objekte als Variablen gibt, werden alle verbleibenden Objekte der letzten Variablen im Array zugewiesen. Wenn es mehr Variablen als Objekte gibt, werden die zusätzlichen Variablen nicht genutzt.
Beispiel 5: Löschen einer Sitzung mithilfe einer Instanz-ID
Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s
In diesem Beispiel wird gezeigt, wie Sie eine PSSession mithilfe der Instanz-ID abrufen und dann die PSSession löschen.
Der erste Befehl ruft alle PSSessions ab, die in der aktuellen Sitzung erstellt wurden. Es sendet die PSSessions an das Format-Table
Cmdlet, das die ComputerName - und InstanceID-Eigenschaften jeder PSSession anzeigt.
Der zweite Befehl verwendet das Get-PSSession
Cmdlet, um eine bestimmte PSSession abzurufen und in der $s
Variablen zu speichern. Der Befehl verwendet den Parameter "InstanceID ", um die PSSession zu identifizieren.
Der dritte Befehl verwendet das Cmdlet Remove-PSSession, um die PSSession in der $s
Variablen zu löschen.
Beispiel 6: Abrufen einer Sitzung mit einem bestimmten Namen
Mit den Befehlen in diesem Beispiel finden Sie eine Sitzung, die über ein bestimmtes Namensformat verfügt und eine bestimmte Sitzungskonfiguration verwendet, und stellen dann eine Verbindung zur Sitzung her. Sie können einen Befehl wie diesen dazu verwenden, eine Sitzung zu suchen, in der ein Kollege eine Aufgabe gestartet hat, und eine Verbindung herstellen, um die Aufgabe abzuschließen.
Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
3 BackupJob04 Server02 Disconnected ITTasks None
$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
5 BackupJob04 Server02 Opened ITTasks Available
Der erste Befehl ruft Sitzungen auf den Remotecomputern Server02 und Server12 ab, die namen haben, die mit BackupJob
der ITTasks
Sitzungskonfiguration beginnen und verwenden. Der Befehl verwendet den Parameter Name , um das Namensmuster und den ConfigurationName-Parameter anzugeben, um die Sitzungskonfiguration anzugeben. Der Wert des SessionOption-Parameters ist eine Hashtabelle, die den Wert des OperationTimeout auf 240000
Millisekunden (4 Minuten) festlegt. Diese Einstellung gibt dem Befehl mehr Zeit, um den Vorgang abzuschließen. Die Parameter ConfigurationName und SessionOption werden verwendet, um die temporären Sitzungen zu konfigurieren, in denen das Get-PSSession
Cmdlet auf jedem Computer ausgeführt wird. Die Ausgabe zeigt, dass der Befehl die BackupJob04
Sitzung zurückgibt. Die Sitzung ist getrennt, und die Verfügbarkeit ist None
, was angibt, dass sie nicht verwendet wird.
Der zweite Befehl verwendet das Get-PSSession
Cmdlet, um zur BackupJob04
Sitzung und zum Connect-PSSession
Cmdlet eine Verbindung mit der Sitzung herzustellen. Der Befehl speichert die Sitzung in der Variablen $s
.
Der dritte Befehl ruft die Sitzung in der $s
Variablen ab. Die Ausgabe zeigt, dass der Connect-PSSession
Befehl erfolgreich war. Die Sitzung befindet sich im Zustand "Geöffnet" und steht zur Verwendung zur Verfügung.
Beispiel 7: Abrufen einer Sitzung mithilfe der ID
Get-PSSession -Id 2
Dieser Befehl ruft die PSSession mit ID 2
ab. Da der Wert der ID-Eigenschaft nur in der aktuellen Sitzung eindeutig ist, ist der Id-Parameter nur für lokale Befehle gültig.
Parameter
-AllowRedirection
Gibt an, dass dieses Cmdlet die Umleitung dieser Verbindung zu einem alternativen URI (Uniform Resource Identifier) zulässt. Standardmäßig leitet PowerShell keine Verbindungen um.
Dieser Parameter konfiguriert die temporäre Verbindung, die erstellt wird, um einen Get-PSSession
Befehl mit dem Parameter ConnectionUri auszuführen.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
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: | All sessions |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Authentication
Gibt den Mechanismus an, der zum Authentifizieren von Anmeldeinformationen für die Sitzung verwendet wird, in der der Get-PSSession
Befehl ausgeführt wird.
Dieser Parameter konfiguriert die temporäre Verbindung, die erstellt wird, um einen Get-PSSession
Befehl mit dem Parameter ComputerName oder ConnectionUri auszuführen.
Zulässige Werte für diesen Parameter:
Default
Basic
CredSSP
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
.
Standardwert: 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.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | AuthenticationMechanism |
Zulässige Werte: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Standardwert: | Default |
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 Erstellen der Sitzung verfügt, in der der Get-PSSession
Befehl ausgeführt wird. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.
Dieser Parameter konfiguriert die temporäre Verbindung, die erstellt wird, um einen Get-PSSession
Befehl mit dem Parameter ComputerName oder ConnectionUri auszuführen.
Zertifikate werden bei der clientzertifikatbasierten Authentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden und funktionieren nicht mit Domänenkonten.
Um einen Zertifikatfingerabdruck zu erhalten, verwenden Sie einen oder Get-ChildItem
einen Get-Item
Befehl auf dem PowerShell-LaufwerkCert:
.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ComputerName
Gibt ein Array von Namen von Computern an. Ruft die Sitzungen ab, die eine Verbindung zu den angegebenen Computern herstellen. Platzhalterzeichen sind nicht zulässig. Es ist kein Standardwert vorhanden.
Ab Windows PowerShell 3.0 werden PSSession-Objekte auf den Computern am Remoteende jeder Verbindung gespeichert. Um die Sitzungen auf den angegebenen Computern abzurufen, erstellt PowerShell eine temporäre Verbindung zu jedem Computer und führt einen Get-PSSession
Befehl aus.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen mindestens eines Computers ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen oder localhost
einen Punkt (.
) ein.
Hinweis
Dieser Parameter ruft Sitzungen nur von Computern ab, auf denen Windows PowerShell 3.0 oder höhere Versionen von PowerShell ausgeführt werden. In früheren Versionen werden keine Sitzungen gespeichert.
Typ: | String[] |
Aliase: | Cn |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ConfigurationName
Gibt den Namen einer Konfiguration an. Dieses Cmdlet ruft nur Sitzungen ab, 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: | All sessions |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ConnectionUri
Gibt einen URI an, der den Verbindungsendpunkt für die temporäre Sitzung definiert, in der der Get-PSSession
Befehl ausgeführt wird. Der URI muss vollqualifiziert sein.
Dieser Parameter konfiguriert die temporäre Verbindung, die erstellt wird, um einen Get-PSSession
Befehl mit dem Parameter ConnectionUri auszuführen.
Das Format dieser Zeichenfolge lautet:
<Transport>://<ComputerName>:<Port\>/<ApplicationName>
Standardwert: http://localhost:5985/WSMAN
.
Wenn Sie keinen ConnectionUri angeben, können Sie die Parameter UseSSL, ComputerName, Port und ApplicationName verwenden, um die ConnectionURI-Werte anzugeben. Gültige Werte für das Transport-Segment 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.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Dieser Parameter ruft Sitzungen nur von Computern ab, auf denen Windows PowerShell 3.0 oder höhere Versionen von Windows PowerShell ausgeführt werden. In früheren Versionen werden keine Sitzungen gespeichert.
Typ: | Uri[] |
Aliase: | URI, CU |
Position: | 0 |
Standardwert: | Http://localhost:5985/WSMAN |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-ContainerId
Gibt ein Array von IDs von Containern an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen Container. Verwenden Sie den docker ps
Befehl, um eine Liste der Container-IDs abzurufen. Weitere Informationen finden Sie in der Hilfe zum Docker ps-Befehl .
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt eine Benutzeranmeldeinformation an. Dieses Cmdlet führt den Befehl mit den Berechtigungen des angegebenen Benutzers aus. Geben Sie ein Benutzerkonto an, das über die Berechtigung zum Herstellen einer Verbindung mit dem Remotecomputer verfügt, und führen Sie einen Get-PSSession
Befehl aus. Der Standardwert ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z User01
. B. oder Domain01\User01
geben Sie ein PSCredential-Objekt ein, das Get-Credential
vom Cmdlet 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.
Hinweis
Weitere Informationen zum Schutz von SecureString finden Sie unter "Wie sicher ist SecureString?".
Dieser Parameter konfiguriert die temporäre Verbindung, die zum Ausführen eines Get-PSSession
Befehls mit dem Parameter ComputerName oder ConnectionUri erstellt wird.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | PSCredential |
Position: | Named |
Standardwert: | Current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Id
Gibt ein Array von Sitzungs-IDs an. Dieses Cmdlet ruft nur die Sitzungen mit den angegebenen IDs ab. Geben Sie eine oder mehrere IDs ein, getrennt durch Kommas, oder verwenden Sie den Bereichsoperator (..
), um einen Bereich von IDs anzugeben.
Sie können den ID-Parameter nicht zusammen mit dem Parameter "ComputerName " verwenden.
Eine ID ist eine ganze Zahl, die die vom Benutzer verwalteten Sitzungen in der aktuellen Sitzung eindeutig identifiziert. Es ist einfacher zu merken und einzugeben als die InstanceId, aber sie ist nur innerhalb der aktuellen Sitzung eindeutig. Die ID einer Sitzung wird in der ID-Eigenschaft der Sitzung gespeichert.
Typ: | Int32[] |
Position: | 0 |
Standardwert: | All sessions |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-InstanceId
Gibt ein Array von Instanz-IDs von Sitzungen an. Dieses Cmdlet ruft nur die Sitzungen mit den angegebenen Instanz-IDs ab.
Die Instanz-ID ist eine GUID, die eine Sitzung auf einem lokalen oder Remotecomputer eindeutig identifiziert. Die InstanceID ist eindeutig, auch wenn mehrere Sitzungen in PowerShell ausgeführt werden.
Die Instanz-ID einer Sitzung wird in der InstanceID-Eigenschaft der Sitzung gespeichert.
Typ: | Guid[] |
Position: | Named |
Standardwert: | All sessions |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Name
Gibt ein Array von Sitzungsnamen an. Dieses Cmdlet ruft nur die Sitzungen ab, die über die angegebenen Anzeigenamen verfügen. Platzhalterzeichen sind zulässig.
Der Anzeigename einer Sitzung wird in der Name-Eigenschaft der Sitzung gespeichert.
Typ: | String[] |
Position: | Named |
Standardwert: | All sessions |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-Port
Gibt den angegebenen Netzwerkport an, der für die temporäre Verbindung verwendet wird, in der der Get-PSSession
Befehl ausgeführt 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\>
Dieser Parameter konfiguriert die temporäre Verbindung, die zum Ausführen eines Get-PSSession
Befehls mit dem Parameter ComputerName oder ConnectionUri erstellt wird.
Verwenden Sie den Port-Parameter nicht, 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.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | Int32 |
Position: | Named |
Standardwert: | 5985, 5986 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
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, einschließlich der Standardwerte, finden Sie unter New-PSSessionOption
.
Informationen zur Einstellungsvariablen $PSSessionOption
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 |
-State
Gibt einen Sitzungsstatus an. Dieses Cmdlet ruft nur Sitzungen im angegebenen Zustand ab. Die zulässigen Werte für diesen Parameter sind: All
, , Opened
, Disconnected
, , Closed
und Broken
. Der Standardwert ist All
.
Der Sitzungsstatuswert ist relativ zu aktuellen Sitzungen. Sitzungen, die nicht in den aktuellen Sitzungen erstellt wurden und nicht mit der aktuellen Sitzung verbunden sind, weisen einen Status von Disconnected
selbst auf, wenn sie mit einer anderen Sitzung verbunden sind.
Der Status einer Sitzung wird in der State-Eigenschaft der Sitzung gespeichert.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SessionFilterState |
Zulässige Werte: | All, Opened, Disconnected, Closed, Broken |
Position: | Named |
Standardwert: | All |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ThrottleLimit
Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen des Get-PSSession
Befehls eingerichtet werden können. Wenn Sie diesen Parameter weglassen oder einen Wert von 0
(Null) eingeben, 32
wird der Standardwert verwendet. Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | Int32 |
Position: | Named |
Standardwert: | 32 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-UseSSL
Gibt an, dass dieses Cmdlet das SSL-Protokoll (Secure Sockets Layer) verwendet, um die Verbindung herzustellen, in der der Get-PSSession
Befehl ausgeführt wird. Standardmäßig wird SSL nicht verwendet. Wenn Sie diesen Parameter verwenden, aber SSL auf dem Port für den Befehl nicht verfügbar ist, tritt ein Fehler beim Befehl auf.
Dieser Parameter konfiguriert die temporäre Verbindung, die erstellt wird, um einen Get-PSSession
Befehl mit dem Parameter ComputerName auszuführen.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-VMId
Gibt ein Array der ID von virtuellen Computern an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie den folgenden Befehl, um die virtuellen Computer anzuzeigen, die Ihnen zur Verfügung stehen:
Get-VM | Select-Object -Property Name, ID
Typ: | Guid[] |
Aliase: | VMGuid |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-VMName
Gibt ein Array von Namen von virtuellen Computern an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie das Get-VM
Cmdlet, um die virtuellen Computer anzuzeigen, die Ihnen zur Verfügung stehen.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Hinweise
PowerShell enthält die folgenden Aliase für Get-PSSession
:
Alle Plattformen:
gsn
Dieses Cmdlet ruft benutzerverwaltete Sitzungs-PSSession-Objekte ab, z. B. solche, die mithilfe der
New-PSSession
Cmdlets ,Enter-PSSession
undInvoke-Command
derEn Cmdlets erstellt werden. Es wird nicht die vom System verwaltete Sitzung abgerufen, die beim Starten von PowerShell erstellt wird.Ab Windows PowerShell 3.0 werden PSSession-Objekte auf dem Computer gespeichert, der sich auf dem serverseitigen oder empfangenden Ende einer Verbindung befindet. Um die Sitzungen abzurufen, die auf dem lokalen Computer oder einem Remotecomputer gespeichert sind, richtet PowerShell eine temporäre Sitzung auf dem angegebenen Computer ein und führt Abfragebefehle in der Sitzung aus.
Um Sitzungen abzurufen, die eine Verbindung mit einem Remotecomputer herstellen, verwenden Sie die Parameter "ComputerName " oder "ConnectionUri ", um den Remotecomputer anzugeben. Verwenden Sie zum Filtern der abrufenden Sitzungen
Get-PSSession
die Parameter "Name", "ID", "InstanceID" und "State". Verwenden Sie die verbleibenden Parameter, um die temporäre Sitzung zu konfigurieren, dieGet-PSSession
verwendet wird.Wenn Sie die Parameter "ComputerName " oder "ConnectionUri " verwenden,
Get-PSSession
werden nur Sitzungen von Computern mit Windows PowerShell 3.0 und höheren Versionen von PowerShell abgerufen.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 PSSession aus der aktuellen 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.