Freigeben über


Get-PSSessionConfiguration

Ruft die registrierten Sitzungskonfigurationen auf dem Computer ab.

Syntax

Get-PSSessionConfiguration
   [[-Name] <String[]>]
   [-Force]
   [<CommonParameters>]

Beschreibung

Das Get-PSSessionConfiguration Cmdlet ruft die Sitzungskonfigurationen ab, die auf dem lokalen Computer registriert wurden. Dies ist ein erweitertes Cmdlet für Systemadministratoren, die benutzerdefinierte Sitzungskonfigurationen für ihre Benutzer verwalten.

Ab PowerShell 3.0 können Sie die Eigenschaften einer Sitzungskonfiguration mithilfe einer Sitzungskonfigurationsdatei (.pssc) definieren. Mit dieser Funktion können Sie angepasste und eingeschränkte Sitzungen erstellen, ohne ein Programm zu schreiben. Weitere Informationen zu Sitzungskonfigurationsdateien finden Sie unter about_Session_Configuration_Files.

Ab PowerShell 3.0 wurden dem zurückgibtden Sitzungskonfigurationsobjekt Get-PSSessionConfiguration neue Notizeigenschaften hinzugefügt. Diese Eigenschaften erleichtern Benutzern und Erstellern von Sitzungskonfigurationen die Überprüfung und den Vergleich von Sitzungskonfigurationen.

Verwenden Sie das Register-PSSessionConfiguration Cmdlet, um eine Sitzungskonfiguration zu erstellen und zu registrieren. Weitere Informationen zu Sitzungskonfigurationen finden Sie unter about_Session_Configurations.

Beispiele

Beispiel 1: Abrufen von Sitzungskonfigurationen auf dem lokalen Computer

Get-PSSessionConfiguration

Beispiel 2: Abrufen der beiden Standardsitzungskonfigurationen

Der Befehl verwendet den Parameter Name von, Get-PSSessionConfiguration um nur die Sitzungskonfigurationen mit Namen abzurufen, die mit "Microsoft" beginnen.

Get-PSSessionConfiguration -Name Microsoft*

Name                      PSVersion  StartupScript        Permission
----                      ---------  -------------        ----------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll...
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll...

Beispiel 3: Abrufen der Eigenschaften und Werte einer Sitzungskonfiguration

Dieses Beispiel zeigt die Eigenschaften und Eigenschaftswerte einer Sitzungskonfiguration, die mithilfe einer Sitzungskonfigurationsdatei erstellt wurde.

Get-PSSessionConfiguration -Name Full  | Format-List -Property *

Copyright                     : (c) 2011 User01. All rights reserved.
AliasDefinitions              : {System.Collections.Hashtable}
SessionType                   : Default
CompanyName                   : Unknown
GUID                          : 1e9cb265-dae0-4bd3-89a9-8338a47698a1
Author                        : User01
ExecutionPolicy               : Restricted
SchemaVersion                 : 1.0.0.0
LanguageMode                  : FullLanguage
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : http://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 10
lang                          : en-US
SupportsOptions               : true
ExactMatch                    : true
configfilepath                : C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
MaxShells                     : 300
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 43200000
SDKVersion                    : 1
Name                          : Full
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 25
Enabled                       : True
MaxShellsPerUser              : 30
Permission                    :

Im Beispiel wird das Get-PSSessionConfiguration Cmdlet verwendet, um die vollständige Sitzungskonfiguration abzurufen. Ein Pipelineoperator sendet die Vollständige Sitzungskonfiguration an das Format-List Cmdlet. Der Property-Parameter mit dem Wert ( * all) weist Format-List an, alle Eigenschaften und Werte des Objekts in einer Liste anzuzeigen.

Die Ausgabe enthält nützliche Informationen, einschließlich des Autors der Sitzungskonfiguration, des Sitzungstyps, des Sprachmodus und der Ausführungsrichtlinie von Sitzungen, die mit dieser Sitzungskonfiguration erstellt werden, Sitzungskontingente und den vollständigen Pfad zur Sitzungskonfigurationsdatei.

