Поделиться через


Set-PSSessionConfiguration

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

Синтаксис

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

Описание

Этот командлет доступен только на платформе Windows.

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

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

Начиная с PowerShell 3.0, можно использовать файл конфигурации сеанса для определения конфигурации сеанса. Это простой метод для настройки и изменения свойств сеансов, которые используют одну конфигурацию. Чтобы указать файл конфигурации сеанса, используйте параметр Set-PSSessionConfigurationPath . Сведения о файлах конфигурации сеанса см. в about_Session_Configuration_Files. Сведения о создании и изменении файла конфигурации сеанса см. в командлете New-PSSessionConfigurationFile .

Конфигурации сеансов определяют среду удаленных сеансов (PSSessions), которые подключаются к локальному компьютеру. Каждый PSSession использует конфигурацию сеанса. Конфигурация сеанса определяет функции PSSession, такие как модули, доступные в сеансе, командлеты, разрешенные для выполнения, языковой режим, квоты и время ожидания. Дескриптор безопасности конфигурации сеанса определяет, кто может использовать конфигурацию сеанса для подключения к локальному компьютеру. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.

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

Примеры

Пример 1. Создание и изменение конфигурации сеанса

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

Первая команда создает конфигурацию AdminShell . Вторая команда добавляет AdminConfig.ps1 скрипт в конфигурацию. Это изменение действует при перезапуске WinRM. Третья команда удаляет AdminConfig.ps1 скрипт из конфигурации.

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

Пример 2. Отображение результатов

В этом примере значение свойства MaximumReceivedObjectSizeMB увеличивается до 20. Эта команда также предложит перезапустить службу WinRM . Изменение не действует до перезапуска службы 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

Пример 3. Отображение результатов различными способами

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

Get-PSSessionConfiguration возвращает конфигурацию сеанса MaintenanceShell . Оператор конвейера (|) отправляет результаты команды Format-List, в которую отображаются все свойства объекта конфигурации в списке. Затем с помощью поставщика WSMan мы просматриваем параметры инициализации конфигурации MaintenanceShell . Get-ChildItem возвращает дочерние элементы в узле InitializationParameters для подключаемого модуля MaintenanceShell . Дополнительные сведения о поставщике WSMan введите 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

Параметры

-AccessMode

Включает и отключает конфигурацию сеанса и определяет возможность ее использования для удаленных или локальных сеансов компьютера. Допустимые значения для этого параметра:

  • Disabled. отключает конфигурацию сеанса. Использовать конфигурацию для локального или удаленного доступа к компьютеру. Это значение задает для свойства Enabled конфигурации сеанса (WSMan:\<ComputerName>\PlugIn\<SessionConfigurationName>\Enabled) значение False.
  • Local. Добавляет запись Network_Deny_All в дескриптор безопасности конфигурации сеанса. Пользователи локального компьютера могут использовать конфигурацию сеанса для создания локального сеанса обратного цикла на том же компьютере, но удаленным пользователям запрещен доступ.
  • Remote. Удаляет записи Deny_All и Network_Deny_All из дескрипторов безопасности конфигурации сеанса. Пользователи локальных и удаленных компьютеров могут применять конфигурацию сеанса для создания сеансов и выполнения команд на этом компьютере.

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

Другие командлеты могут переопределить значение этого параметра позже. Например, Enable-PSRemoting командлет включает все конфигурации сеансов на компьютере и разрешает удаленный доступ к ним, а Disable-PSRemoting командлет разрешает только локальный доступ ко всем конфигурациям сеансов на компьютере.

Этот параметр появился в PowerShell 3.0.

Тип:PSSessionConfigurationAccessMode
Допустимые значения:Disabled, Local, Remote
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ApplicationBase

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AssemblyName

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

Введите имя файла или полный путь к файлу сборки .dll , который определяет конфигурацию сеанса. Если ввести только имя файла, введите путь в значение параметра ApplicationBase .

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ConfigurationTypeName

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

Этот параметр является обязательным, если указано имя сборки.

Тип:String
Position:2
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

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

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

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

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MaximumReceivedDataSizePerCommandMB

Указывает ограничение на объем данных, которые можно отправить на этот компьютер в любой удаленной команде. Введите размер данных в мегабайтах (МБ). Значение по умолчанию — 50.

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

Тип:Nullable<T>[Double]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MaximumReceivedObjectSizeMB

Указывает ограничения на объем данных, которые можно отправлять на этот компьютер в любом одном объекте. Введите размер данных в мегабайтах. Значение по умолчанию — 10.

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

Тип:Nullable<T>[Double]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ModulesToImport

Указывает модули и оснастки, которые автоматически импортируются в сеансы, использующие конфигурацию сеанса. Введите имена модулей и оснасток.

