Set-PSSessionConfiguration

Změní vlastnosti registrované konfigurace relace.

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

Tato rutina je dostupná jenom na platformě Windows.

Rutina Set-PSSessionConfiguration změní vlastnosti konfigurací relace v místním počítači.

Pomocí parametru Name identifikujte konfiguraci relace, kterou chcete změnit. Pomocí dalších parametrů můžete zadat nové hodnoty vlastností konfigurace relace. Pokud chcete z konfigurace odstranit hodnotu vlastnosti a použít výchozí hodnotu, zadejte prázdný řetězec ("") nebo hodnotu odpovídajícího $Null parametru.

Počínaje PowerShellem 3.0 můžete definovat konfiguraci relace pomocí konfiguračního souboru relace. Tato funkce poskytuje jednoduchou a zjistitelnou metodu pro nastavení a změnu vlastností relací, které používají konfiguraci relace. Chcete-li zadat konfigurační soubor relace, použijte parametr Path parametru Set-PSSessionConfiguration. Informace o konfiguračních souborech relací najdete v tématu about_Session_Configuration_Files. Informace o tom, jak vytvořit a upravit konfigurační soubor relace, najdete v rutině New-PSSessionConfigurationFile .

Konfigurace relací definují prostředí vzdálených relací (PSSessions), které se připojují k místnímu počítači. Každá konfigurace PSSession používá konfiguraci relace. Konfigurace relace určuje funkce psSession, jako jsou moduly, které jsou k dispozici v relaci, rutiny, které mají povoleno spouštět, režim jazyka, kvóty a časové limity. Popisovač zabezpečení konfigurace relace určuje, kdo může použít konfiguraci relace pro připojení k místnímu počítači. Další informace o konfiguracích relace najdete v tématu about_Session_Configurations.

Pokud chcete zobrazit vlastnosti konfigurace relace, použijte rutinu Get-PSSessionConfiguration nebo zprostředkovatele WSMan. Další informace o zprostředkovateli WSMan zadejte Get-Help WSMan.

Příklady

Příklad 1: Vytvoření a změna konfigurace relace

Tento příklad ukazuje, jak přidat a odebrat spouštěcí skript z konfigurace.

První příkaz vytvoří konfiguraci Správa Shellu. Druhý příkaz přidá AdminConfig.ps1 skript do konfigurace. Tato změna je efektivní při restartování WinRM. Třetí příkaz odebere AdminConfig.ps1 skript z konfigurace.

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

Příklad 2: Zobrazení výsledků

Tento příklad zvyšuje hodnotu MaximumReceivedObjectSizeMB vlastnost na 20. Tento příkaz vás také vyzve k restartování služby WinRM . Tato změna není platná, dokud se nerestartuje služba WinRM .

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

Příklad 3: Zobrazení výsledků různými způsoby

V tomto příkladu Set-PSSessionConfiguration změní spouštěcí skript v konfiguraci relace MaintenanceShellu na Maintenance.ps1. Ve výstupu se zobrazí změna a zobrazí se výzva k restartování služby WinRM . Odpověď je y (ano).

Get-PSSessionConfigurationzíská konfiguraci relace MaintenanceShellu. Operátor kanálu (|) odešle výsledky příkazu Format-List, který zobrazí všechny vlastnosti objektu konfigurace v seznamu. Dále pomocí zprostředkovatele WSMan zobrazíme inicializační parametry pro konfiguraci MaintenanceShellu . Get-ChildItem získá podřízené položky v uzlu InitializationParameters pro modul plug-in MaintenanceShell . Další informace o zprostředkovateli WSMan zadejte 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

Parametry

-AccessMode