Diese Ansicht einer Sitzungskonfiguration wird für Sitzungen verwendet, die eine Sitzungskonfigurationsdatei enthalten. Weitere Informationen zu Sitzungskonfigurationsdateien finden Sie unter about_Session_Configuration_Files.

Beispiel 4: Eine weitere Möglichkeit zum Betrachten der Sitzungskonfigurationen

In diesem Beispiel wird das Get-ChildItem Cmdlet (Alias dir) im WSMan:-Anbieterlaufwerk verwendet, um den Inhalt des Plug-In-Knotens zu untersuchen. Dies ist eine weitere Möglichkeit, um die Sitzungskonfigurationen auf dem Computer anzuzeigen.

dir wsman:\localhost\plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=WMI Provider}                 WMI Provider

Der PlugIn-Knoten enthält ContainerElement-Objekte (Microsoft.WSMan.Management.WSManConfigContainerElement), die die registrierten PowerShell-Sitzungskonfigurationen darstellen, zusammen mit anderen Plug-Ins für WS-Management.

Beispiel 6: Anzeigen von Sitzungskonfigurationen auf einem Remotecomputer

Dieses Beispiel zeigt, wie Sie den WSMan-Anbieter verwenden können, um die Sitzungskonfigurationen auf einem Remotecomputer anzuzeigen. Diese Methode stellt nicht so viele Informationen bereit wie ein Get-PSSessionConfiguration Befehl, aber der Benutzer muss kein Mitglied der Gruppe Administratoren sein, um dieses Cmdlet ausführen zu können.

Connect-WSMan -ComputerName Server01
dir WSMan:\Server01\Plugin

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Empty}                        Empty
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=NoLanguage}                   NoLanguage
Container       {Name=RestrictedLang}               RestrictedLang
Container       {Name=RRS}                          RRS
Container       {Name=SEL Plugin}                   SEL Plugin
Container       {Name=WithProfile}                  WithProfile
Container       {Name=WMI Provider}                 WMI Provider

Das Connect-WSMan Cmdlet stellt eine Verbindung mit dem WinRM-Dienst auf dem Server01-Remotecomputer her. Das Get-ChildItem Cmdlet (Alias dir) des WSMan:-Laufwerks ruft die Elemente im Pfad Server01\Plug-In ab. Die Ausgabe zeigt die Elemente im Plugin-Verzeichnis auf dem Computer „Server01“. Die Elemente enthalten die Sitzungskonfigurationen, die eine Art von WSMan-Plug-In sind, sowie andere Arten von Plug-Ins auf dem Computer.

Beispiel 7: Abrufen detaillierter Sitzungskonfigurationen von einem Remotecomputer

In diesem Beispiel wird gezeigt, wie ein Get-PSSessionConfiguration Befehl auf einem Remotecomputer ausgeführt wird. Der Befehl erfordert, dass die CredSSP-Delegierung in den Clienteinstellungen auf dem lokalen Computer und in den Diensteinstellungen auf dem Remotecomputer aktiviert ist.

Um die Befehle in diesem Beispiel auszuführen, müssen Sie Mitglied der Gruppe Administratoren auf dem lokalen und Remotecomputer sein und PowerShell mit der Option Als Administrator ausführen starten.

Enable-WSManCredSSP -Delegate Server02
Connect-WSMan Server02
Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01

Name                      PSVersion  StartupScript        Permission                          PSComputerName
----                      ---------  -------------        ----------                          --------------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
MyX86Shell                5.1        c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com

