Freigeben über


Set-PSSessionConfiguration

Ändert die Eigenschaften einer registrierten Sitzungskonfiguration.

Syntax

Set-PSSessionConfiguration [-AssemblyName] <string> [-ConfigurationTypeName] <string> [-Name] <string> [-ApplicationBase <string>] [-Force] [-MaximumReceivedDataSizePerCommandMB <double>] [-MaximumReceivedObjectSizeMB <double>] [-NoServiceRestart] [-SecurityDescriptorSDDL <string>] [-ShowSecurityDescriptorUI] [-StartupScript <string>] [-ThreadApartmentState {<STA> | <MTA> | <Unknown>}] [-ThreadOptions {<Default> | <UseNewThread> | <ReuseThread> | <UseCurrentThread>}] [-Confirm] [-WhatIf] [<CommonParameters>]

Beschreibung

Das Cmdlet "Set-PSSessionConfiguration" ändert die Eigenschaften der registrierten Sitzungskonfigurationen auf dem lokalen Computer. Dieses erweiterte Cmdlet wurde für Systemadministratoren entwickelt, die damit benutzerdefinierte Sitzungskonfigurationen für ihre Benutzer verwalten können.

Identifizieren Sie die Konfiguration, die Sie ändern möchten, mithilfe des Name-Parameters. Verwenden Sie die anderen Parameter, um neue Werte für die Eigenschaften der Sitzungskonfiguration anzugeben. Um einen Eigenschaftenwert aus der Konfiguration zu löschen (und den Standardwert zu verwenden), geben Sie eine leere Zeichenfolge ("") oder den Wert "$null" für den entsprechenden Parameter ein.

Um die Eigenschaften einer Sitzungskonfiguration anzuzeigen, verwenden Sie das Cmdlet "Get-PSSessionConfiguration" oder den WS-Verwaltungsanbieter. Um weitere Informationen zum WS-Verwaltungsanbieter zu erhalten, geben Sie "Get-Help wsman" ein.

Parameter

-ApplicationBase <string>

Ändert den Pfad zur Assemblydatei (*.dll), die im Wert des AssemblyName-Parameters angegeben ist.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-AssemblyName <string>

Gibt eine andere Assemblydatei für die Konfiguration an. Geben Sie den Pfad (optional) und den Dateinamen einer Assemblydatei (.dll) ein, die den Konfigurationstyp definiert.

Wenn Sie nur den Namen eingeben, können Sie den Pfad im Wert des ApplicationBase-Parameters eingeben.

Erforderlich?

true

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ConfigurationTypeName <string>

Gibt einen anderen Konfigurationstyp für die Konfiguration an. Der angegebene Typ muss die System.Management.Automation.Remoting.PSSessionConfiguration-Klasse implementieren.

Wenn Sie "$null" oder eine leere Zeichenfolge eingeben, wird die DefaultRemotePowerShellConfiguration-Klasse für die Sitzungskonfiguration verwendet.

Erforderlich?

true

Position?

3

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Force

Unterdrückt alle Benutzeraufforderungen und startet den WinRM-Dienst ohne Aufforderung neu. Durch erneutes Starten des Diensts wird die Konfigurationsänderung wirksam.

Verwenden Sie den NoServiceRestart-Parameter, um einen Neustart zu verhindern und die Aufforderung zum Neustart zu unterdrücken.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-MaximumReceivedDataSizePerCommandMB <double>

Ändert die Beschränkung der Datenmenge, die in jedem einzelnen Remotebefehl an diesen Computer gesendet werden kann. Geben Sie die Datengröße in Megabytes (MB) ein. Der Standardwert ist 50 MB.

Wenn eine Datengrößenbeschränkung im Konfigurationstyp definiert wird, der im ConfigurationTypeName-Parameter angegeben ist, wird der Grenzwert im Konfigurationstyp verwendet und der Wert dieses Parameters ignoriert.

Erforderlich?

false

Position?

named

Standardwert

50

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-MaximumReceivedObjectSizeMB <double>

Ändert die Beschränkungen der Datenmenge, die in jedem einzelnen Objekt an diesen Computer gesendet werden kann. Geben Sie die Datengröße in Megabytes (MB) ein. Der Standardwert ist 10 MB.

Wenn eine Objektgrößenbeschränkung im Konfigurationstyp definiert wird, der im ConfigurationTypeName-Parameter angegeben ist, wird der Grenzwert im Konfigurationstyp verwendet und der Wert dieses Parameters ignoriert.

Erforderlich?

false

Position?

named

Standardwert

10

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Name <string>

Gibt den Namen der Sitzungskonfiguration an, die Sie ändern möchten.

Sie können den Namen der Sitzungskonfiguration nicht mithilfe dieses Parameters ändern.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-NoServiceRestart

Startet den WinRM-Dienst nicht neu und unterdrückt die Aufforderung zum erneuten Starten des Diensts.

