Изменяет свойства зарегистрированной конфигурации сеанса.

Синтаксис

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>]

Описание

Командлет Set-PSSessionConfiguration изменяет свойства зарегистрированной конфигурации сеанса на локальном компьютере. Этот расширенный командлет предназначен для использования системными администраторами и позволяет управлять конфигурациями сеансов для пользователей.

Для указания конфигурации, которую нужно изменить, используется параметр Name. Остальные параметры используются для задания новых значений свойств конфигурации сеанса. Чтобы удалить из конфигурации значение свойства (и использовать значение по умолчанию), введите в качестве значения соответствующего параметра пустую строку ("") или значение "$null".

Для задания свойств конфигурации сеанса используйте командлет Get-PSSessionConfiguration или поставщик WS-Management. Чтобы получить дополнительные сведения о поставщике WS-Management, введите команду "Get-Help wsman".

Параметры

-ApplicationBase <string>

Изменяет путь к файлу сборки (*.dll), указанному в значении параметра AssemblyName.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-AssemblyName <string>

Задает для конфигурации другой файл сборки. Введите путь (необязательно) и имя файла сборки (DLL), в котором определен тип конфигурации.

Если ввести только имя, путь можно ввести в значении параметра ApplicationBase.

Обязательно?

true

Позиция?

2

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ConfigurationTypeName <string>

Задает для конфигурации другой тип конфигурации. Задаваемый тип должен реализовывать класс System.Management.Automation.Remoting.PSSessionConfiguration.

Если ввести "$null" или пустую строку, для конфигурации сеанса используется класс DefaultRemotePowerShellConfiguration.

Обязательно?

true

Позиция?

3

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Force

Подавляет все запросы пользователю и перезапускает службу WinRM без запроса подтверждения. Перезапуск службы обеспечивает вступление изменений конфигурации в силу.

Чтобы предотвратить перезапуск и подавить запрос на перезапуск, используйте параметр NoServiceRestart.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-MaximumReceivedDataSizePerCommandMB <double>

Изменяет ограничение на объем данных, которые могут быть переданы данному компьютеру в любой отдельно взятой удаленной команде. Укажите объем данных в мегабайтах (МБ). По умолчанию используется значение "50 МБ".

Если ограничение на объем данных определено в типе конфигурации, заданном параметром ConfigurationTypeName, используется ограничение из типа конфигурации, а значение этого параметра игнорируется.

Обязательно?

false

Позиция?

named

Значение по умолчанию

50

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-MaximumReceivedObjectSizeMB <double>

Изменяет ограничение на объем данных, которые могут быть переданы данному компьютеру в любом отдельно взятом объекте. Укажите объем данных в мегабайтах (МБ). По умолчанию используется значение "10 МБ".

Если ограничение на размер объекта определено в типе конфигурации, заданном параметром ConfigurationTypeName, используется ограничение из типа конфигурации, а значение этого параметра игнорируется.

Обязательно?

false

Позиция?

named

Значение по умолчанию

10

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Name <string>

Задает имя конфигурации сеанса, которую нужно изменить.

Изменить имя конфигурации сеанса с помощью этого параметра невозможно.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-NoServiceRestart

Не перезапускает службу WinRM и подавляет запрос на перезапуск службы.

По умолчанию при вводе команды Set-PSSessionConfiguration предлагается перезапустить службу WinRM, чтобы новая конфигурация сеанса вступила в силу. Пока служба WinRM не будет перезапущена, новая конфигурация сеанса не действует.

Чтобы перезапустить службу WinRM без запроса подтверждения, используйте параметр Force. Чтобы перезапустить службу WinRM вручную, используйте командлет Restart-Service.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-SecurityDescriptorSDDL <string>

Задает для конфигурации другую строку в формате языка определения дескрипторов безопасности (SDDL).

Эта строка определяет разрешения, необходимые для использования новой конфигурации сеанса. Для использования конфигурации в сеансе пользователи должны иметь как минимум разрешение на запуск конфигурации ("Выполнение (Invoke)").

Чтобы использовать для конфигурации дескриптор безопасности по умолчанию, введите пустую строку ("") или значение "$null". По умолчанию используется корневой элемент SDDL на диске WSMan:.

В случае сложного дескриптора безопасности вместо этого параметра можно использовать параметр ShowSecurityDescriptorUI. Использовать оба параметра в одной команде нельзя.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ShowSecurityDescriptorUI

Выводит лист свойств, помогающий создать новую строку SDDL для конфигурации сеанса. Лист свойств отображается после ввода команды Set-PSSessionConfiguration и перезапуска службы WinRM.

При задании разрешений для конфигурации сеанса помните, что для использования конфигурации в сеансе пользователи должны иметь как минимум разрешение на запуск конфигурации ("Выполнение (Invoke)").

Параметр SecurityDescriptorSDDL и этот параметр нельзя использовать в одной команде.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-StartupScript <string>