Povolí a zakáže konfiguraci relace a určí, jestli se dá použít pro vzdálené nebo místní relace v počítači. Tento parametr přijímá tyto hodnoty:

  • Disabled. Zakáže konfiguraci relace. Nelze jej použít pro vzdálený nebo místní přístup k počítači. Tato hodnota nastaví vlastnost Enabled konfigurace relace (WSMan:\<ComputerName>\PlugIn\<SessionConfigurationName>\Enabled) na False.
  • Local. Přidá položku Network_Deny_All do popisovače zabezpečení konfigurace relace. Uživatelé místního počítače mohou pomocí konfigurace relace vytvořit relaci zpětné smyčky na stejném počítači, ale vzdáleným uživatelům je odepřen přístup.
  • Remote. Odebere Deny_All a Network_Deny_All položky z popisovačů zabezpečení konfigurace relace. Uživatelé místních a vzdálených počítačů mohou pomocí konfigurace relace vytvářet relace a spouštět příkazy na tomto počítači.

Výchozí hodnota je Remote.

Další rutiny mohou později přepsat hodnotu tohoto parametru. Například rutina Enable-PSRemoting povolí všechny konfigurace relací v počítači a povolí jim vzdálený přístup a Disable-PSRemoting rutina povolí pouze místní přístup ke všem konfiguracím relací v počítači.

Tento parametr byl představen v PowerShellu 3.0.

Type:PSSessionConfigurationAccessMode
Accepted values:Disabled, Local, Remote
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationBase

Určuje cestu k souboru sestavení (*.dll), který je zadán v hodnotě AssemblyName parametru.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssemblyName

Určuje název sestavení. Tato rutina vytvoří konfiguraci relace na základě třídy definované v sestavení.

Zadejte název souboru sestavení nebo úplnou cestu k souboru sestavení .dll , který definuje konfiguraci relace. Pokud zadáte pouze název souboru, můžete zadat cestu do hodnoty parametru ApplicationBase .

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ConfigurationTypeName

Určuje typ konfigurace relace, která je definována v sestavení v AssemblyName parametru. Typ, který zadáte, musí implementovat System.Management.Automation.Remoting.PSSessionConfiguration třída.

Tento parametr se vyžaduje při zadání názvu sestavení.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Potlačí všechny výzvy uživatele a restartuje službu WinRM bez výzvy. Restartováním služby se změna konfigurace projeví.

Pokud chcete zabránit restartování a potlačit výzvu k restartování, použijte parametr NoServiceRestart .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumReceivedDataSizePerCommandMB

Určuje limit množství dat, která lze odeslat do tohoto počítače v libovolném vzdáleném příkazu. Zadejte velikost dat v megabajtech (MB). Výchozí hodnota je 50.

Pokud je limit velikosti dat definován v typu konfigurace, který je zadán v parametru ConfigurationTypeName , použije se limit v typu konfigurace. Hodnota tohoto parametru je ignorována.

Type:Nullable<T>[Double]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumReceivedObjectSizeMB

Určuje omezení množství dat, která lze odeslat do tohoto počítače v libovolném objektu. Zadejte velikost dat v megabajtech. Výchozí hodnota je 10.

Pokud je limit velikosti objektu definován v typu konfigurace, který je zadán v parametru ConfigurationTypeName , je použit limit v typu konfigurace. Hodnota tohoto parametru je ignorována.

Type:Nullable<T>[Double]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModulesToImport

Určuje moduly a moduly snap-in, které se automaticky importují do relací, které používají konfiguraci relace. Zadejte názvy modulů a modulů snap-in.

Ve výchozím nastavení se do relací importuje jenom modul Microsoft.PowerShell.Core , ale pokud nejsou rutiny vyloučené, můžete pomocí těchto Import-ModuleAdd-PSSnapin rutin přidat moduly a moduly snap-in do relace.

Moduly zadané v této hodnotě parametru se importují kromě modulů zadaných v konfiguračním souboru relace (New-PSSessionConfigurationFile). Nastavení v konfiguračním souboru relace ale můžou skrýt příkazy exportované moduly nebo zabránit uživatelům v jejich používání.

Moduly zadané v této hodnotě parametru nahrazují seznam modulů zadaných parametrem ModulesToImport rutiny Register-PSSessionConfiguration .

