Freigeben über


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 ComputerName oder ConnectionUri von Get-PSSession 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.

Ruft ohne Parameter alle Sitzungen ab, 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

Ruft in Windows PowerShell 2.0 ohne Parameter alle Sitzungen ab, Get-PSSession die in der aktuellen Sitzung erstellt wurden. Der ComputerName-Parameter 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

Mit diesem Befehl werden alle PSSessions abgerufen, die in der aktuellen Sitzung erstellt wurden. Es werden 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"

Mit diesem Befehl werden die PSSessions abgerufen, die mit dem lokalen Computer verbunden sind. Geben Sie zum Angeben des lokalen Computers 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

Mit diesem Befehl werden die PSSessions abgerufen, 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 und AvailableistOpened, wurde in der aktuellen Sitzung erstellt.

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, um PSSessions auf drei Remotecomputern zu erstellen.

Der zweite Befehl verwendet ein Get-PSSession Cmdlet, um die drei PSSessions abzurufen. Anschließend werden die einzelnen PSSessions in einer separaten Variablen gespeichert.

Wenn PowerShell einem Array von Variablen ein Array von Objekten zuweist, weist es das erste Objekt der ersten Variablen, das zweite 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 instance-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 instance-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 Eigenschaften ComputerName und InstanceID 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 InstanceID-Parameter , 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 Server02- und Server12-Remotecomputern ab, die über Namen verfügen, die mit BackupJob beginnen und die Sitzungskonfiguration ITTasks verwenden. Der Befehl verwendet den Parameter Name , um das Namensmuster und den Parameter ConfigurationName anzugeben, um die Sitzungskonfiguration anzugeben. Der Wert des SessionOption-Parameters ist eine Hashtabelle, die den Wert von OperationTimeout auf 240000 Millisekunden (4 Minuten) festlegt. Diese Einstellung gibt dem Befehl mehr Zeit zum Abschließ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 wird getrennt, und die Verfügbarkeit ist None, was angibt, dass sie nicht verwendet wird.

Der zweite Befehl verwendet das Get-PSSession Cmdlet, um zur Sitzung zu BackupJob04 gelangen, und das Connect-PSSession Cmdlet, um eine Verbindung mit der Sitzung herzustellen. Der Befehl speichert die Sitzung in der Variablen $s.

Mit dem dritten Befehl wird die Sitzung in der $s Variablen abgerufen. Die Ausgabe zeigt, dass der Connect-PSSession Befehl erfolgreich war. Die Sitzung hat den Status Opened und steht zur Verwendung zur Verfügung.

Beispiel 7: Abrufen einer Sitzung mithilfe ihrer ID

Get-PSSession -Id 2

Mit diesem Befehl wird die PSSession mit der ID 2abgerufen. 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 zum Ausführen eines Get-PSSession Befehls mit dem ConnectionUri-Parameter erstellt wird.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

Gibt den Namen einer Anwendung an. Dieses Cmdlet stellt nur eine Verbindung mit Sitzungen her, die die angegebene Anwendung verwenden.

Geben Sie das Anwendungsnamensegment des Verbindungs-URI ein. Im folgenden Verbindungs-URI lautet der Anwendungsname beispielsweise 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.

Type:String
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:True
Accept wildcard characters: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 zum Ausführen eines Get-PSSession Befehls mit dem Parameter ComputerName oder ConnectionUri erstellt wird.

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

Die CredSSP (Credential Security Support Provider)-Authentifizierung, bei der die Anmeldeinformationen des Benutzers zur Authentifizierung an einen Remotecomputer übergeben werden, ist für Befehle konzipiert, die die Authentifizierung auf mehr als einer Ressource erfordern, z. B. beim 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.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Gibt das Zertifikat für digitale öffentliche 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 abzurufen, verwenden Sie einen Get-Item oder Get-ChildItem -Befehl auf dem PowerShell-Laufwerk Cert: .

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 mit 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 , localhostoder einen Punkt (.) ein.

Hinweis

Dieser Parameter ruft Sitzungen nur von Computern ab, auf denen Windows PowerShell 3.0 oder höher von PowerShell ausgeführt wird. In früheren Versionen werden keine Sitzungen gespeichert.

Type:String[]
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ConfigurationName

Gibt den Namen einer Konfiguration an. Dieses Cmdlet ruft nur Sitzungen auf, 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 befindet sich in der ConfigurationName-Eigenschaft der Sitzung.

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.

Type:String
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:True
Accept wildcard characters: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 Standardports erstellt: 80 für HTTP und 443 für HTTPS. Um die Standardports für PowerShell-Remoting zu verwenden, geben Sie port 5985 für HTTP oder 5986 für HTTPS an.

Wenn der Zielcomputer die Verbindung an einen 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.

Mit diesem Parameter werden Sitzungen nur von Computern abgerufen, auf denen Windows PowerShell 3.0 oder höhere Versionen von Windows PowerShell ausgeführt werden. In früheren Versionen werden keine Sitzungen gespeichert.

