Dela via


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 Namn 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 $Null för 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. För ytterligare information om sessionskonfigurationer, se 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 WinRM-tjänsten .

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 AdminShell-konfigurationen . 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 WinRM-tjänsten . Ändringen gäller inte förrän WinRM-tjänsten har startats 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 3: Visa resultat på olika sätt

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

Get-PSSessionConfigurationhämtar MaintenanceShell-sessionskonfigurationen. Pipelineoperatorn (|) skickar resultatet av kommandot till Format-List, som visar alla egenskaper för konfigurationsobjektet i en lista. Sedan visar vi initieringsparametrarna för MaintenanceShell-konfigurationen med hjälp av WSMan-providern. Get-ChildItem hämtar de underordnade objekten i noden InitializationParameters för Plugin-programmet MaintenanceShell . Om du vill ha mer information om WSMan-providern skriver du Get-Help wsman.

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

Get-PSSessionConfiguration MaintenanceShell | Format-List -Property *

xmlns            : http://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      : http://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions  : true
ExactMatch       : true
Capability       : {Shell}
Permission       :

Get-ChildItem 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 acceptabla värdena för den här parametern är:

  • Disabled. Inaktiverar sessionskonfigurationen. Den kan inte användas för fjärråtkomst eller lokal åtkomst till datorn. Det här värdet anger egenskapen Enabled för sessionskonfigurationen (WSMan:\<ComputerName>\PlugIn\<SessionConfigurationName>\Enabled) till False.
  • Local. 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.
  • Remote. 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 Fjärr.

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 till en sammansättningsfil .dll 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 WinRM-tjänsten 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.

Om en datastorleksgräns 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:Nullable<T>[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.

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:Nullable<T>[Double]
Position:Named
Standardvärde:10
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-modulen till sessioner, men om inte cmdletarna undantas kan du använda Import-Module cmdletarna 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 angetts med parametern ModulesToImport för 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 WinRM-tjänsten och undertrycker uppmaningen att starta om tjänsten.

När du kör Set-PSSessionConfigurationuppmanas du som standard att starta om WinRM-tjänsten 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 force-parametern. Om du vill starta om WinRM-tjänsten 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-nyckeln 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 Execute(Invoke) behörighet 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 på WSMan: enheten.

Om säkerhetsbeskrivningen är komplex bör du överväga att använda parametern ShowSecurityDescriptorUI 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 det 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 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

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

När du anger behörigheter till konfigurationen måste användarna ha minst Execute(Invoke) behörighet att 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 icke-avslutande fel, skapas inte sessionen och New-PSSession kommandot misslyckas.

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

-ThreadApartmentState

Anger lägenhetstillståndet för den trådmodul som ska användas. Godtagbara värden är:

  • Unknown
  • MTA
  • STA
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 acceptabla värdena för den här parametern är:

  • Default
  • 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 det WSManConfigurationOption-objekt som cmdleten New-PSTransportOption 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 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ördes. 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 objekt 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 standard Microsoft.PowerShell - och Microsoft.PowerShell32 sessionskonfigurationerna. 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 standardkonfigurationen för sessionen 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 på 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 eller senare.