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, для определения конфигурации сеанса можно использовать файл конфигурации сеанса. Это простой метод для настройки и изменения свойств сеансов, которые используют одну конфигурацию. Чтобы указать файл конфигурации сеанса, используйте параметр Path для Set-PSSessionConfiguration
. Сведения о файлах конфигурации сеанса см. в разделе about_Session_Configuration_Files. Сведения о создании и изменении файла конфигурации сеанса см. в командлете New-PSSessionConfigurationFile
.
Конфигурации сеансов определяют среду удаленных сеансов (PSSessions), которые подключаются к локальному компьютеру. Каждое psSession использует конфигурацию сеанса. Конфигурация сеанса определяет функции PSSession, такие как доступные в сеансе модули, командлеты, которые разрешены для выполнения, языковой режим, квоты и время ожидания. Дескриптор безопасности конфигурации сеанса определяет, кто может использовать конфигурацию сеанса для подключения к локальному компьютеру. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.
Чтобы просмотреть свойства конфигурации сеанса, используйте Get-PSSessionConfiguration
командлет или поставщик WSMan. Чтобы получить дополнительные сведения о поставщике WSMan, введите Get-Help WSMan
.
Примеры
Пример 1. Create и изменение конфигурации сеанса
В этом примере показано, как добавить и удалить скрипт запуска из конфигурации.
Первая команда создает конфигурацию 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
скрипт запуска в конфигурации сеанса MaintenanceShell изменяется на Maintenance.ps1
. В выходных данных отображается изменение и предлагается перезапустить службу 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.
Type: | PSSessionConfigurationAccessMode |
Accepted values: | Disabled, Local, Remote |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationBase
Указывает путь к файлу сборки (*.dll
), указанному в значении параметра AssemblyName .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AssemblyName
Задает имя сборки. Этот командлет создает конфигурацию сеанса на основе класса, определенного в сборке.
Введите имя файла или полный путь к файлу сборки .dll
, который определяет конфигурацию сеанса. Если ввести только имя файла, можно ввести путь в значении параметра ApplicationBase .
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConfigurationTypeName
Указывает тип конфигурации сеанса, который определен в сборке в параметре AssemblyName. Задаваемый тип должен реализовывать класс System.Management.Automation.Remoting.PSSessionConfiguration.
Этот параметр является обязательным, если указано имя сборки.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Подавляет все запросы пользователей и перезапускает службу WinRM без запроса. Перезапуск службы обеспечивает вступление изменений конфигурации в силу.
Чтобы предотвратить перезапуск и подавить запрос на перезапуск, используйте параметр NoServiceRestart.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumReceivedDataSizePerCommandMB
Указывает ограничение на объем данных, которые могут быть отправлены на этот компьютер в любой отдельной удаленной команде. Введите размер данных в мегабайтах (МБ). Значение по умолчанию — 50
.
Если ограничение размера данных определено в типе конфигурации, указанном в параметре ConfigurationTypeName , используется ограничение в типе конфигурации. Значение этого параметра игнорируется.
Type: | Nullable<T>[Double] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumReceivedObjectSizeMB
Указывает ограничения на объем данных, которые могут быть отправлены на этот компьютер в любом отдельном объекте.
Введите размер данных в мегабайтах. Значение по умолчанию — 10
.
Если ограничение на размер объекта определено в типе конфигурации, указанном в параметре ConfigurationTypeName , используется ограничение в типе конфигурации. Значение этого параметра игнорируется.
Type: | Nullable<T>[Double] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModulesToImport
Указывает модули и оснастки, которые автоматически импортируются в сеансы, использующие конфигурацию сеанса. Введите имена модулей и оснасток.
По умолчанию в сеансы импортируется только модуль Microsoft.PowerShell.Core , но если командлеты не исключены, можно использовать Import-Module
командлеты и Add-PSSnapin
для добавления модулей и оснастки в сеанс.
Модули, указанные в этом значении параметра, импортируются в дополнение к модулям, указанным в файле конфигурации сеанса (New-PSSessionConfigurationFile
). При этом параметры в файле конфигурации сеанса могут скрывать экспортируемые модулями команды или запрещать их использование.
Модули, указанные в этом значении параметра, заменяют список модулей, указанных параметром ModulesToImport командлета Register-PSSessionConfiguration
.
Этот параметр появился в PowerShell 3.0.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Указывает имя конфигурации сеанса, которую требуется изменить.
Этот параметр не может использоваться для изменения имени конфигурации сеанса.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoServiceRestart
Не перезапускает службу WinRM и подавляет запрос на перезапуск службы.
По умолчанию при запуске Set-PSSessionConfiguration
вам будет предложено перезапустить службу WinRM , чтобы обеспечить эффективность новой конфигурации сеанса. Пока служба WinRM не будет перезапущена, новая конфигурация сеанса не будет эффективной.
Чтобы перезапустить службу WinRM без запроса, используйте параметр Force . Чтобы перезапустить службу WinRM вручную, используйте Restart-Service
командлет .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к файлу конфигурации сеанса (.pssc
), например файлу, созданному командлетом New-PSSessionConfigurationFile
. Если путь не указан, по умолчанию используется текущий каталог.
Сведения об изменении файла конфигурации сеанса см. в разделе справки по командлету New-PSSessionConfigurationFile
.
Этот параметр появился в PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PSVersion
Указывает версию PowerShell в сеансах, использующих эту конфигурацию сеанса.
Значение этого параметра имеет приоритет над значением ключа PowerShellVersion в файле конфигурации сеанса.
Этот параметр появился в PowerShell 3.0.
Type: | Version |
Aliases: | PowerShellVersion |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsCredential
Указывает учетные данные для команд в сеансе. По умолчанию команды выполняются с разрешениями текущего пользователя.
Этот параметр появился в PowerShell 3.0.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Задает другую строку SDDL для конфигурации.
Эта строка определяет разрешения, необходимые для использования новой конфигурации сеанса. Чтобы использовать конфигурацию сеанса в сеансе, пользователи должны иметь по крайней мере Execute(Invoke)
разрешение на конфигурацию.
Чтобы использовать дескриптор безопасности по умолчанию для конфигурации, введите пустую строку (""
) или значение $Null
. По умолчанию используется корневой SDDL на WSMan:
диске.
Если дескриптор безопасности является сложным, рассмотрите возможность использования параметра ShowSecurityDescriptorUI вместо этого. Использовать оба параметра в одной и той же команде нельзя.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionTypeOption
Задает параметры конкретного типа для конфигурации сеанса. Введите объект параметров типа сеанса, например объект PSWorkflowExecutionOption , возвращаемый командлетом New-PSWorkflowExecutionOption
.
Параметры сеансов, которые используют конфигурацию сеанса, определяется значениями параметров сеанса и параметров конфигурации сеанса. Если не указано, параметры, заданные в сеансе, например с помощью командлета New-PSSessionOption
, имеют приоритет над параметрами, заданными в конфигурации сеанса. При этом значения параметров сеанса не могут превышать максимальные значения, заданные в конфигурации сеанса.
Этот параметр появился в PowerShell 3.0.
Type: | PSSessionTypeOption |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ShowSecurityDescriptorUI
При использовании этого параметра командлет открывает страницу свойств, которая помогает создать новый SDDL для конфигурации сеанса. Страница свойств появится после выполнения Set-PSSessionConfiguration
команды и перезапуска службы WinRM .
При настройке разрешений для конфигурации следует помнить, что пользователи должны иметь по крайней мере Execute(Invoke)
разрешение на использование конфигурации сеанса в сеансе.
Использовать этот параметр и параметр SecurityDescriptorSDDL в одной и той же команде нельзя.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartupScript
Указывает скрипт запуска для конфигурации. Введите полный путь к скрипту PowerShell. Указанный скрипт выполняется в новом сеансе, для которого используется данная конфигурация сеанса.
Чтобы удалить скрипт запуска из конфигурации сеанса, введите пустую строку (""
) или значение $Null
.
Для дальнейшей настройки пользовательского сеанса можно использовать скрипт запуска. Если скрипт создает ошибку, даже несрочную ошибку, сеанс не создается, а команда завершается ошибкой New-PSSession
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThreadApartmentState
Указывает состояние квартиры модуля потоков, который будет использоваться. Допустимы следующие значения:
Unknown
MTA
STA
Type: | ApartmentState |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThreadOptions
Задает параметр параметров потока в конфигурации. Этот параметр определяет, как потоки создаются и используются при выполнении команды в сеансе. Допустимые значения для этого параметра:
Default
ReuseThread
UseCurrentThread
UseNewThread
Значение по умолчанию — UseCurrentThread
.
Дополнительные сведения см. в разделе Перечисление PSThreadOptions.
Type: | PSThreadOptions |
Accepted values: | Default, UseNewThread, ReuseThread, UseCurrentThread |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TransportOption
Задает параметры транспорта для конфигурации сеанса. Введите объект параметров транспорта, например объект WSManConfigurationOption , возвращаемый командлетом New-PSTransportOption
.
Параметры сеансов, которые используют конфигурацию сеанса, определяется значениями параметров сеанса и параметров конфигурации сеанса. Если не указано, параметры, заданные в сеансе, например с помощью командлета New-PSSessionOption
, имеют приоритет над параметрами, заданными в конфигурации сеанса. При этом значения параметров сеанса не могут превышать максимальные значения, заданные в конфигурации сеанса.
Этот параметр появился в PowerShell 3.0.
Type: | PSTransportOption |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSharedProcess
Используйте только один процесс для размещения всех сеансов, запущенных одним и тем же пользователем и использующих одну и ту же конфигурацию сеанса. По умолчанию каждый сеанс размещается в отдельном процессе.
Этот параметр появился в PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
None
Вы не можете передавать объекты в этот командлет.
Выходные данные
Примечания
Этот командлет доступен только на платформах Windows.
Чтобы выполнить этот командлет, запустите PowerShell с помощью параметра Запуск от имени администратора .
Командлет Set-PSSessionConfiguration
не изменяет имя конфигурации, а поставщик WSMan не поддерживает командлет Rename-Item
. Чтобы изменить имя конфигурации сеанса, используйте Unregister-PSSessionConfiguration
командлет , чтобы удалить конфигурацию, а затем с помощью командлета Register-PSSessionConfiguration
создать и зарегистрировать новую конфигурацию сеанса.
С помощью командлета Set-PSSessionConfiguration
можно изменить конфигурации по умолчанию Microsoft.PowerShell
и Microsoft.PowerShell32
конфигурации сеанса. Они не защищены. Чтобы отменить изменения к исходной версии конфигурации сеанса по умолчанию, удалите конфигурацию сеанса по умолчанию с помощью 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 Provider
- about_Session_Configurations
- about_Session_Configuration_Files