Wenn Sie einen Set-PSSessionConfiguration-Befehl eingeben, werden Sie standardmäßig aufgefordert, den WinRM-Dienst neu zu starten, damit die neue Sitzungskonfiguration wirksam wird. Die neue Sitzungskonfiguration wird erst mit dem Neustart des WinRM-Diensts wirksam.

Verwenden Sie den Force-Parameter, um den WinRM-Dienst ohne Aufforderung neu zu starten. Verwenden Sie das Cmdlet "Restart-Service", um den WinRM-Dienst manuell neu zu starten.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-SecurityDescriptorSDDL <string>

Gibt eine andere SDDL (Security Descriptor Definition Language)-Zeichenfolge für die Konfiguration an.

Diese Zeichenfolge bestimmt die Berechtigungen, die zur Verwendung der neuen Sitzungskonfiguration erforderlich sind. Um in einer Sitzung eine Sitzungskonfiguration zu verwenden, müssen Benutzer mindestens über die Berechtigung "Execute(Invoke)" für die Konfiguration verfügen.

Um die Standardsicherheitsbeschreibung für die Konfiguration zu verwenden, geben Sie eine leere Zeichenfolge ("") oder den Wert "$null" ein. Der Standardwert ist die Stamm-SDDL im Laufwerk "WSMan:".

Wenn die Sicherheitsbeschreibung komplex ist, sollten Sie erwägen, anstelle dieses Parameters den ShowSecurityDescriptorUI-Parameter zu verwenden. Die beiden Parameter können nicht zusammen im selben Befehl verwendet werden.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ShowSecurityDescriptorUI

Zeigt ein Eigenschaftenblatt an, das Sie bei der Erstellung einer neuen SDDL für die Sitzungskonfiguration unterstützt. Das Eigenschaftenblatt wird angezeigt, nachdem Sie den Set-PSSessionConfiguration-Befehl eingegeben und den WinRM-Dienst neu gestartet haben.

Beachten Sie beim Festlegen der Berechtigungen für die Konfiguration, dass Benutzer mindestens die Berechtigung "Execute(Invoke)" benötigen, um die Sitzungskonfiguration in einer Sitzung zu verwenden.

Sie können den SecurityDescriptorSDDL-Parameter und diesen Parameter nicht im gleichen Befehl verwenden.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-StartupScript <string>

Fügt das Startskript für die Konfiguration hinzu oder ändert es. Geben Sie den vollqualifizierten Pfad zu einem Windows PowerShell-Skript ein. Das angegebene Skript wird in der neuen Sitzung ausgeführt, die die Sitzungskonfiguration verwendet.

Um ein Startskript aus einer Sitzungskonfiguration zu löschen, geben Sie eine leere Zeichenfolge ("") oder den Wert "$null" ein.

Sie können die Benutzersitzung mithilfe eines Startskripts weiter konfigurieren. Wenn das Skript einen Fehler (sogar einen Fehler ohne Abbruch) generiert, wird die Sitzung nicht erstellt, und der New-PSSession-Befehl des Benutzers führt zu einem Fehler.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ThreadApartmentState <ApartmentState>

Ändert die Apartmentzustandeinstellung für die in der Sitzung enthaltenen Threads. Gültige Werte sind "STA", "MTA" und "Unknown". Der Standardwert ist "Unknown".

Erforderlich?

false

Position?

named

Standardwert

ApartmentState.Unknown

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ThreadOptions <PSThreadOptions>

Ändert die Einstellung für Threadoptionen in der Konfiguration. Diese Einstellung legt fest, wie Threads erstellt und beim Ausführen eines Befehls in der Sitzung verwendet werden. Gültige Werte sind "Default", "ReuseThread", "UseCurrentThread" und "UseNewThread". Der Standardwert ist "UseCurrentThread".

Erforderlich?

false

Position?

named

Standardwert

PSThreadOptions.UserCurrentThread

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Confirm

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

Keiner

Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden.

Ausgaben

Microsoft.WSMan.Management.WSManConfigLeafElement

Hinweise

Sie müssen Windows PowerShell mit der Option "Als Administrator ausführen" öffnen, um dieses Cmdlet unter Windows Vista, Windows Server 2008 und höheren Versionen von Windows auszuführen.

Das Cmdlet "Set-PSSessionConfiguration" ändert den Konfigurationsnamen nicht, und der WS-Verwaltungsanbieter bietet keine Unterstützung für das Cmdlet "Rename-Item". Um den Namen einer Konfiguration zu ändern, verwenden Sie das Cmdlet "Unregister-PSSessionConfiguration" zum Löschen der Konfiguration und dann das Cmdlet "Register-PSSessionConfiguration" zum Erstellen und Registrieren einer neuen Sitzungskonfiguration.

Sie können das Cmdlet "Set-PSSessionConfiguration" verwenden, um die Microsoft.PowerShell- und Microsoft.PowerShell32-Standardsitzungskonfiguration zu ändern. Diese sind nicht geschützt. Um die Originalversion einer Standardsitzungskonfiguration wiederherzustellen, verwenden Sie das Cmdlet "Unregister-PSSessionConfiguration" zum Löschen der Standardsitzungskonfiguration und dann das Cmdlet "Enable-PSRemoting" zur Wiederherstellung.

