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ückgegebenen 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 , 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 ( * alle) weist Format-List darauf hin, dass alle Eigenschaften und Werte des Objekts in einer Liste angezeigt werden.

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, Sitzungskontingenten und dem vollständigen Pfad zur Sitzungskonfigurationsdatei erstellt werden.

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 anzuzeigen. 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 zusammen mit anderen Plug-Ins für WS-Management darstellen.

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 wie einen Get-PSSessionConfiguration Befehl bereit, aber der Benutzer muss kein Mitglied der Gruppe "Administratoren" sein, um dieses Cmdlet auszuführen.

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 Remotecomputer Server01 her. Das Get-ChildItem Cmdlet (Alias dir) des WSMan:-Laufwerks ruft die Elemente im Server01\Plugin-Pfad ab. Die Ausgabe zeigt die Elemente im Plug-In-Verzeichnis auf dem Server01-Computer an. 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 Sie einen Get-PSSessionConfiguration Befehl auf einem Remotecomputer ausführen. 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 den lokalen und Remotecomputern sein, und Sie müssen 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 bereit. Diese Aktion fügt dem WSMan einen Knoten für Server02 hinzu: Laufwerk auf dem lokalen Computer, sodass Sie die WS-Verwaltungseinstellungen auf dem Server02-Computer anzeigen und ändern können. Das Set-Item Cmdlet ändert den Wert des CredSSP-Elements im Dienstknoten des Servers02-Computers in "True". Dadurch werden die Diensteinstellungen auf dem Remotecomputer konfiguriert. Das Invoke-Command Cmdlet führt denGet-PSSessionConfiguration Befehl auf dem Server02-Computer aus. Der Befehl verwendet den Parameter "Credential " und verwendet den Authentifizierungsparameter mit dem Wert "CredSSP". Die Ausgabe zeigt die Sitzungskonfigurationen auf dem Server02-Remotecomputer an.

Beispiel 8 : Abrufen des Ressourcen-URI einer Sitzungskonfiguration

Dieses Beispiel eignet sich zum Festlegen des Werts der $PSSessionConfigurationName Einstellungsvariablen, die einen Ressourcen-URI verwendet.

(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 Variable $PSSessionConfiguration 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 weiterleiten.

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 Authentifizierung des Credential Security Service Provider (CredSSP) 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 Parameters "Authentication " verwenden. Andernfalls wird der Zugriff verweigert.

  • Die Notizeigenschaften des Zurückgegebenen Objekts werden nur angezeigt, Get-PSSessionConfiguration wenn sie einen Wert aufweisen. Nur Sitzungskonfigurationen, die mithilfe einer Sitzungskonfigurationsdatei erstellt wurden, weisen alle definierten Eigenschaften auf.

  • 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 das WSMan:-Laufwerk in PowerShell 2.0 jedoch 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. Um in PowerShell 3.0 eingeführte Eigenschaften zu ändern, verwenden Sie das WSMan:-Laufwerk in PowerShell 3.0.