Tento parametr byl představen v PowerShellu 3.0.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Určuje název konfigurace relace, kterou chcete změnit.

Tento parametr nelze použít ke změně názvu konfigurace relace.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoServiceRestart

Nerestartuje službu WinRM a potlačí výzvu k restartování služby.

Při spuštění Set-PSSessionConfigurationse ve výchozím nastavení zobrazí výzva k restartování služby WinRM , aby se nová konfigurace relace projevila. Dokud se služba WinRM nerestartuje, nová konfigurace relace není platná.

Pokud chcete službu WinRM restartovat bez výzvy, použijte parametr Force. Pokud chcete službu WinRM restartovat ručně, použijte tuto rutinuRestart-Service.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Určuje cestu konfiguračního souboru relace (.psscnapříklad konfiguračního souboru vytvořeného rutinou New-PSSessionConfigurationFile ). Pokud tuto cestu vynecháte, výchozí je aktuální adresář.

Informace o tom, jak upravit konfigurační soubor relace, najdete v tématu nápovědy pro rutinu New-PSSessionConfigurationFile .

Tento parametr byl představen v PowerShellu 3.0.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PSVersion

Určuje verzi PowerShellu v relacích, které používají tuto konfiguraci relace.

Hodnota tohoto parametru má přednost před hodnotou klíče PowerShellVersion v konfiguračním souboru relace.

Tento parametr byl představen v PowerShellu 3.0.

Type:Version
Aliases:PowerShellVersion
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsCredential

Určuje přihlašovací údaje pro příkazy v relaci. Ve výchozím nastavení se příkazy spouštějí s oprávněními aktuálního uživatele.

Tento parametr byl představen v PowerShellu 3.0.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecurityDescriptorSddl

Určuje jiný řetězec jazyka SDDL (Security Descriptor Definition Language) pro konfiguraci.

Tento řetězec určuje oprávnění potřebná k použití nové konfigurace relace. Pokud chcete v relaci použít konfiguraci relace, musí mít uživatelé alespoň Execute(Invoke) oprávnění pro konfiguraci.

Pokud chcete pro konfiguraci použít výchozí popisovač zabezpečení, zadejte prázdný řetězec ("") nebo hodnotu $Null. Výchozí hodnotou je kořenový SDDL na WSMan: jednotce.

Pokud je popisovač zabezpečení složitý, zvažte místo toho použití parametru ShowSecurityDescriptorUI . Oba parametry nelze použít ve stejném příkazu.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionTypeOption

Určuje možnosti specifické pro typ konfigurace relace. Zadejte objekt možností typu relace, například OBJEKT PSWorkflowExecutionOption , který rutina New-PSWorkflowExecutionOption vrátí.

Možnosti relací, které používají konfiguraci relace, jsou určeny hodnotami možností relace a možnostmi konfigurace relace. Pokud není zadáno, mají možnosti nastavené v relaci, jako je například rutina New-PSSessionOption , přednost před možnostmi nastavenými v konfiguraci relace. Hodnoty možností relace však nesmí překročit maximální hodnoty nastavené v konfiguraci relace.

Tento parametr byl představen v PowerShellu 3.0.

Type:PSSessionTypeOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ShowSecurityDescriptorUI

Když se tento parametr použije, rutina otevře seznam vlastností, který vám pomůže vytvořit nový SDDL pro konfiguraci relace. Seznam vlastností se zobrazí po spuštění Set-PSSessionConfiguration příkazu a potom restartujte službu WinRM .

Při nastavování oprávnění ke konfiguraci nezapomeňte, že uživatelé musí mít alespoň Execute(Invoke) oprávnění k používání konfigurace relace v relaci.

Nelze použít parametr SecurityDescriptorSDDL a tento parametr ve stejném příkazu.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartupScript

Určuje spouštěcí skript pro konfiguraci. Zadejte plně kvalifikovanou cestu skriptu PowerShellu. Zadaný skript se spustí v nové relaci, která používá konfiguraci relace.