Добавляет или изменяет скрипт запуска для конфигурации. Введите полный путь к скрипту Windows PowerShell. Заданный скрипт выполняется в новом сеансе, для которого используется данная конфигурация сеанса.

Чтобы удалить скрипт запуска из конфигурации сеанса, введите пустую строку ("") или значение "$null".

Скрипт запуска можно использовать для дальнейшей настройки сеанса пользователя. Если скрипт выдает ошибку (даже непрерывающую), сеанс не создается, и команда New-PSSession пользователя завершается неудачей.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ThreadApartmentState <ApartmentState>

Изменяет заданное состояние подразделения потоков в сеансе. Допустимые значения: "STA", "MTA" и "Unknown". По умолчанию используется значение "Unknown".

Обязательно?

false

Позиция?

named

Значение по умолчанию

ApartmentState.Unknown

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ThreadOptions <PSThreadOptions>

Изменяет заданный в конфигурации параметр потоков. Этот параметр определяет способ создания и использования потоков при выполнении команд в сеансе. Допустимые значения: "Default", "ReuseThread", "UseCurrentThread" и "UseNewThread". По умолчанию используется значение "UseCurrentThread".

Обязательно?

false

Позиция?

named

Значение по умолчанию

PSThreadOptions.UserCurrentThread

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Confirm

Запрашивает подтверждение перед выполнением команды.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-WhatIf

Описывает, что произойдет при выполнении команды, без ее фактического выполнения.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

Нет

Передать входные данные этому командлету по конвейеру невозможно.

Выходные данные

Microsoft.WSMan.Management.WSManConfigLeafElement

Примечания

Чтобы использовать этот командлет в Windows Vista, Windows Server 2008 и более поздних версиях Windows, необходимо запускать Windows PowerShell командой "Запуск от имени администратора".

Командлет Set-PSSessionConfiguration не изменяет имя конфигурации, а поставщик WS-Management не поддерживает командлет Rename-Item. Чтобы изменить имя конфигурации, удалите конфигурацию с помощью командлета Unregister-PSSessionConfiguration, а затем с помощью командлета Register-PSSessionConfiguration создайте и зарегистрируйте новую конфигурацию сеанса.

С помощью командлета Set-PSSessionConfiguration можно изменять конфигурации сеанса по умолчанию (Microsoft.PowerShell и Microsoft.PowerShell32). Эти конфигурации не защищены от внесения изменений. Чтобы вернуться к исходной версии конфигурации сеанса по умолчанию, с помощью командлета Unregister-PSSessionConfiguration удалите конфигурацию сеанса по умолчанию, а затем восстановите ее с помощью командлета Enable-PSRemoting.

Пример 1

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

Описание
-----------
Эта команда изменяет состояние подразделения потоков в конфигурации MaintenanceShell на STA. Изменение вступает в силу после перезапуска службы WinRM.






Пример 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

Описание
-----------
В этом примере показано, как создать и затем изменить конфигурацию сеанса.

Первая команда с помощью командлета Register-PSSessionConfiguration создает конфигурацию AdminShell. 

Вторая команда с помощью командлета Set-PSSessionConfiguration добавляет в эту конфигурацию скрипт AdminConfig.ps1. Изменение вступает в силу после перезапуска службы WinRM.

Третья команда удаляет из конфигурации скрипт AdminConfig.ps1. В ней используется командлет Set-PSSessionConfiguration со значением "$null" параметра StartupScript.






Пример 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

Описание
-----------
В этом примере показан пример выходных данных командлета Set-PSSessionConfiguration. 

Команда Set-PSSessionConfiguration в этом примере увеличивает значение свойства MaximumReceivedObjectSizeMB до 20. 

Команда Set-PSSessionConfiguration возвращает объект Microsoft.WSMan.Management.WSManConfigLeafElement и отображает имя параметра и его новое значение.

Кроме того, она выводит запрос на перезапуск службы WinRM. Внесенное командлетом Set-PSSessionConfiguration изменение не вступает в силу, пока служба WinRM не будет перезапущена.






Пример 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			: 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	 :


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

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

Описание
-----------
Эта команда демонстрирует различные способы просмотра результатов выполнения команды Set-PSSessionConfiguration.

Первая команда с помощью командлета Set-PSSessionConfiguration изменяет скрипт запуска в конфигурации MaintenanceShell на Maintenance.ps1. В выходных данных этой команды отражается изменение и содержится запрос на перезапуск службы WinRM. Ответ — "y" (да).

Вторая команда с помощью командлета Get-PSSessionConfiguration получает конфигурацию сеанса MaintenanceShell. Оператор конвейера (|) передает результаты выполнения команды командлету Format-List, который отображает все свойства конфигурации сеанса в виде списка.

В третьей команде используется поставщик WS-Management для просмотра параметров инициализации конфигурации MaintenanceShell. Для получения дочерних элементов в узле InitializationParameters для подключаемого модуля MaintenanceShell используется командлет Get-ChildItem (псевдоним: dir).

Чтобы получить дополнительные сведения о поставщике WS-Management, введите команду "get-help wsman".






См. также