about_Session_Configurations

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Конфигурация сеанса Microsoft.PowerShell используется для сеансов по умолчанию, то есть если команда для создания сеанса не включает параметр ConfigurationName командлета New-PSSession, Enter-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, чтобы добавить разрешения "Выполнение" для этих пользователей в дескрипторы безопасности конфигураций сеансов 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, Enter-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

См. также раздел