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


about_Session_Configurations

Краткое описание

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

Подробное описание

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

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

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

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

Конфигурации сеансов — это функция удаленного взаимодействия PowerShell на основе WSMAN. Они используются только при использовании New-PSSessionInvoke-Commandкомандлетов или Enter-PSSession командлетов для подключения к удаленному компьютеру Windows.

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

Сведения о конфигурациях сеансов

Каждый сеанс PowerShell использует конфигурацию сеанса. К ним относятся постоянные сеансы, создаваемые с помощью командлетов New-PSSession или ВВОД-PSSession, а также временные сеансы, создаваемые PowerShell при использовании параметра ComputerName командлета, использующего технологию удаленного взаимодействия на основе WS-Management, например Invoke-Command.

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

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

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

Встроенные конфигурации сеансов

PowerShell 3.0 включает встроенные конфигурации сеансов с именем Microsoft.PowerShell и Microsoft.PowerShell.Workflow. На компьютерах под управлением 64-разрядных версий Windows PowerShell также предоставляется 32-разрядная конфигурация сеанса Microsoft.PowerShell32.

Конфигурация сеанса Microsoft.PowerShell по умолчанию используется для сеансов, то есть если команда для создания сеанса не включает параметр ConfigurationName нового psSession, ВВОД-PSSession или командлет Invoke-Command.

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

Конфигурации сеансов по умолчанию можно изменить с помощью переменной предпочтения $PSSessionConfigurationName. Дополнительные сведения см. в разделе about_Preference_Variables.

Просмотр конфигураций сеансов на локальном компьютере

Чтобы получить конфигурации сеанса на локальном компьютере, используйте командлет Get-PSSessionConfiguration.

Например, введите:

PS C:> Get-PSSessionConfiguration | Format-List -Property Name, Permission

Name       : microsoft.powershell
Permission : BUILTIN\Administrators AccessAllowed

Name       : microsoft.powershell.workflow
Permission : BUILTIN\Administrators AccessAllowed

Name       : microsoft.powershell32
Permission : BUILTIN\Administrators AccessAllowed

Объект конфигурации сеанса развернут в PowerShell 3.0, чтобы отобразить свойства конфигурации сеанса, настроенные с помощью файла конфигурации сеанса.

Например, чтобы просмотреть все свойства объекта конфигурации сеанса, введите:

PS C:> Get-PSSessionConfiguration | Format-List -Property *

Вы также можете использовать поставщик WSMan в PowerShell для просмотра конфигураций сеансов. Поставщик WSMan создает WSMAN: диск в сеансе.

На диске WSMAN: конфигурации сеансов находятся на узле подключаемого модуля. (Все конфигурации сеансов находятся на узле подключаемого модуля, но в узле подключаемого модуля нет конфигураций сеанса.)

Например, чтобы просмотреть конфигурации сеансов на локальном компьютере, введите следующее:

PS C:> dir wsman:\localhost\plugin\microsoft*

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Type       Keys                              Name
----       ----                              ----
Container  {Name=microsoft.powershell}       microsoft.powershell
Container  {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container  {Name=microsoft.powershell32}     microsoft.powershell32

Просмотр конфигураций сеансов на удаленном компьютере

Чтобы просмотреть конфигурации сеансов на удаленном компьютере, используйте командлет Connect-WSMan, чтобы добавить примечание для удаленного компьютера в WSMAN: диск на локальном компьютере, а затем использовать WSMAN: диск для просмотра конфигураций сеансов.

Например, следующая команда добавляет узел для удаленного компьютера Server01 в WSMAN: диск на локальном компьютере.

PS C:> Connect-WSMan server01.corp.fabrikam.com

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

Например:

PS C:> cd wsman:

PS WSMan:> dir

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01.corp.fabrikam.com                    Container

PS WSMan:> dir server01\plugin\

WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Pl
ugin

Type       Keys                              Name
----       ----                              ----
Container  {Name=microsoft.powershell}       microsoft.powershell
Container  {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container  {Name=microsoft.powershell32}     microsoft.powershell32

Изменение дескриптора безопасности конфигурации сеанса

В Windows Server 2012 и более новых выпусках Windows Server встроенные конфигурации сеансов включены для удаленных пользователей по умолчанию. В других поддерживаемых версиях Windows необходимо изменить дескрипторы безопасности конфигураций сеансов, чтобы разрешить удаленный доступ.

Чтобы включить удаленный доступ к конфигурациям сеансов на компьютере, используйте командлет Enable-PSRemoting. Этот командлет создает две конфигурации сеанса:

  • с именем, определенным как "PowerShell". + "Текущая версия PowerShell"
  • с именем "PowerShell.6", не связан с любой конкретной версией PowerShell.

Кроме того, по умолчанию только члены группы "Администраторы" на компьютере имеют разрешение "Выполнить" для конфигураций сеансов по умолчанию, но вы можете изменить дескрипторы безопасности в конфигурациях сеансов по умолчанию и на всех создаваемых конфигурациях сеансов.

Чтобы предоставить другим пользователям разрешение на удаленное подключение к компьютеру, используйте командлет Set-PSSessionConfiguration, чтобы добавить разрешения Execute для этих пользователей в дескрипторы безопасности конфигураций сеансов Microsoft.PowerShell и Microsoft.PowerShell32.

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

Set-PSSessionConfiguration -name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Чтобы запретить всем разрешения на все конфигурации сеанса на компьютере, используйте командлет Disable-PSSessionConfiguration. Например, следующая команда отключает конфигурации сеансов по умолчанию на компьютере.

PS C:> Disable-PSSessionConfiguration -Name Microsoft.PowerShell

Чтобы запретить удаленным пользователям подключаться к компьютеру, но разрешить локальным пользователям подключаться, используйте командлет Disable-PSRemoting. Disable-PSRemoting добавляет запись "Network_Deny_All" во все конфигурации сеансов на компьютере.

PS C:> Disable-PSRemoting

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

PS C:> Enable-PSSessionConfiguration -name Microsoft.Power*

Чтобы внести другие изменения в дескриптор безопасности конфигурации сеанса, используйте командлет Set-PSSessionConfiguration. Используйте параметр SecurityDescriptorSDDL для отправки строкового значения SDDL. Используйте параметр ShowSecurityDescriptorUI для отображения листа свойств пользовательского интерфейса, который помогает создать новый SDDL.

Например:

Set-PSSessionConfiguration -Name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Создание конфигурации сеанса

Чтобы создать новую конфигурацию сеанса на локальном компьютере, используйте командлет Register-PSSessionConfiguration. Чтобы определить новую конфигурацию сеанса, можно использовать сборку C#, скрипт PowerShell и параметры командлета Register-PSSessionConfiguration.

Например, следующая команда создает конфигурацию сеанса, идентичную конфигурации сеанса Microsoft.PowerShell, за исключением того, что она ограничивает данные, полученные из удаленной команды, до 20 мегабайт (МБ). (Значение по умолчанию — 50 МБ).

Register-PSSessionConfiguration -Name NewConfig `
  -MaximumReceivedDataSizePerCommandMB 20

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

Дополнительные сведения см. в разделе Register-PSSessionConfiguration.

Удаление конфигурации сеанса

Чтобы удалить конфигурацию сеанса с локального компьютера, используйте командлет Unregister-PSSessionConfiguration. Например, следующая команда удаляет конфигурацию сеанса NewConfig с компьютера.

PS C:> Unregister-PSSessionConfiguration -Name NewConfig

Дополнительные сведения см. в разделе Unregister-PSSessionConfiguration.

Восстановление конфигурации сеанса

Чтобы восстановить конфигурацию сеанса по умолчанию, которая была удалена (отмена регистрации) случайно, используйте командлет Enable-PSRemoting.

Командлет Enable-PSRemoting повторно создает все конфигурации сеансов по умолчанию, которые не существуют на компьютере. Он не перезаписывает или не изменяет значения свойств существующих конфигураций сеансов.

Чтобы восстановить исходные значения свойств конфигурации сеанса по умолчанию, используйте unregister-PSSessionConfiguration для удаления конфигурации сеанса, а затем используйте командлет Enable-PSRemoting для повторного создания.

Выбор конфигурации сеанса

Чтобы выбрать определенную конфигурацию сеанса для сеанса, используйте параметр ConfigurationName new-PSSession, ВВОД-PSSession или Invoke-Command.

Например, эта команда использует командлет New-PSSession для запуска PSSession на компьютере Server01. Команда использует параметр ConfigurationName для выбора конфигурации WithProfile на компьютере Server01.

PS C:> New-PSSession -ComputerName Server01 -ConfigurationName WithProfile

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

Можно также использовать переменную предпочтения $PSSessionConfigurationName для изменения конфигурации сеанса по умолчанию на компьютере. Дополнительные сведения о переменной предпочтения $PSSessionConfigurationName см. в about_Preference_Variables.

КЛЮЧЕВЫЕ СЛОВА

about_Endpoints about_SessionConfigurations

См. также