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 cmdlet Get-PSSession 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.

Ohne Parameter ruft Get-PSSession alle Sitzungen ab, die in der aktuellen Sitzung erstellt wurden.

Verwenden Sie die Filterparameter, einschließlich Name, ID, InstanceID, State, ApplicationNameund ConfigurationName aus den sitzungen auszuwählen, die Get-PSSession zurückgibt.

Verwenden Sie die verbleibenden Parameter, um die temporäre Verbindung zu konfigurieren, in der der befehl Get-PSSession ausgeführt wird, wenn Sie die Parameter ComputerName oder ConnectionUri verwenden.

Anmerkung

In Windows PowerShell 2.0 ohne Parameter ruft Get-PSSession alle Sitzungen ab, 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

Dieser Befehl ruft alle PSSessions- ab, die in der aktuellen Sitzung erstellt wurden. Es wird nicht 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 verschiedenen Sitzungen oder auf verschiedenen 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 Server02 zurück, auch wenn sie in verschiedenen Sitzungen oder auf verschiedenen 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 zurzeit verwendet. Die ScheduledJobs Sitzung, die Opened und Availableist, 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 Cmdlet New-PSSession, um PSSessions- auf drei Remotecomputern zu erstellen.

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 mehr Objekte als Variablen vorhanden sind, weist sie der letzten Variablen im Array alle verbleibenden Objekte zu. Wenn mehr Variablen als Objekte vorhanden sind, werden die zusätzlichen Variablen nicht verwendet.

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 Cmdlet Format-Table, das die eigenschaften ComputerName und InstanceID der einzelnen PSSession-anzeigt.

Der zweite Befehl verwendet das cmdlet Get-PSSession, um eine bestimmte PSSession- abzurufen und in der variablen $s zu speichern. Der Befehl verwendet den parameter InstanceID, um den PSSession-zu identifizieren.

Der dritte Befehl verwendet das cmdlet Remove-PSSession, um die PSSession- in der variablen $s zu löschen.

Beispiel 6: Abrufen einer Sitzung mit einem bestimmten Namen

Die Befehle in diesem Beispiel finden eine Sitzung mit einem bestimmten Namensformat und verwenden eine bestimmte Sitzungskonfiguration und stellen dann eine Verbindung mit der Sitzung her. Sie können einen Befehl wie diesen verwenden, um eine Sitzung zu finden, in der ein Kollege eine Aufgabe gestartet und eine Verbindung herstellt, 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 mit BackupJob beginnen und die ITTasks Sitzungskonfiguration 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 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 cmdlet Get-PSSession 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 darauf hinweist, dass sie nicht verwendet wird.

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

Der dritte Befehl ruft die Sitzung in der variablen $s ab. Die Ausgabe zeigt, dass der Befehl Connect-PSSession erfolgreich war. Die Sitzung befindet sich im Zustand Geöffneten 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 2ab. 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. 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: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 befehl Get-PSSession 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.

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.

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 befehl Get-PSSession 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 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.

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 mit den angegebenen Computern herstellen. Wildcardzeichen sind nicht zulässig. Es gibt keinen Standardwert.

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 eines oder mehrerer Computer ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, localhostoder einen Punkt (.) ein.

Anmerkung

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 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: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 befehl Get-PSSession ausgeführt wird. Der URI muss vollqualifizierter 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>

Der Standardwert ist: http://localhost:5985/WSMAN.

Wenn Sie keine ConnectionUri-angeben, können Sie die Parameter UseSSL, ComputerName, Portund ApplicationName Parameter verwenden, um die ConnectionURI- 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 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.

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 Befehl docker ps, 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. 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?.

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.

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. Wildcardzeichen sind zulässig.

Der Anzeigename einer Sitzung wird in der eigenschaft Name 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 befehl Get-PSSession ausgeführt 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\>

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 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.

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 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, einschließlich der Standardwerte, 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

-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. Der Standardwert ist All.

Der Sitzungsstatuswert ist relativ zu den aktuellen Sitzungen. Sitzungen, die nicht in den aktuellen Sitzungen erstellt wurden und nicht mit der aktuellen Sitzung verbunden sind, weisen einen Status von Disconnected auf, auch wenn sie mit einer anderen Sitzung verbunden sind.

Der Status einer Sitzung wird in der eigenschaft State 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 befehls Get-PSSession eingerichtet werden können. Wenn Sie diesen Parameter weglassen oder einen Wert von 0 (Null) eingeben, wird der Standardwert 32verwendet. Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, 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 befehl Get-PSSession ausgeführt wird. Standardmäßig wird SSL nicht verwendet. Wenn Sie diesen Parameter verwenden, ABER SSL für den für den Befehl verwendeten Port nicht verfügbar ist, schlägt der Befehl fehl.

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 virtueller Computer an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen virtuellen Computer. Verwenden Sie das Cmdlet Get-VM, 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

PSSession

Hinweise

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

  • Alle Plattformen:

    • gsn
  • Dieses Cmdlet ruft vom Benutzer verwaltete Sitzungen PSSession--Objekte" ab, z. B. mithilfe der Cmdlets New-PSSession, Enter-PSSessionund Invoke-Command. 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 parameter, um den Remotecomputer anzugeben. Um die sitzungen zu filtern, die Get-PSSession abrufen, verwenden Sie die Parameter Name, ID, InstanceIDund State Parameter. Verwenden Sie die verbleibenden Parameter, um die temporäre Sitzung zu konfigurieren, die Get-PSSession verwendet.

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

  • 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 dem PSSession- aus der aktuellen Sitzung herstellen oder erneut herstellen können, verwenden Sie die Eigenschaft Availability.

Ein Availability Wert von None gibt an, dass Sie eine Verbindung mit der Sitzung herstellen können. Ein Wert von 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.