По умолчанию только модуль Microsoft.PowerShell.Core импортируется в сеансы, но если командлеты не исключены, можно использовать Import-Module и Add-PSSnapin командлеты для добавления модулей и оснастки в сеанс.

Модули, указанные в этом значении параметра, импортируются в дополнение к модулям, указанным в файле конфигурации сеанса (New-PSSessionConfigurationFile). При этом параметры в файле конфигурации сеанса могут скрывать экспортируемые модулями команды или запрещать их использование.

Модули, указанные в этом значении параметра, заменяют список модулей, указанных параметром ModulesToImport командлета Register-PSSessionConfiguration .

Этот параметр появился в PowerShell 3.0.

Тип:Object[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Name

Указывает имя конфигурации сеанса, которую требуется изменить.

Этот параметр не может использоваться для изменения имени конфигурации сеанса.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-NoServiceRestart

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

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

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путь к файлу конфигурации сеанса(.pssc), например файлу конфигурации сеанса, созданному командлетом New-PSSessionConfigurationFile . Если путь не указан, по умолчанию используется текущий каталог.

Сведения об изменении файла конфигурации сеанса см. в разделе справки для командлета New-PSSessionConfigurationFile .

Этот параметр появился в PowerShell 3.0.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PSVersion

Указывает версию PowerShell в сеансах, использующих эту конфигурацию сеанса.

Значение этого параметра имеет приоритет над значением ключа PowerShellVersion в файле конфигурации сеанса.

Этот параметр появился в PowerShell 3.0.

Тип:Version
Aliases:PowerShellVersion
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RunAsCredential

Задает учетные данные для команд в сеансе. По умолчанию команды выполняются с разрешениями текущего пользователя.

Этот параметр появился в PowerShell 3.0.

Тип:PSCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SecurityDescriptorSddl

Задает другую строку SDDL для конфигурации.

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

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

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SessionTypeOption

Задает параметры, относящиеся к типу для конфигурации сеанса. Введите объект параметров типа сеанса , например объект PSWorkflowExecutionOption , возвращаемый командлетом New-PSWorkflowExecutionOption .

Параметры сеансов, которые используют конфигурацию сеанса, определяется значениями параметров сеанса и параметров конфигурации сеанса. Если не указано, параметры, заданные в сеансе, например с командлетом New-PSSessionOption , имеют приоритет над параметрами, заданными в конфигурации сеанса. При этом значения параметров сеанса не могут превышать максимальные значения, заданные в конфигурации сеанса.

Этот параметр появился в PowerShell 3.0.

Тип:PSSessionTypeOption
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ShowSecurityDescriptorUI

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

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

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-StartupScript

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

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

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ThreadApartmentState

Указывает состояние квартиры используемого модуля потоков. Допустимые значения:

  • Unknown
  • MTA
  • STA
Тип:ApartmentState
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ThreadOptions

Задает параметр параметров потока в конфигурации. Этот параметр определяет, как потоки создаются и используются при выполнении команды в сеансе. Допустимые значения для этого параметра:

  • Default
  • ReuseThread
  • UseCurrentThread
  • UseNewThread

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

Дополнительные сведения см. в разделе перечисления PSThreadOptions.

Тип:PSThreadOptions
Допустимые значения:Default, UseNewThread, ReuseThread, UseCurrentThread
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TransportOption

Задает параметры транспорта для конфигурации сеанса. Введите объект параметров транспорта, например объект WSManConfigurationOption , возвращаемый командлетом New-PSTransportOption .

Параметры сеансов, которые используют конфигурацию сеанса, определяется значениями параметров сеанса и параметров конфигурации сеанса. Если не указано, параметры, заданные в сеансе, например с командлетом New-PSSessionOption , имеют приоритет над параметрами, заданными в конфигурации сеанса. При этом значения параметров сеанса не могут превышать максимальные значения, заданные в конфигурации сеанса.

Этот параметр появился в PowerShell 3.0.

Тип:PSTransportOption
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-UseSharedProcess

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

Этот параметр появился в PowerShell 3.0.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

None

Невозможно передать объекты в этот командлет.

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

WSManConfigLeafElement

Примечания

Этот командлет доступен только на платформах Windows.

Чтобы запустить этот командлет, запустите PowerShell с помощью параметра "Запуск от имени администратора ".

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

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

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

Команды на WSMan: диске можно использовать для изменения свойств конфигураций сеанса. Однако диск в PowerShell 2.0 нельзя использовать WSMan: для изменения свойств конфигурации сеанса, представленных в PowerShell 3.0, таких как OutputBufferingMode. Команды Windows PowerShell 2.0 не вызывают ошибку, но они являются неэффективными. Чтобы изменить свойства, представленные в PowerShell 3.0, используйте WSMan: диск в PowerShell 3.0 или более поздней версии.