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-PSSessionConfiguration
Path . Сведения о файлах конфигурации сеанса см. в 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
Невозможно передать объекты в этот командлет.
Выходные данные
Примечания
Этот командлет доступен только на платформах 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 или более поздней версии.
Связанные ссылки
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- New-PSTransportOption
- Register-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- Поставщик WSMan
- about_Session_Configurations
- about_Session_Configuration_Files
PowerShell