Set-PSSessionConfiguration

Ändrar egenskaperna för en registrerad sessionskonfiguration.

Syntax

Set-PSSessionConfiguration
   [-Name] <String>
   [-ApplicationBase <String>]
   [-RunAsCredential <PSCredential>]
   [-ThreadApartmentState <ApartmentState>]
   [-ThreadOptions <PSThreadOptions>]
   [-AccessMode <PSSessionConfigurationAccessMode>]
   [-UseSharedProcess]
   [-StartupScript <String>]
   [-MaximumReceivedDataSizePerCommandMB <Double>]
   [-MaximumReceivedObjectSizeMB <Double>]
   [-SecurityDescriptorSddl <String>]
   [-ShowSecurityDescriptorUI]
   [-Force]
   [-NoServiceRestart]
   [-PSVersion <Version>]
   [-SessionTypeOption <PSSessionTypeOption>]
   [-TransportOption <PSTransportOption>]
   [-ModulesToImport <Object[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-PSSessionConfiguration
   [-Name] <String>
   [-AssemblyName] <String>
   [-ApplicationBase <String>]
   [-ConfigurationTypeName] <String>
   [-RunAsCredential <PSCredential>]
   [-ThreadApartmentState <ApartmentState>]
   [-ThreadOptions <PSThreadOptions>]
   [-AccessMode <PSSessionConfigurationAccessMode>]
   [-UseSharedProcess]
   [-StartupScript <String>]
   [-MaximumReceivedDataSizePerCommandMB <Double>]
   [-MaximumReceivedObjectSizeMB <Double>]
   [-SecurityDescriptorSddl <String>]
   [-ShowSecurityDescriptorUI]
   [-Force]
   [-NoServiceRestart]
   [-PSVersion <Version>]
   [-SessionTypeOption <PSSessionTypeOption>]
   [-TransportOption <PSTransportOption>]
   [-ModulesToImport <Object[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-PSSessionConfiguration
   [-Name] <String>
   [-RunAsCredential <PSCredential>]
   [-ThreadApartmentState <ApartmentState>]
   [-ThreadOptions <PSThreadOptions>]
   [-AccessMode <PSSessionConfigurationAccessMode>]
   [-UseSharedProcess]
   [-StartupScript <String>]
   [-MaximumReceivedDataSizePerCommandMB <Double>]
   [-MaximumReceivedObjectSizeMB <Double>]
   [-SecurityDescriptorSddl <String>]
   [-ShowSecurityDescriptorUI]
   [-Force]
   [-NoServiceRestart]
   [-TransportOption <PSTransportOption>]
   -Path <String>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cmdleten Set-PSSessionConfiguration ändrar egenskaperna för sessionskonfigurationerna på den lokala datorn.

Använd parametern Name för att identifiera den sessionskonfiguration som du vill ändra. Använd de andra parametrarna för att ange nya värden för egenskaperna för sessionskonfigurationen. Om du vill ta bort ett egenskapsvärde från konfigurationen och använda standardvärdet anger du en tom sträng ("") eller ett värde på $Null för motsvarande parameter.

Från och med PowerShell 3.0 kan du använda en sessionskonfigurationsfil för att definiera en sessionskonfiguration. Den här funktionen ger en enkel och identifierbar metod för att ställa in och ändra egenskaperna för sessioner som använder sessionskonfigurationen. Om du vill ange en sessionskonfigurationsfil använder du parametern Path för Set-PSSessionConfiguration. Information om sessionskonfigurationsfiler finns i about_Session_Configuration_Files. Information om hur du skapar och ändrar en sessionskonfigurationsfil finns i cmdleten New-PSSessionConfigurationFile.

Sessionskonfigurationer definierar miljön för fjärrsessioner (PSSessioner) som ansluter till den lokala datorn. Varje PSSession- använder en sessionskonfiguration. Sessionskonfigurationen avgör funktionerna i PSSession, till exempel de moduler som är tillgängliga i sessionen, de cmdletar som tillåts köras, språkläge, kvoter och tidsgränser. Säkerhetsbeskrivningen för sessionskonfigurationen avgör vem som kan använda sessionskonfigurationen för att ansluta till den lokala datorn. Mer information om sessionskonfigurationer finns i about_Session_Configurations.

Om du vill se egenskaperna för en sessionskonfiguration använder du cmdleten Get-PSSessionConfiguration eller WSMan-providern. Om du vill ha mer information om WSMan-providern skriver du Get-Help WSMan.

Exempel

Exempel 1: Ändra trådens lägenhetstillstånd

PS C:\> Set-PSSessionConfiguration -Name "MaintenanceShell" -ThreadApartmentState STA

Det här kommandot ändrar trådens lägenhetstillstånd i MaintenanceShell-konfigurationen till STA. Ändringen gäller när du startar om tjänsten WinRM.

Exempel 2: Skapa och ändra en sessionskonfiguration

Det här exemplet visar hur du lägger till och tar bort ett startskript från en konfiguration.

Det första kommandot skapar konfigurationen AdminShell. Det andra kommandot lägger till skriptet AdminConfig.ps1 i konfigurationen. Ändringen gäller när du startar om WinRM-. Det tredje kommandot tar bort skriptet AdminConfig.ps1 från konfigurationen.

Register-PSSessionConfiguration -Name "AdminShell" -AssemblyName "C:\Shells\AdminShell.dll" -ConfigurationTypeName "AdminClass"
Set-PSSessionConfiguration -Name "AdminShell" -StartupScript "AdminConfig.ps1"
Set-PSSessionConfiguration -Name "AdminShell" -StartupScript $Null

Exempel 3: Visa resultat

Det här exemplet ökar värdet för egenskapen MaximumReceivedObjectSizeMB till 20. Det här kommandot uppmanar dig också att starta om tjänsten WinRM. Ändringen gäller inte förrän tjänsten WinRM startas om.

Set-PSSessionConfiguration -Name "IncObj" -MaximumReceivedObjectSizeMB 20

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\IncObj\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

Exempel 4: Visa resultat på olika sätt

I det här exemplet ändrar Set-PSSessionConfiguration startskriptet i MaintenanceShell sessionskonfiguration till Maintenance.ps1. Utdata visar ändringen och uppmanar dig att starta om tjänsten WinRM. Svaret är "y" (ja).

Get-PSSessionConfiguration hämtar MaintenanceShell sessionskonfiguration. Pipelineoperatorn (|) skickar resultatet av kommandot till Format-List, som visar alla egenskaper för konfigurationsobjektet i en lista. Med hjälp av WSMan-providern visar vi sedan initieringsparametrarna för konfigurationen MaintenanceShell. Get-ChildItem (alias dir) hämtar underordnade objekt i InitializationParameters noden för plugin-programmet Maintenance Shell. Om du vill ha mer information om WSMan-providern skriver du Get-Help wsman.

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

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       :

PS> dir WSMan:\localhost\Plugin\MaintenanceShell\InitializationParameters

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

Parametrar

-AccessMode

Aktiverar och inaktiverar sessionskonfigurationen och avgör om den kan användas för fjärrsessioner eller lokala sessioner på datorn. De godtagbara värdena för den här parametern är:

  • Handikappad. Inaktiverar sessionskonfigurationen. Den kan inte användas för fjärråtkomst eller lokal åtkomst till datorn. Det här värdet anger egenskapen Aktiverad för sessionskonfigurationen (WSMan:\<ComputerName>\PlugIn\<SessionConfigurationName>\Enabled) till False.
  • Lokal. Lägger till en Network_Deny_All post i säkerhetsbeskrivningen för sessionskonfigurationen. Användare av den lokala datorn kan använda sessionskonfigurationen för att skapa en lokal loopback-session på samma dator, men fjärranvändare nekas åtkomst.
  • Avlägsen. Tar bort Deny_All- och Network_Deny_All poster från säkerhetsbeskrivningarna för sessionskonfigurationen. Användare av lokala datorer och fjärrdatorer kan använda sessionskonfigurationen för att skapa sessioner och köra kommandon på den här datorn.

Standardvärdet är Remote.

Andra cmdletar kan åsidosätta värdet för den här parametern senare. Cmdleten Enable-PSRemoting aktiverar till exempel alla sessionskonfigurationer på datorn och tillåter fjärråtkomst till dem, och cmdleten Disable-PSRemoting tillåter endast lokal åtkomst till alla sessionskonfigurationer på datorn.

Den här parametern introducerades i PowerShell 3.0.

Typ:PSSessionConfigurationAccessMode
Godkända värden:Disabled, Local, Remote
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ApplicationBase

Anger sökvägen till sammansättningsfilen (*.dll) som anges i värdet för parametern AssemblyName.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-AssemblyName

Anger sammansättningsnamnet. Den här cmdleten skapar en sessionskonfiguration baserat på en klass som definieras i en sammansättning.

Ange filnamnet eller den fullständiga sökvägen för en sammansättning .dll fil som definierar en sessionskonfiguration. Om du bara anger filnamnet kan du ange sökvägen i värdet för parametern ApplicationBase.

Typ:String
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ConfigurationTypeName

Anger vilken typ av sessionskonfiguration som definieras i sammansättningen i parametern AssemblyName. Den typ som du anger måste implementera klassen System.Management.Automation.Remoting.PSSessionConfiguration.

Den här parametern krävs när du anger ett sammansättningsnamn.

Typ:String
Position:2
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Force

Undertrycker alla användarprompter och startar om tjänsten WinRM utan att fråga. Om du startar om tjänsten blir konfigurationsändringen effektiv.

Om du vill förhindra en omstart och ignorera omstartsprompten använder du parametern NoServiceRestart.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MaximumReceivedDataSizePerCommandMB

Anger gränsen för hur mycket data som kan skickas till den här datorn i ett enda fjärrkommando. Ange datastorleken i megabyte (MB). Standardvärdet är 50 MB.

Om en datastorleksgräns definieras i konfigurationstypen som anges i parametern ConfigurationTypeName används gränsen i konfigurationstypen. Värdet för den här parametern ignoreras.

Typ:Double
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MaximumReceivedObjectSizeMB

Anger gränserna för hur mycket data som kan skickas till den här datorn i ett enskilt objekt. Ange datastorleken i megabyte. Standardvärdet är 10 MB.

Om en storleksgräns för objekt definieras i den konfigurationstyp som anges i parametern ConfigurationTypeName används gränsen i konfigurationstypen. Värdet för den här parametern ignoreras.

Typ:Double
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ModulesToImport

Anger de moduler och snapin-moduler som automatiskt importeras till sessioner som använder sessionskonfigurationen. Ange modul- och snapin-namn.

Som standard importeras endast Microsoft.PowerShell.Core- snapin-modulen till sessioner, men om inte cmdletarna undantas kan du använda cmdletarna Import-Module och Add-PSSnapin för att lägga till moduler och snapin-moduler i sessionen.

Modulerna som anges i det här parametervärdet importeras utöver moduler som anges i sessionskonfigurationsfilen (New-PSSessionConfigurationFile). Inställningarna i sessionskonfigurationsfilen kan dock dölja kommandon som exporteras av moduler eller hindra användare från att använda dem.

Modulerna som anges i det här parametervärdet ersätter listan över moduler som anges med hjälp av parametern ModulesToImport i cmdleten Register-PSSessionConfiguration.

Den här parametern introducerades i PowerShell 3.0.

Typ:Object[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Name

Anger namnet på sessionskonfigurationen som du vill ändra.

Du kan inte använda den här parametern för att ändra namnet på sessionskonfigurationen.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-NoServiceRestart

Startar inte om tjänsten WinRM och undertrycker uppmaningen att starta om tjänsten.

När du kör Set-PSSessionConfigurationuppmanas du som standard att starta om tjänsten WinRM för att göra den nya sessionskonfigurationen effektiv. Den nya sessionskonfigurationen gäller inte förrän WinRM--tjänsten har startats om.

Om du vill starta om WinRM-tjänsten utan att fråga använder du parametern Force. Om du vill starta om tjänsten WinRM manuellt använder du cmdleten Restart-Service.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Path

Anger sökvägen till en sessionskonfigurationsfil (.pssc), till exempel en som skapats av cmdleten New-PSSessionConfigurationFile. Om du utelämnar sökvägen är standardvärdet den aktuella katalogen.

Information om hur du ändrar en sessionskonfigurationsfil finns i hjälpavsnittet för cmdleten New-PSSessionConfigurationFile.

Den här parametern introducerades i PowerShell 3.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-PSVersion

Anger versionen av PowerShell i sessioner som använder den här sessionskonfigurationen.

Värdet för den här parametern har företräde framför värdet för PowerShellVersion nyckel i sessionskonfigurationsfilen.

Den här parametern introducerades i PowerShell 3.0.

Typ:Version
Alias:PowerShellVersion
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-RunAsCredential

Anger autentiseringsuppgifter för kommandon i sessionen. Som standard körs kommandon med den aktuella användarens behörigheter.

Den här parametern introducerades i PowerShell 3.0.

Typ:PSCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SecurityDescriptorSddl

Anger en annan SDDL-sträng (Security Descriptor Definition Language) för konfigurationen.

Den här strängen avgör vilka behörigheter som krävs för att använda den nya sessionskonfigurationen. Om du vill använda en sessionskonfiguration i en session måste användarna ha minst behörigheten Execute(Invoke) för konfigurationen.

Om du vill använda standardsäkerhetsbeskrivningen för konfigurationen anger du en tom sträng ("") eller ett värde på $Null. Standardvärdet är rot-SDDL i WSMan:-enheten.

Om säkerhetsbeskrivningen är komplex bör du överväga att använda ShowSecurityDescriptorUI parameter i stället för den här. Du kan inte använda båda parametrarna i samma kommando.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SessionTypeOption

Anger typspecifika alternativ för sessionskonfigurationen. Ange ett alternativobjekt för sessionstyp, till exempel PSWorkflowExecutionOption objekt som cmdleten New-PSWorkflowExecutionOption returnerar.

Alternativen för sessioner som använder sessionskonfigurationen bestäms av värdena för sessionsalternativen och sessionskonfigurationsalternativen. Om inget annat anges har de alternativ som angetts i sessionen, till exempel med hjälp av cmdleten New-PSSessionOption, företräde framför de alternativ som angetts i sessionskonfigurationen. Sessionsalternativvärden får dock inte överskrida de högsta värden som angetts i sessionskonfigurationen.

Den här parametern introducerades i PowerShell 3.0.

Typ:PSSessionTypeOption
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ShowSecurityDescriptorUI

Anger att den här cmdleten är ett egenskapsblad som hjälper dig att skapa en ny SDDL för sessionskonfigurationen. Egenskapsbladet visas när du har kört kommandot Set-PSSessionConfiguration och startar sedan om tjänsten WinRM.

När du anger behörigheter till konfigurationen ska du komma ihåg att användarna måste ha minst behörighet att köra (anropa) för att kunna använda sessionskonfigurationen i en session.

Du kan inte använda parametern SecurityDescriptorSDDL och den här parametern i samma kommando.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-StartupScript

Anger startskriptet för konfigurationen. Ange den fullständigt kvalificerade sökvägen för ett PowerShell-skript. Det angivna skriptet körs i den nya sessionen som använder sessionskonfigurationen.

Om du vill ta bort ett startskript från en sessionskonfiguration anger du en tom sträng ("") eller ett värde på $Null.

Du kan använda ett startskript för att ytterligare konfigurera användarsessionen. Om skriptet genererar ett fel, även ett fel som inte avslutas, skapas inte sessionen och kommandot New-PSSession misslyckas.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ThreadApartmentState

Anger inställningen för lägenhetstillstånd för trådarna i sessionen. De godtagbara värdena för den här parametern är: STA, MTA och Unknown. Standardvärdet är Okänt.

Typ:ApartmentState
Godkända värden:STA, MTA, Unknown
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ThreadOptions

Anger inställningen för trådalternativ i konfigurationen. Den här inställningen definierar hur trådar skapas och används när ett kommando körs i sessionen. De godtagbara värdena för den här parametern är:

  • Standard
  • ReuseThread
  • UseCurrentThread
  • UseNewThread

Standardvärdet är UseCurrentThread.

Mer information finns i PSThreadOptions Enumeration.

Typ:PSThreadOptions
Godkända värden:Default, UseNewThread, ReuseThread, UseCurrentThread
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-TransportOption

Anger transportalternativen för sessionskonfigurationen. Ange ett transportalternativobjekt, till exempel WSManConfigurationOption objekt som New-PSTransportOption cmdleten returnerar.

Alternativen för sessioner som använder sessionskonfigurationen bestäms av värdena för sessionsalternativen och sessionskonfigurationsalternativen. Om inget annat anges har de alternativ som angetts i sessionen, till exempel med hjälp av cmdleten New-PSSessionOption, företräde framför de alternativ som angetts i sessionskonfigurationen. Sessionsalternativvärden får dock inte överskrida de högsta värden som angetts i sessionskonfigurationen.

Den här parametern introducerades i PowerShell 3.0.

Typ:PSTransportOption
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UseSharedProcess

Använd bara en process för att vara värd för alla sessioner som startas av samma användare och använda samma sessionskonfiguration. Som standard körs varje session i sin egen process.

Den här parametern introducerades i PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Du kan inte skicka indata till den här cmdleten.

Utdata

WSManConfigLeafElement

Kommentarer

Om du vill köra den här cmdleten startar du PowerShell med alternativet Kör som administratör.

Cmdleten Set-PSSessionConfiguration ändrar inte konfigurationsnamnet och WSMan-providern stöder inte cmdleten Rename-Item. Om du vill ändra namnet på en sessionskonfiguration använder du cmdleten Unregister-PSSessionConfiguration för att ta bort konfigurationen och använder sedan cmdleten Register-PSSessionConfiguration för att skapa och registrera en ny sessionskonfiguration.

Du kan använda cmdleten Set-PSSessionConfiguration för att ändra standardkonfigurationerna för Microsoft.PowerShell- och Microsoft.PowerShell32-sessioner. De är inte skyddade. Om du vill återgå till den ursprungliga versionen av en standardsessionskonfiguration använder du cmdleten Unregister-PSSessionConfiguration för att ta bort standardsessionskonfigurationen och använder sedan cmdleten Enable-PSRemoting för att återställa den.

Egenskaperna för ett sessionskonfigurationsobjekt varierar med de alternativ som angetts för sessionskonfigurationen och värdena för dessa alternativ. Sessionskonfigurationer som använder en sessionskonfigurationsfil har dessutom ytterligare egenskaper.

Du kan använda kommandon i WSMan:-enheten för att ändra egenskaperna för sessionskonfigurationer. Du kan dock inte använda WSMan:-enheten i PowerShell 2.0 för att ändra sessionskonfigurationsegenskaper som introduceras i PowerShell 3.0, till exempel OutputBufferingMode. Windows PowerShell 2.0-kommandon genererar inget fel, men de är ineffektiva. Om du vill ändra egenskaper som introducerades i PowerShell 3.0 använder du WSMan:-enheten i PowerShell 3.0.