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 pro vlastnosti 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 parametru $Null .

Počínaje PowerShellem 3.0 můžete pomocí konfiguračního souboru relace definovat konfiguraci 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 Set-PSSessionConfigurationCesta . 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á 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 AdminShellu . Druhý příkaz přidá AdminConfig.ps1 skript do konfigurace. Tato změna je platná 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 20. Tento příkaz vás také vyzve k restartování služby WinRM . Tato změna není platná, dokud se služba WinRM nerestartuje.

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-PSSessionConfiguration zí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 konfigurace MaintenanceShellu . Get-ChildItem Získá podřízené položky v uzlu InitializationParameters modulu 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í povolenou vlastnost 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 můžou konfiguraci relace použít k vytvoření relace zpětné smyčky na stejném počítači, ale vzdáleným uživatelům je odepřen přístup.
  • Remote. Odebere položky Deny_All a Network_Deny_All 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 v tomto počítači.

Výchozí hodnota je Remote.

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

Tento parametr byl zaveden v PowerShellu 3.0.

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

-ApplicationBase

Určuje cestu k souboru sestavení (*.dll) zadaného v hodnotě parametru AssemblyName .

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

-AssemblyName

Určuje název sestavení. Tato rutina vytvoří konfiguraci relace na základě třídy, která je definována v sestavení.

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

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

-ConfigurationTypeName

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

Tento parametr je povinný, pokud zadáte název sestavení.

Type:String
Position:2
Default value:None
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
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
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í formát je 50.

Pokud je limit velikosti dat definován v typu konfigurace zadaném 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
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í formát je 10.

Pokud je limit velikosti objektu definován v typu konfigurace, který je zadaný 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
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 tyto Import-Module moduly a Add-PSSnapin rutiny použít k přidání modulů a modulů 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 však může 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 zaveden v PowerShellu 3.0.

Type:Object[]
Position:Named
Default value:None
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
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 byla nová konfigurace relace efektivní. 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 rutinu Restart-Service .

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

-Path

Určuje cestu konfiguračního souboru relace (.pssc), například konfiguračního souboru vytvořeného rutinou New-PSSessionConfigurationFile . Pokud 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 zaveden v PowerShellu 3.0.

Type:String
Position:Named
Default value:None
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 zaveden v PowerShellu 3.0.

Type:Version
Aliases:PowerShellVersion
Position:Named
Default value:None
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 zaveden v PowerShellu 3.0.

Type:PSCredential
Position:Named
Default value:None
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 použít výchozí popisovač zabezpečení pro konfiguraci, zadejte prázdný řetězec ("") nebo hodnotu .$Null Výchozí hodnota je root 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
Accept pipeline input:False
Accept wildcard characters:False

-SessionTypeOption

Určuje možnosti specifické pro konfiguraci 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í uvedeno, mají možnosti nastavené v relaci, například s rutinou New-PSSessionOption , přednost před možnostmi nastavenými v konfiguraci relace. Hodnoty možností relace však nemohou překročit maximální hodnoty nastavené v konfiguraci relace.

Tento parametr byl zaveden v PowerShellu 3.0.

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

-ShowSecurityDescriptorUI

Když se tento parametr použije, otevře rutina 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 pak restartujte službu WinRM .

Když nastavíte 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
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

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

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

-ThreadApartmentState

Určuje stav bytu modulu pro vlákno, který se má použít. Přijatelné hodnoty jsou:

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

-ThreadOptions

Určuje nastavení možností vlákna v konfiguraci. Toto nastavení definuje, jak se vytvoří vlákna a použijí se 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 najdete v tématu PSThreadOptions – výčet.

Type:PSThreadOptions
Accepted values:Default, UseNewThread, ReuseThread, UseCurrentThread
Position:Named
Default value:None
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í uvedeno, mají možnosti nastavené v relaci, například s rutinou New-PSSessionOption , přednost před možnostmi nastavenými v konfiguraci relace. Hodnoty možností relace však nemohou překročit maximální hodnoty nastavené v konfiguraci relace.

Tento parametr byl zaveden v PowerShellu 3.0.

Type:PSTransportOption
Position:Named
Default value:None
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 zaveden v PowerShellu 3.0.

Type:SwitchParameter
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

Microsoft.WSMan.Management.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, odstraňte konfiguraci pomocí Unregister-PSSessionConfiguration rutiny a pak pomocí Register-PSSessionConfiguration této rutiny vytvořte a zaregistrujte novou konfiguraci relace.

Rutinu Set-PSSessionConfiguration můžete použít ke změně výchozí Microsoft.PowerShell konfigurace a Microsoft.PowerShell32 konfigurace 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. Windows PowerShell příkazy 2.0 negenerují chybu, ale jsou neefektivní. Pokud chcete změnit vlastnosti zavedené v PowerShellu 3.0, použijte jednotku v PowerShellu WSMan: 3.0 nebo novějším.