Pokud chcete odstranit spouštěcí skript z konfigurace relace, zadejte prázdný řetězec ("") nebo hodnotu $Null.

Spouštěcí skript můžete použít k další konfiguraci uživatelské relace. Pokud skript vygeneruje chybu, a to i neukončující chybu, relace se nevytvořila a New-PSSession příkaz selže.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThreadApartmentState

Určuje stav apartmánu modulu threadingu, který se má použít. Přijatelné hodnoty jsou:

  • Unknown
  • MTA
  • STA
Type:ApartmentState
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThreadOptions

Určuje nastavení možností vlákna v konfiguraci. Toto nastavení definuje způsob vytváření vláken a použití při spuštění příkazu v relaci. Tento parametr přijímá tyto hodnoty:

  • Default
  • ReuseThread
  • UseCurrentThread
  • UseNewThread

Výchozí hodnota je UseCurrentThread.

Další informace naleznete v tématu PSThreadOptions Výčtu.

Type:PSThreadOptions
Accepted values:Default, UseNewThread, ReuseThread, UseCurrentThread
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TransportOption

Určuje možnosti přenosu pro konfiguraci relace. Zadejte objekt možností přenosu, například objekt WSManConfigurationOption , který rutina New-PSTransportOption vrátí.

Možnosti relací, které používají konfiguraci relace, jsou určeny hodnotami možností relace a možnostmi konfigurace relace. Pokud není zadáno, mají možnosti nastavené v relaci, jako je například rutina New-PSSessionOption , přednost před možnostmi nastavenými v konfiguraci relace. Hodnoty možností relace však nesmí překročit maximální hodnoty nastavené v konfiguraci relace.

Tento parametr byl představen v PowerShellu 3.0.

Type:PSTransportOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSharedProcess

K hostování všech relací spuštěných stejným uživatelem použijte pouze jeden proces a použijte stejnou konfiguraci relace. Ve výchozím nastavení se každá relace hostuje ve vlastním procesu.

Tento parametr byl představen v PowerShellu 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

Do této rutiny nemůžete roušit objekty.

Výstupy

WSManConfigLeafElement

Poznámky

Tato rutina je dostupná jenom na platformách Windows.

Pokud chcete tuto rutinu spustit, spusťte PowerShell pomocí možnosti Spustit jako správce .

Rutina Set-PSSessionConfiguration nezmění název konfigurace a zprostředkovatel WSMan rutinu Rename-Item nepodporuje. Pokud chcete změnit název konfigurace relace, pomocí Unregister-PSSessionConfiguration rutiny odstraňte konfiguraci a pak pomocí této rutiny Register-PSSessionConfiguration vytvořte a zaregistrujte novou konfiguraci relace.

Pomocí této rutiny Set-PSSessionConfiguration můžete změnit výchozí Microsoft.PowerShell konfiguraci a Microsoft.PowerShell32 konfiguraci relací. Nejsou chráněny. Pokud se chcete vrátit k původní verzi výchozí konfigurace relace, pomocí Unregister-PSSessionConfiguration rutiny odstraňte výchozí konfiguraci relace a pak ji pomocí rutiny Enable-PSRemoting obnovte.

Vlastnosti objektu konfigurace relace se liší podle možností nastavených pro konfiguraci relace a hodnot těchto možností. Konfigurace relací, které používají konfigurační soubor relace, mají také další vlastnosti.

Pomocí příkazů na WSMan: jednotce můžete změnit vlastnosti konfigurací relací. Jednotku v PowerShellu WSMan: 2.0 však nemůžete použít ke změně vlastností konfigurace relace, které jsou zavedeny v PowerShellu 3.0, například OutputBufferingMode. Příkazy Windows PowerShellu 2.0 negenerují chybu, ale jsou neefektivní. Pokud chcete změnit vlastnosti zavedené v PowerShellu 3.0, použijte jednotku WSMan: v PowerShellu 3.0 nebo novějším.