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 или ВВОД-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
См. также
- about_Preference_Variables
- about_PSSessions
- about_Remote
- about_Session_Configuration_Files
- New-PSSession
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Unregister-PSSessionConfiguration
- New-PSSessionConfigurationFile
- Test-PSSessionConfigurationFile
PowerShell