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]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-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
   [-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
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-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 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. 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 localhosteinen 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\User01geben 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, , Closedund 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, 32wird 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

PSSession

Hinweise

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

  • gsn

  • Dieses Cmdlet ruft benutzerverwaltete Sitzungs-PSSession-Objekte ab, z. B. solche, die mithilfe der New-PSSessionCmdlets , Enter-PSSessionund Invoke-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, die Get-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.