Das Enable-WSManCredSSP Cmdlet aktiviert die CredSSP-Delegierung auf Server01, dem lokalen Computer. Das Connect-WSMan Cmdlet stellt eine Verbindung mit dem Server02-Computer her. Durch diese Aktion wird dem Laufwerk WSMan: auf dem lokalen Computer ein Knoten für Server02 hinzugefügt, sodass Sie die WS-Management Einstellungen auf dem Server02-Computer anzeigen und ändern können. Das Set-Item Cmdlet ändert den Wert des CredSSP-Elements im Knoten Dienst des Computers Server02 in True. Dadurch werden die Diensteinstellungen auf dem Remotecomputer konfiguriert. Das Invoke-Command Cmdlet führt denGet-PSSessionConfiguration Befehl auf dem Computer Server02 aus. Der Befehl verwendet den Credential-Parameter und den Authentication-Parameter mit dem Wert CredSSP. Die Ausgabe zeigt die Sitzungskonfigurationen auf dem Remotecomputer „Server02“.

Beispiel 8: Abrufen des Ressourcen-URI einer Sitzungskonfiguration

Dieses Beispiel ist nützlich, um den Wert der $PSSessionConfigurationName Einstellungsvariablen festzulegen, die einen Ressourcen-URI akzeptiert.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

http://schemas.microsoft.com/powershell/microsoft.CustomShell

Die $PSSessionConfigurationName Variable gibt die Standardkonfiguration an, die beim Erstellen einer Sitzung verwendet wird. Diese Variable wird auf dem lokalen Computer festgelegt, aber sie gibt eine Konfiguration auf dem Remotecomputer an. Weitere Informationen zur $PSSessionConfiguration Variablen finden Sie unter about_Preference_Variables.

Parameter

-Force

Unterdrückt die Eingabeaufforderung zum Neustart des WinRM-Diensts, wenn der Dienst noch nicht ausgeführt wird.

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

-Name

Ruft nur die Sitzungskonfigurationen mit dem angegebenen Namen oder Namensmuster ab. Geben Sie mindestens einen Konfigurationsnamen ein. Platzhalter sind zulässig.

Type:String[]
Position:0
Default value:All session configurations on the local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Eingaben

None

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

Ausgaben

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Hinweise

  • Um dieses Cmdlet auszuführen, starten Sie PowerShell mit der Option Als Administrator ausführen .

  • Zur Anzeige der Sitzungskonfigurationen auf dem Computer müssen Sie Mitglied der Gruppe „Administratoren“ auf dem Computer sein.

  • Um einen Get-PSSessionConfiguration Befehl auf einem Remotecomputer auszuführen, muss die CredSSP-Authentifizierung (Credential Security Service Provider) in den Clienteinstellungen auf dem lokalen Computer (mithilfe des Enable-WSManCredSSP Cmdlets) und in den Diensteinstellungen auf dem Remotecomputer aktiviert sein. Außerdem müssen Sie beim Einrichten der Remotesitzung den CredSSP-Wert des Authentication-Parameters verwenden. Andernfalls wird der Zugriff verweigert.

  • Die Notizeigenschaften des zurückgegebenen Get-PSSessionConfiguration Objekts werden im -Objekt nur angezeigt, wenn sie über einen -Wert verfügen. Nur Sitzungskonfigurationen, die mithilfe einer Sitzungskonfigurationsdatei erstellt wurden, verfügen über alle definierten Eigenschaften.

  • Die Eigenschaften eines Sitzungskonfigurationsobjekts weichen hinsichtlich der für die Sitzungskonfiguration festgelegten Optionen sowie der Werte dieser Optionen ab. Sitzungskonfigurationen, die eine Sitzungskonfigurationsdatei verwenden, haben außerdem zusätzliche Eigenschaften.

  • Sie können Befehle im WSMan:-Laufwerk verwenden, um die Eigenschaften von Sitzungskonfigurationen zu ändern. Sie können jedoch das Laufwerk WSMan: in PowerShell 2.0 nicht verwenden, um sitzungskonfigurationseigenschaften zu ändern, die in PowerShell 3.0 eingeführt werden, z. B. OutputBufferingMode. PowerShell 2.0-Befehle generieren keinen Fehler, sind aber ineffektiv. Verwenden Sie zum Ändern der in PowerShell 3.0 eingeführten Eigenschaften das Laufwerk WSMan: in PowerShell 3.0.