THEMA about_Session_Configurations KURZBESCHREIBUNG Beschreibt Sitzungskonfigurationen, die bestimmen, welche Benutzer eine Remoteverbindung mit dem Computer herstellen und welche Befehle diese Benutzer ausführen können. DETAILBESCHREIBUNG Eine Sitzungskonfiguration ist eine Gruppe von Einstellungen auf dem lokalen Computer, die die Umgebung für die Windows PowerShell-Sitzungen definieren, die erstellt werden, wenn Remotebenutzer eine Verbindung mit dem lokalen Computer herstellen. Administratoren des Computers können Sitzungskonfigurationen verwenden, um den Computer zu schützen und benutzerdefinierte Umgebungen für die Benutzer zu definieren, die eine Verbindung mit dem Computer herstellen. Außerdem können die Administratoren Sitzungskonfigurationen verwenden, um die Berechtigungen festzulegen, die zum Herstellen einer Remoteverbindung mit dem Computer erforderlich sind. Standardmäßig verfügen nur Mitglieder der Gruppe "Administratoren" über die Berechtigung, die Sitzungskonfiguration für Remoteverbindungen zu verwenden. Sie können aber die Standardeinstellungen ändern, um allen oder ausgewählten Benutzern das Herstellen von Remoteverbindungen mit dem Computer zu ermöglichen. Sitzungskonfigurationen sind ein Feature des auf auf WS-Management (Web Services for Management) beruhenden Windows PowerShell- Remoting. Sie werden nur verwendet, wenn Sie die Cmdlets "New-PSSession", "Invoke-Command" oder "Enter-PSSession" ver- wenden, um eine Verbindung mit einem Remotecomputer herzustellen. Hinweis: Um die Sitzungskonfigurationen auf einem Computer zu verwalten, auf dem Windows Vista, Windows Server 2008 oder eine höhere Version von Windows ausgeführt wird, starten Sie Windows PowerShell mit der Option "Als Administrator ausführen". Informationen über Sitzungskonfigurationen Bei jeder Windows PowerShell-Sitzung wird eine Sitzungskonfigura- tion verwendet. Dies schließt permanente Sitzungen, die Sie mit dem Cmdlet "New-PSSession" oder "Enter-PSSession" erstellen, sowie die temporären Sitzungen ein, die Windows PowerShell erstellt, wenn Sie den ComputerName-Parameter eines Cmdlet verwenden, das auf WS-Management beruhende Remotingtechnologie verwendet, z. B. "Invoke-Command". Administratoren können Sitzungskonfigurationen verwenden, um die Ressourcen des Computers zu schützen und benutzerdefinierte Umgebungen für die Benutzer zu erstellen, die eine Verbindung mit dem Computer herstellen. Beispielsweise können Sie eine Sitzungskonfiguration verwenden, um die Größe der Objekte einzuschränken, die der Computer in der Sitzung empfängt, um den Sprachmodus der Sitzung zu definieren und um die Cmdlets, Anbieter und Funktionen anzugeben, die in der Sitzung verfügbar sind. Durch das Konfigurieren der Sicherheitsbeschreibung einer Sitzungskonfiguration bestimmen Sie, wer die Sitzungskonfiguration zum Herstellen einer Verbindung mit dem Computer verwenden kann. Die Benutzer müssen über die Berechtigung zum Ausführen einer Sitzungskonfiguration verfügen, um diese in einer Sitzung zu verwenden. Ein Benutzer, der nicht über die erforderlichen Berechtigungen zum Verwenden der Sitzungskonfigurationen auf einem Computer verfügt, kann keine Remoteverbindung mit dem Computer herstellen. Standardmäßig verfügen nur Administratoren des Computers über die Berechtigung, die Standardsitzungskonfigurationen zu verwenden. Sie können aber die Sicherheitsbeschreibungen ändern, um allen, keinen oder nur ausgewählten Benutzern die Verwendung von Sitzungskonfigurationen auf dem Computer zu gestatten. Standardsitzungskonfigurationen. Windows PowerShell enthält eine integrierte Sitzungskonfiguration mit dem Namen Microsoft.PowerShell. Auf Computern, auf denen 64-Bit-Versionen von Windows ausgeführt werden, stellt Windows PowerShell auch die 32-Bit-Sitzungskonfiguration Microsoft. PowerShell32 bereit. Diese Sitzungskonfigurationen werden standardmäßig für Sitzungen verwendet, wenn ein Befehl zum Erstellen einer Sitzung nicht den ConfigurationName-Parameter der Cmdlets "New-PSSession", "Enter-PSSession" oder "Invoke-Command" einschließt. Die Sicherheitsbeschreibungen für die Standardsitzungskonfigura- tionen ermöglichen deren Verwendung nur Mitgliedern der Gruppe "Administratoren" auf dem lokalen Computer. Daher können nur Mitglieder der Gruppe "Administratoren" eine Remoteverbindung mit dem Computer herstellen, sofern Sie nicht die Standardeinstell- ungen ändern. Sie können die Standardsitzungskonfigurationen mit der Einstellungsvariablen "$PSSessionConfigurationName" ändern. Weitere Informationen finden Sie unter "about_Preference_Variables". Anzeigen von Sitzungskonfigurationen auf dem lokalen Computer Um die Sitzungskonfigurationen auf dem lokalen Computer abzurufen, verwenden Sie das Cmdlet "Get-PSSessionConfiguration". Geben Sie beispielsweise Folgendes ein: C:\PS> get-pssessionconfiguration | format-list -property name, permission Name : microsoft.powershell Permission : BUILTIN\Administrators AccessAllowed Name : microsoft.powershell32 Permission : BUILTIN\Administrators AccessAllowed Sie können auch den WS-Verwaltungsanbieter in Windows PowerShell verwenden, um Sitzungskonfigurationen anzuzeigen. Der WS-Verwaltungsanbieter erstellt das Laufwerk "WSMAN:" in der Sitzung. Im Laufwerk "WSMAN:" befinden sich die Sitzungskonfigurationen im Knoten "Plugin". (Alle Sitzungskonfigurationen befinden sich im Knoten "Plugin", aber unter diesem Knoten befinden sich auch Elemente, bei denen es sich nicht um Sitzungskonfigurationen handelt.) Um beispielsweise die Sitzungskonfigurationen auf dem lokalen Computer anzuzeigen, geben Sie Folgendes ein: C:\PS> dir wsman:\localhost\plugin\microsoft* WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin Name Type Keys ---- ---- ---- microsoft.powershell Container {Name=microsoft.powershell} microsoft.powershell32 Container {Name=microsoft.powershell} Anzeigen von Sitzungskonfigurationen auf einem Remotecomputer Um die Sitzungskonfigurationen auf einem Remotecomputer anzuzeigen, verwenden Sie das Cmdlet "Connect-WSMan", um einen Hinweis für den Remotecomputer auf dem Laufwerk "WSMAN:" auf dem lokalen Computer hinzuzufügen. Verwenden Sie dann das Laufwerk "WSMAN:", um die Sitzungskonfigurationen anzuzeigen. Mit dem folgenden Befehl wird beispielsweise dem Laufwerk "WSMAN:" auf dem lokalen Computer ein Knoten für den Remotecomputer "Server01" hinzugefügt. C:\PS> connect-wsman server01.corp.fabrikam.com Nach Ausführung des Befehls können Sie zum Knoten für den Computer "Server01" navigieren, um die Sitzungskonfigurationen anzuzeigen. Beispiel: C:\PS> 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 Name Type Keys ---- ---- ---- microsoft.powershell Container {Name=microsoft.powershell} microsoft.powershell32 Container {Name=microsoft.powershell32} Ändern der Sicherheitsbeschreibung einer Sitzungskonfiguration Standardmäßig verfügen Mitglieder der Gruppe "Administratoren" auf dem Computer über die Berechtigung zum Ausführen für die Standardsitzungskonfigurationen. Sie können aber die Sicherheitsbesch reibungen der Standardsitzungskonfigurationen und der von Ihnen erstellten Sitzungskonfigurationen ändern. Um anderen Benutzern die Berechtigung zum Herstellen einer Remoteverbindung mit dem Computer zu gewähren, verwenden Sie das Cmdlet "Set-PSSessionConfiguration", um den Sicherheitsbeschrei- bungen der Microsoft.PowerShell- und Microsoft.PowerShell32- Sitzungskonfigurationen Ausführberechtigungen für diese Benutzer hinzuzufügen. Mit dem folgenden Befehl wird beispielsweise eine Eigenschaften- seite geöffnet, auf der Sie die Sicherheitsbeschreibung für die Microsoft.PowerShell-Standardsitzungskonfiguration ändern können. C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI Um allen Benutzern die Berechtigungen für alle Sitzungskonfigura- tionen auf dem Computer zu verweigern, verwenden Sie die Funktion "Disable-PSRemoting" oder das Cmdlet "Disable-PSSessionConfiguration". Mit dem folgenden Befehl wird beispielsweise der Eintrag "Alle verweigern" für alle Sitzungskonfigurationen auf dem Computer hinzugefügt. C:\PS> disable-psremoting Um den Eintrag "Alle verweigern" für eine bestimmte Sitzungskonfiguration hinzuzufügen, verwenden Sie das Cmdlet "Disable-PSSessionConfiguration." Mit den folgenden Befehlen wird beispielsweise der Eintrag "Alle verweigern" für die Microsoft.PowerShell-Sitzungskonfiguration hinzugefügt. C:\PS> disable-pssessionConfiguration -name Microsoft.PowerShell Um den Eintrag "Alle verweigern" für alle Sitzungskonfigurationen zu entfernen, verwenden Sie das Cmdlet "Enable-PSRemoting" oder das Cmdlet "Enable-PSSessionConfiguration". Mit dem folgenden Befehl wird beispielsweise der Eintrag "Alle verweigern" für die Standardsitzungskonfigurationen entfernt. C:\PS> enable-pssessionConfiguration -name Microsoft.Power* Um andere Änderungen an der Sicherheitsbeschreibung einer Sitzungskonfiguration vorzunehmen, verwenden Sie das Cmdlet "Set-PSSessionConfiguration". Senden Sie mit dem SecurityDescriptor SDDL-Parameter einen SDDL-Zeichenfolgenwert. Verwenden Sie den ShowSecurityDescriptorUI-Parameter, um ein Benutzeroberflächen- Eigenschaftenblatt anzuzeigen, mit dem Sie eine neue SDDL erstellen können. Beispiel: C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI Erstellen einer neuen Sitzungskonfiguration Um eine neue Sitzungskonfiguration auf dem lokalen Computer zu erstellen, verwenden Sie das Cmdlet "Register-PSSessionConfiguration." Sie können die neue Sitzungskonfiguration mithilfe einer C#-Assembly, eines Windows PowerShell-Skripts und den Parametern des Cmdlet "Register-PSSessionConfiguration" definieren. Mit dem folgenden Befehl wird beispielsweise eine Sitzungskonfigu- ration erstellt, die mit der Microsoft.PowerShell-Sitzungskonfigu- ration identisch ist, mit Ausnahme davon, dass die in einem Remotebefehl empfangenen Daten auf 20 MB eingeschränkt werden. (Der Standardwert ist 50 MB). c:\PS> register-psSessionConfiguration -name NewConfig --MaximumReceivedDataSizePerCommandMB 20 Wenn Sie eine Sitzungskonfiguration erstellen, können Sie diese mit den anderen Sitzungskonfigurations-Cmdlets verwalten. Die neue Sitzungskonfiguration wird auf dem Laufwerk "WSMAM:" angezeigt. Weitere Informationen finden Sie unter "Register-PSSessionConfiguration". Entfernen einer Sitzungskonfiguration Um eine Sitzungskonfiguration vom lokalen Computer zu entfernen, verwenden Sie das Cmdlet "Unregister-PSSessionConfiguration." Mit dem folgenden Befehl wird beispielsweise die NewConfig-Sitzungs- konfiguration vom Computer entfernt. c:\PS> unregister-psSessionConfiguration -name NewConfig Weitere Informationen finden Sie unter "Unregister-PSSessionConfiguration". 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. Durch diesen Befehl wird beispielsweise mit dem Cmdlet "New-PSSession" eine PSSession auf dem Computer "Server01" gestartet. In dem Befehl wird die WithProfile-Konfiguration auf dem Computer "Server01" mit dem ConfigurationName-Parameter ausgewählt. C:\PS> new-pssession -computername Server01 -configurationName WithProfile Dieser Befehl wird nur dann erfolgreich ausgeführt, wenn der aktuelle Benutzer über die Berechtigung zur Verwendung der WithProfile-Sitzungskonfiguration verfügt oder die Anmeldeinforma- tionen eines Benutzers mit den erforderlichen Berechtigungen angeben kann. Sie können auch die Einstellungsvariable "$PSSessionConfiguration Name" verwenden, um die Standardsitzungskonfiguration auf dem Computer zu ändern. Weitere Informationen über die Einstellungs- variable "$PSSessionConfigurationName" finden Sie unter "about_Preference_Variables". SIEHE AUCH about_Preference_Variables about_PSSession about_Remote New-PSSession Disable-PSSessionConfiguration Enable-PSSessionConfiguration Get-PSSessionConfiguration Register-PSSessionConfiguration Set-PSSessionConfiguration Unregister-PSSessionConfiguration