about_Session_Configurations

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

THEMA

about_Session_Configurations

KURZE BESCHREIBUNG

Beschreibt die Sitzungskonfigurationen, die festlegen, welche Benutzer eine Remoteverbindung mit dem Computer herstellen können und welche Befehle sie ausführen können.

LANGE BESCHREIBUNG

Eine Sitzungskonfiguration, auch bekannt als „Endpunkt“, ist eine Gruppe von Einstellungen auf dem lokalen Computer, die die Umgebung der Windows PowerShell®-Sitzungen definieren, die erstellt werden, wenn Remote- oder lokale Benutzer eine Verbindung zu Windows PowerShell auf dem lokalen Computer herstellen.

Die Administratoren des Computers können Sitzungskonfigurationen verwenden, um den Computer zu schützen und um angepasste Umgebungen für Benutzer zu definieren, die eine Verbindung mit dem Computer herstellen.

Administratoren können Sitzungskonfigurationen auch verwenden, um die Berechtigungen zu bestimmen, die erforderlich sind, um eine Remoteverbindung mit dem Computer herzustellen. Standardmäßig haben nur Mitglieder der Gruppe „Administratoren“ die Berechtigung, mithilfe der Sitzungskonfiguration eine Remoteverbindung herzustellen, jedoch können Sie die Standardeinstellungen ändern, damit alle Benutzer oder ausgewählte Benutzer Remoteverbindungen mit Ihrem Computer herstellen können.