Type:Uri[]
Aliases:URI, CU
Position:0
Default value:Http://localhost:5985/WSMAN
Required:True
Accept pipeline input:True
Accept wildcard characters: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 Befehl docker ps .

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

Gibt Benutzeranmeldeinformationen 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 Befehl aus Get-PSSession . Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, zUser01. B. oder Domain01\User01, oder geben Sie ein vom Get-Credential Cmdlet generiertes 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-Daten finden Sie unter Wie sicher ist SecureString?.

Dieser Parameter konfiguriert die temporäre Verbindung, die erstellt wird, um einen Get-PSSession Befehl mit dem Parameter ComputerName oder ConnectionUri auszuführen.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters: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 durch Kommas getrennt ein, oder verwenden Sie den Bereichsoperator (..), um einen Bereich von IDs anzugeben. Sie können den ID-Parameter nicht zusammen mit dem ComputerName-Parameter 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.

Type:Int32[]
Position:0
Default value:All sessions
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Gibt ein Array von instance-IDs von Sitzungen an. Dieses Cmdlet ruft nur die Sitzungen mit den angegebenen instance 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.

Type:Guid[]
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:All sessions
Required:False
Accept pipeline input:True
Accept wildcard characters: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, d. h. der WinRM-Port für HTTP, und 5986, der 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 erstellt wird, um einen Get-PSSession Befehl mit dem Parameter ComputerName oder ConnectionUri auszuführen.

Verwenden Sie den Port-Parameter nur, wenn es unbedingt notwendig ist. 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.

Type:Int32
Position:Named
Default value:5985, 5986
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

Gibt erweiterte Optionen für die Sitzung an. Geben Sie ein SessionOption-Objekt ein, z. B. ein Objekt, das Sie mit dem New-PSSessionOption Cmdlet erstellen, oder eine Hashtabelle, in der die Schlüssel Sitzungsoptionsnamen und die Werte Sitzungsoptionswerte sind.

Die Standardwerte für die Optionen werden durch den Wert der $PSSessionOption Einstellungsvariablen bestimmt, sofern 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. 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.

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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, Closedund Broken. Standardwert: 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 den Status auch dann Disconnected 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.

Type:SessionFilterState
Accepted values:All, Opened, Disconnected, Closed, Broken
Position:Named
Default value:All
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen des Get-PSSession Befehls hergestellt werden können. Wenn Sie diesen Parameter weglassen oder den Wert 0 (null) eingeben, wird der Standardwert 32verwendet. 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.

Type:Int32
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters: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 ComputerName-Parameter auszuführen.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 verfügbaren virtuellen Computer anzuzeigen:

Get-VM | Select-Object -Property Name, ID

Type:Guid[]
Aliases:VMGuid
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 für Sie verfügbaren virtuellen Computer anzuzeigen.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet übergeben.

Ausgaben

PSSession

Hinweise

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

  • Alle Plattformen:

    • gsn
  • Dieses Cmdlet ruft benutzerseitig verwaltete Sitzungs-PSSession-Objekte ab", z. B. solche, die mit den New-PSSessionCmdlets , Enter-PSSessionund Invoke-Command erstellt werden. Die vom System verwaltete Sitzung, die beim Starten von PowerShell erstellt wird, wird nicht abgerufen.

  • Ab Windows PowerShell 3.0 werden PSSession-Objekte auf dem Computer gespeichert, der sich auf der Serverseite befindet oder das Ende einer Verbindung empfängt. Um die Sitzungen abzurufen, die auf dem lokalen Computer oder einem Remotecomputer gespeichert sind, richtet PowerShell eine temporäre Sitzung für den angegebenen Computer ein und führt Abfragebefehle in der Sitzung aus.

  • Verwenden Sie zum Abrufen von Sitzungen, die eine Verbindung zu einem Remotecomputer herstellen, den Parameter ComputerName oder ConnectionUri, um den Remotecomputer anzugeben. Verwenden Sie zum Filtern der abgerufenen Sitzungen Get-PSSession die Parameter Name, ID, InstanceID und State . Verwenden Sie die verbleibenden Parameter, um die temporäre Sitzung zu konfigurieren, die verwendet Get-PSSession wird.

  • Wenn Sie die Parameter ComputerName oder ConnectionUri verwenden, ruft nur Sitzungen von Computern ab, Get-PSSession die Windows PowerShell 3.0 und höher von PowerShell ausgeführt werden.

  • 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. Dies bedeutet jedoch nicht, dass die PSSession von allen Sitzungen getrennt ist. Sie kann mit einer anderen Sitzung verbunden sein. Verwenden Sie die Availability-Eigenschaft, um zu bestimmen, ob Sie eine Verbindung mit der PSSession herstellen oder eine verbindung mit der PSSession aus der aktuellen Sitzung herstellen können.

Ein Availability-Wert von None gibt an, dass eine Verbindung mit der Sitzung hergestellt werden kann. Der Wert Busy 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.