Beispiel 1

C:\PS>set-pssessionconfiguration -name MaintenanceShell -threadApartmentState STA

Beschreibung
-----------
Mit diesem Befehl wird der Threadapartmentzustand in der MaintenanceShell-Konfiguration in STA geändert. Die Änderung wird mit dem Neustart des WinRM-Diensts wirksam.





Beispiel 2

C:\PS>register-pssessionconfiguration -name AdminShell -assemblyName c:\shells\AdminShell.dll -configurationType AdminClass

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript AdminConfig.ps1

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript $null

Beschreibung
-----------
Dieses Beispiel zeigt, wie Sie eine Sitzungskonfiguration erstellen und dann ändern.

Der erste Befehl erstellt mit dem Cmdlet "Register-PSSessionConfiguration" die AdminShell-Konfiguration. 

Im zweiten Befehl wird der Konfiguration mit dem Cmdlet "Set-PSSessionConfiguration" das Skript "AdminConfig.ps1" hinzugefügt. Die Änderung wird mit dem Neustart von WinRM wirksam.

Mit dem dritten Befehl wird das Skript "AdminConfig.ps1" aus der Konfiguration entfernt. Er verwendet das Cmdlet "Set-PSSessionConfiguration" mit dem Wert "$null" für den StartupScript-Parameter.





Beispiel 3

C:\PS>Set-PSSessionConfiguration -name foo -MaximumReceivedObjectSizeMB 20

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

ParamName                       ParamValue
---------                       ----------
psmaximumreceivedobjectsizemb   20

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

Beschreibung
-----------
Dieses Beispiel enthält eine Beispielausgabe des Cmdlets "Set-PSSessionConfiguration". 

Mit dem Befehl "Set-PSSessionConfiguration" in diesem Beispiel wird der Wert der MaximumReceivedObjectSizeMB-Eigenschaft auf 20 erhöht. 

Der Befehl "Set-PSSessionConfiguration" gibt ein Microsoft.WSMan.Management.WSManConfigLeafElement-Objekt zurück, das den Parameternamen und neuen Wert anzeigt.

Außerdem werden Sie aufgefordert, den WinRM-Dienst neu zu starten. Die Set-PSSessionConfiguration-Änderung ist erst wirksam, wenn der WinRM-Dienst neu gestartet wird.





Beispiel 4

C:\PS>set-pssessionconfiguration -name MaintenanceShell -startupScript c:\ps-test\Maintenance.ps1


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

ParamName            ParamValue
---------            ----------
startupscript        c:\ps-test\Mainte...

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y


C:\PS> get-pssessionConfiguration maintenanceshell | format-list -property *

xmlns            : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
Name             : MaintenanceShell
Filename         : %windir%\system32\pwrshplugin.dll
SDKVersion       : 1
XmlRenderingType : text
lang             : en-US
PSVersion        : 2.0
startupscript    : c:\ps-test\Maintenance.ps1
ResourceUri      : https://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions  : true
ExactMatch       : true
Capability       : {Shell}
Permission       :


C:\PS> dir wsman:\localhost\plugin\MaintenanceShell\InitializationParameters

ParamName     ParamValue
---------     ----------
PSVersion     2.0
startupscript c:\ps-test\Maintenance.ps1

Beschreibung
-----------
Mit diesem Befehl werden andere Methoden zum Anzeigen der Ergebnisse eines Set-PSSessionConfiguration-Befehls veranschaulicht.

Mit dem ersten Befehl wird das Cmdlet "Set-PSSessionConfiguration" verwendet, um das Startskript in der MaintenanceShell-Konfiguration in "Maintenance.ps1" zu ändern. Die Ausgabe dieses Befehls zeigt die Änderung an und fordert Sie auf, den WinRM-Dienst neu zu starten. Die Antwort ist "J" (Ja).

Der zweite Befehl verwendet das Cmdlet "Get-PSSessionConfiguration", um die MaintenanceShell-Sitzungskonfiguration abzurufen. Der Befehl verwendet einen Pipelineoperator (|), um die Ergebnisse des Befehls an das Cmdlet "Format-List" zu senden, das alle Eigenschaften des Sitzungskonfigurationsobjekts in einer Liste anzeigt.

Der dritte Befehl verwendet den WS-Verwaltungsanbieter, um die Initialisierungsparameter für die MaintenanceShell-Konfiguration anzuzeigen. Der Befehl verwendet das Cmdlet "Get-ChildItem" (alias = dir), um die untergeordneten Elemente im InitializationParameters-Knoten für das MaintenanceShell-Plug-In abzurufen.

Um weitere Informationen zum WS-Verwaltungsanbieter zu erhalten, geben Sie "get-help wsman" ein.





Siehe auch

Konzepte

about_Session_Configurations
Disable-PSSessionConfiguration
Enable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Unregister-PSSessionConfiguration
WSMan Provider