Ab Windows PowerShell 3.0 können Sie eine Sitzungskonfigurationsdatei verwenden, um eine Sitzungskonfiguration zu definieren. Dieses Feature erleichtert die Anpassung von Sitzungen, ohne Code schreiben zu müssen, und die Ermittlung der Eigenschaften einer Sitzungskonfiguration. Um eine Sitzungskonfigurationsdatei zu erstellen, verwenden Sie das New-PSSessionConfiguration-Cmdlet. Weitere Informationen zu Sitzungskonfigurationsdateien finden Sie unter „about_Session_Configuration_Files“ (https://go.microsoft.com/fwlink/?LinkId=236023).

Sitzungskonfigurationen sind ein Feature des Web Services for Management (WS-Management)-basierten Windows PowerShell-Remoting. Sie werden nur verwendet, wenn Sie die New-PSSession-, Invoke-Command- oder Enter-PSSession-Cmdlets nutzen, um die Verbindung zu einem Remotecomputer herzustellen.

Hinweis: Zum Verwalten der Sitzungskonfigurationen starten Sie Windows PowerShell mit der Option „Als Administrator ausführen“.

INFORMATIONEN ZU SITZUNGSKONFIGURATIONEN

Jede Windows PowerShell-Sitzung verwendet eine Sitzungskonfiguration. Dies schließt die persistenten Sitzungen ein, die Sie erstellen, indem Sie die New-PSSession- oder Enter-PSSession-Cmdlets verwenden, aber auch die temporären Sitzungen, die Windows PowerShell erstellt, wenn Sie den ComputerName-Parameter eines Cmdlets verwenden, das die WS-Management-basierte Remoting-Technologie nutzt, wie z. B. Invoke-Command.

Die Administratoren können Sitzungskonfigurationen verwenden, um die Ressourcen des Computers zu schützen und um angepasste Umgebungen für Benutzer zu erstellen, die eine Verbindung mit dem Computer herstellen. Beispielsweise können Sie eine Sitzungskonfiguration verwenden, um die Größe der Objekte zu begrenzen, die der Computer in der Sitzung empfängt, um den Sprachmodus der Sitzung zu definieren und um die Cmdlets, Anbieter und Funktionen festzulegen, die in der Sitzung verfügbar sind.

Durch das Konfigurieren des Sicherheitsdeskriptors einer Sitzungskonfiguration bestimmen Sie, wer die Sitzungskonfiguration verwenden kann, um die Verbindung zum Computer herzustellen. Benutzer müssen über die Execute-Berechtigung für eine Sitzungskonfiguration verfügen, um sie in einer Sitzung verwenden zu können. Verfügt ein Benutzer nicht die erforderlichen Berechtigungen zur Verwendung einer der Sitzungskonfigurationen auf einem Computer, kann der Benutzer keine Remoteverbindung zu dem Computer herstellen.

Standardmäßig verfügen nur Administratoren des Computers über die Berechtigung, die Standard-Sitzungskonfigurationen zu verwenden. Aber Sie können die Sicherheitsdeskriptoren so ändern, dass alle, keine oder nur ausgewählte Benutzer die Sitzungskonfigurationen auf Ihrem Computer verwenden können.Unterabschnittstext hier einfügen.

INTEGRIERTE SITZUNGSKONFIGURATIONEN

Windows PowerShell 3.0 umfasst integrierte Sitzungskonfigurationen namens Microsoft.PowerShell und Microsoft.PowerShell.Workflow. Auf Computern, auf denen die 64-Bit-Versionen von Windows ausgeführt werden, stellt Windows PowerShell außerdem Microsoft.Powershell32 zur Verfügung, eine 32-Bit-Sitzungskonfiguration.

Die Windows PowerShell-Sitzungskonfiguration wird standardmäßig für Sitzungen verwendet, d. h., wenn ein Befehl zum Erstellen einer Sitzung keinen ConfigurationName-Parameter der New-PSSession-, Enter-PSSession- oder Invoke-Command-Cmdlets enthält.

Die Sicherheitsdeskriptoren für die standardmäßigen Sitzungskonfigurationen erlauben nur Mitgliedern der Gruppe „Administratoren“ auf dem lokalen Computer deren Verwendung. Daher können nur Mitglieder der Gruppe „Administratoren“ eine Remoteverbindung zum Computer herstellen, außer wenn Sie die Standardeinstellungen ändern.

Sie können die Standard-Sitzungskonfigurationen ändern, indem Sie die $PSSessionConfigurationName-Voreinstellungsvariable verwenden. Weitere Informationen finden Sie unter „about_Preference_Variables“.

ANZEIGEN VON SITZUNGSKONFIGURATIONEN AUF DEM LOKALEN COMPUTER

Verwenden Sie das Get-PSSessionConfiguration-Cmdlet, um die Sitzungskonfigurationen auf dem lokalen Computer abzurufen.

Geben Sie zum Beispiel ein:

        PS C:\> Get-PSSessionConfiguration | Format-List -Property Name, Permission

        Name       : microsoft.powershell
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell.workflow
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell32
        Permission : BUILTIN\Administrators AccessAllowed

Das Sitzungskonfigurationsobjekt wurde mit Windows PowerShell 3.0 so erweitert, dass es die Eigenschaften der Sitzungskonfiguration anzeigt, die mit einer Sitzungskonfigurationsdatei konfiguriert wurde.

Um beispielsweise alle Eigenschaften eines Sitzungskonfigurationsobjekts anzuzeigen, geben Sie ein:

        PS C:\> Get-PSSessionConfiguration | Format-List -Property *

Sie können auch den WSMan-Anbieter in Windows PowerShell verwenden, um die Sitzungskonfigurationen anzuzeigen. Der WSMan-Anbieter erstellt ein WSMAN: Laufwerk in Ihrer Sitzung.

Auf dem WSMAN: Laufwerk befinden sich die Sitzungskonfigurationen im Plug-In-Knoten. (Alle Sitzungskonfigurationen befinden sich im Plug-In-Knoten, aber im Plug-In-Knoten gibt es auch Elemente, die keine Sitzungskonfigurationen sind.)

Um z. B. die Sitzungskonfigurationen auf dem lokalen Computer anzugeben, geben Sie ein:Unterabschnittstext hier einfügen.

         PS C:\> dir wsman:\localhost\plugin\microsoft*
      
            WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

         Type            Keys                                Name
         ----            ----                                ----
         Container       {Name=microsoft.powershell}         microsoft.powershell
         Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
         Container       {Name=microsoft.powershell32}       microsoft.powershell32

ANZEIGEN VON SITZUNGSKONFIGURATIONEN AUF EINEM REMOTECOMPUTER

Verwenden Sie zum Anzeigen der Sitzungskonfigurationen auf einem Remotecomputer das Connect-WSMan-Cmdlet, um einen Knoten für den Remotecomputer zum WSMAN: Laufwerk auf Ihrem lokalen Computer hinzuzufügen, und verwenden Sie dann das WSMAN: Laufwerk, um die Sitzungskonfigurationen anzuzeigen.

Beispielsweise fügt der folgende Befehl einen Knoten für den Remotecomputer Server01 zum WSMAN: Laufwerk auf dem lokalen Computer hinzu.

        PS C:\> Connect-WSMan server01.corp.fabrikam.com

Wenn der Befehl abgeschlossen ist, können Sie zum Knoten für den Computer Server01 navigieren, um die Sitzungskonfigurationen anzuzeigen.

Beispiel:

        PS C:\> cd wsman:
        
        PS WSMan:\> dir 

        ComputerName                                  Type
        ------------                                  ----
        localhost                                     Container
        server01.corp.fabrikam.com                    Container

        PS WSMan:\> dir server01*\plugin\*


               WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Plugin


        Type            Keys                                Name
        ----            ----                                ----
        Container       {Name=microsoft.powershell}         microsoft.powershell
        Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
        Container       {Name=microsoft.powershell32}       microsoft.powershell32

ÄNDERN DES SICHERHEITSDESKRIPTORS FÜR EINE SITZUNGSKONFIGURATION

In Windows Server 2012 und neueren Versionen von Windows Server sind die integrierten Sitzungskonfigurationen für Remotebenutzer standardmäßig aktiviert. In anderen unterstützten Versionen von Windows müssen Sie die Sicherheitsdeskriptoren der Sitzungskonfigurationen ändern, um den Remotezugriff zu ermöglichen.

Um den Remotezugriff auf die Sitzungskonfigurationen auf dem Computer zu aktivieren, verwenden Sie das Enable-PSRemoting-Cmdlet.Unterabschnittstext hier einfügen.

Außerdem verfügen standardmäßig nur Mitglieder der Gruppe „Administratoren“ auf dem Computer über die Execute-Berechtigung für die Standard-Sitzungskonfigurationen. Sie können jedoch die Sicherheitsdeskriptoren für die Standard-Sitzungskonfigurationen und für alle von Ihnen erstellten Sitzungskonfigurationen ändern.

Um anderen Benutzern die Berechtigung zu erteilen, eine Remoteverbindung mit dem Computer herzustellen, verwenden Sie das Set-PSSessionConfiguration-Cmdlet, um die „Execute“-Berechtigungen für diese Benutzer zu den Sicherheitsdeskriptoren der Microsoft.PowerShell- und Microsoft.PowerShell32-Sitzungskonfigurationen hinzuzufügen.

Der folgende Befehl öffnet z. B. eine Eigenschaftenseite, auf der Sie den Sicherheitsdeskriptor für die Microsoft.PowerShell-Standard-Sitzungskonfiguration ändern können.

        PS C:\> Set-PSSessionConfiguration -name Microsoft.PowerShell -ShowSecurityDescriptorUI

Um jedem die Berechtigung für alle Sitzungskonfigurationen auf dem Computer zu verweigern, verwenden Sie das Disable-PSSessionConfiguration-Cmdlet. Der folgende Befehl deaktiviert z. B. die Standard-Sitzungskonfigurationen auf dem Computer.

        PS C:\> Disable-PSSessionConfiguration -Name Microsoft.PowerShell

Um zu verhindern, dass Remotebenutzer die Verbindung zum Computer herstellen, lokalen Benutzern jedoch die Verbindung zu gestatten, verwenden Sie das Disable-PSRemoting-Cmdlet. Disable-PSRemoting fügt allen Sitzungskonfigurationen auf dem Computer einen Eintrag „Network_Deny_All“ hinzu.

        PS C:\> Disable-PSRemoting

Um Remotebenutzern die Verwendung aller Sitzungskonfigurationen auf dem Computer zu ermöglichen, verwenden Sie das Enable-PSRemoting- oder Enable-PSSessionConfiguration-Cmdlet. Zum Beispiel ermöglicht der folgende Befehl den Remotezugriff auf die integrierten Sitzungskonfigurationen.

        PS C:\> Enable-PSSessionConfiguration -name Microsoft.Power*

Um andere Änderungen am Sicherheitsdeskriptor einer Sitzungskonfiguration durchzuführen, verwenden Sie das Set-PSSessionConfiguration-Cmdlet. Verwenden Sie den SecurityDescriptorSDDL-Parameter, um einen SDDL-Zeichenfolgenwert zu senden. Verwenden Sie den ShowSecurityDescriptorUI-Parameter, um eine Eigenschaftenseite zur Benutzerschnittstelle anzuzeigen, die Sie beim Erstellen einer neuen SDDL unterstützt.

Beispiel:

        PS C:\> Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI

ERSTELLEN EINER NEUEN SITZUNGSKONFIGURATION

Um eine neue Sitzungskonfiguration auf dem lokalen Computer zu erstellen, verwenden Sie das Register-PSSessionConfiguration-Cmdlet. Um die neue Sitzungskonfiguration zu definieren, können Sie eine C#-Assembly, ein Windows PowerShell-Skript und die Parameter des Register-PSSessionConfiguration-Cmdlets verwenden.

Beispielsweise erstellt der folgende Befehl eine Sitzungskonfiguration, die identisch zur Microsoft.PowerShell-Sitzungskonfiguration ist, mit dem Unterschied, dass sie die von einem Remotebefehl empfangenen Daten auf 20 Megabyte (MB) beschränkt. (Der Standardwert ist 50 MB).Unterabschnittstext hier einfügen.

        PS C:\> Register-PSSessionConfiguration -Name NewConfig --MaximumReceivedDataSizePerCommandMB                    20

Wenn Sie eine Sitzungskonfiguration erstellen, können Sie diese mithilfe der anderen Sitzungskonfigurations-Cmdlets verwalten, und sie erscheint auf dem WSMAN: Laufwerk.

Weitere Informationen finden Sie unter „Register-PSSessionConfiguration“.

ENTFERNEN EINER SITZUNGSKONFIGURATION

Um eine Sitzungskonfiguration vom lokalen Computer zu entfernen, verwenden Sie das Unregister-PSSessionConfiguration-Cmdlet. Der folgende Befehl entfernt z. B. die NewConfig-Sitzungskonfiguration vom Computer.

        PS C:\> Unregister-PSSessionConfiguration -Name NewConfig

Weitere Informationen finden Sie unter „Unregister-PSSessionConfiguration“.

WIEDERHERSTELLEN EINER SITZUNGSKONFIGURATION

Um eine versehentlich gelöschte (aus der Registrierung entfernte) Standard-Sitzungskonfiguration wiederherzustellen, verwenden Sie das Enable-PSRemoting-Cmdlet.

Das Enable-PSRemoting-Cmdlet erstellt alle Standard-Sitzungskonfigurationen neu, die nicht auf dem Computer vorhanden sind. Es überschreibt oder ändert keine Eigenschaftswerte der vorhandenen Sitzungskonfigurationen.

Verwenden Sie zum Wiederherstellen der ursprünglichen Eigenschaftswerte einer Standard-Sitzungskonfiguration das Unregister-PSSessionConfiguration-Cmdlet, um die Sitzungskonfiguration zu löschen, und dann das Enable-PSRemoting-Cmdlet, um sie neu zu erstellen.

AUSWÄHLEN EINER SITZUNGSKONFIGURATION

Um eine bestimmte Sitzungskonfiguration für eine Sitzung auszuwählen, verwenden Sie den ConfigurationName-Parameter von New-PSSession, Enter-PSSession oder Invoke-Command.

Dieser Befehl verwendet z. B. das New-PSSession-Cmdlet zum Starten einer PSSession auf dem Computer „Server01“. Der Befehl verwendet den ConfigurationName-Parameter, um die WithProfile-Konfiguration auf dem Computer „Server01“ auszuwählen.

        PS C:\> New-PSSession -ComputerName Server01 -ConfigurationName WithProfile

Dieser Befehl ist nur erfolgreich, wenn der aktuelle Benutzer über die Berechtigung zum Verwenden der WithProfile-Sitzungskonfiguration verfügt oder die Anmeldeinformationen eines Benutzers bereitstellen kann, der über die erforderlichen Berechtigungen verfügt.

Sie können auch die $PSSessionConfigurationName-Voreinstellungsvariable verwenden, um die Standard-Sitzungskonfiguration auf dem Computer zu ändern. Weitere Informationen zur $PSSessionConfiguration-Voreinstellungsvariablen finden Sie unter „about_Preference_Variables“.

SCHLÜSSELWÖRTER

about_Endpoints

about_SessionConfigurations

SIEHE AUCH

about_Preference_Variables

about_PSSession

about_Remote

about_Session_Configuration_Files

New-PSSession

Disable-PSSessionConfiguration

Enable-PSSessionConfiguration

Get-PSSessionConfiguration

New-PSSessionConfigurationFile

Register-PSSessionConfiguration

Set-PSSessionConfiguration

Test-PSSessionConfigurationFile

Unregister-PSSessionConfiguration