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


Get-PSSessionConfiguration

Возвращает зарегистрированные конфигурации сеанса на компьютере.

Синтаксис

Get-PSSessionConfiguration
   [[-Name] <String[]>]
   [-Force]
   [<CommonParameters>]

Описание

Командлет Get-PSSessionConfiguration получает конфигурации сеанса, зарегистрированные на локальном компьютере. Это расширенный командлет, предназначенный для использования системными администраторами для управления настраиваемыми конфигурациями сеансов для своих пользователей.

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

Кроме того, начиная с PowerShell 3.0, новые свойства заметки были добавлены в объект конфигурации сеанса, который Get-PSSessionConfiguration возвращается. Эти свойства упрощают изучение конфигураций сеансов и сравнение конфигураций сеансов пользователями и авторами конфигураций сеансов.

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

Примеры

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

Get-PSSessionConfiguration

Пример 2. Получение двух конфигураций сеансов по умолчанию

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

Get-PSSessionConfiguration -Name Microsoft*

Name                      PSVersion  StartupScript        Permission
----                      ---------  -------------        ----------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll...
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll...

Пример 3. Получение свойств и значений конфигурации сеанса

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

Get-PSSessionConfiguration -Name Full  | Format-List -Property *

Copyright                     : (c) 2011 User01. All rights reserved.
AliasDefinitions              : {System.Collections.Hashtable}
SessionType                   : Default
CompanyName                   : Unknown
GUID                          : 1e9cb265-dae0-4bd3-89a9-8338a47698a1
Author                        : User01
ExecutionPolicy               : Restricted
SchemaVersion                 : 1.0.0.0
LanguageMode                  : FullLanguage
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : https://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 10
lang                          : en-US
SupportsOptions               : true
ExactMatch                    : true
configfilepath                : C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
MaxShells                     : 300
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 43200000
SDKVersion                    : 1
Name                          : Full
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 25
Enabled                       : True
MaxShellsPerUser              : 30
Permission                    :

В примере используется командлет Get-PSSessionConfiguration для получения полной конфигурации сеанса. Оператор конвейера отправляет конфигурацию полного сеанса в командлет Format-List. Параметр свойства со значением (все) направляет для отображения всех свойств и значений объекта в списке.

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

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

Пример 4. Другой способ просмотреть конфигурации сеанса

В этом примере используется командлет Get-ChildItem (псевдоним dir) на диске поставщика WSMan: для просмотра содержимого узла подключаемого модуля. Это еще один способ просмотреть конфигурации сеансов на компьютере.

dir wsman:\localhost\plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=WMI Provider}                 WMI Provider

Узел PlugIn содержит объекты ContainerElement (Microsoft.WSMan.Management.WSManConfigContainerElement), представляющие зарегистрированные конфигурации сеансов PowerShell, а также другие подключаемые модули для WS-Management.

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

В этом примере показано, как использовать поставщик WSMan для просмотра конфигураций сеансов на удаленном компьютере. Этот метод не предоставляет столько сведений, сколько Get-PSSessionConfiguration команды, но пользователю не нужно быть членом группы администраторов для выполнения этого командлета.

Connect-WSMan -ComputerName Server01
dir WSMan:\Server01\Plugin

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

Type            Keys                                Name
----            ----                                ----
Container       {Name=Empty}                        Empty
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=NoLanguage}                   NoLanguage
Container       {Name=RestrictedLang}               RestrictedLang
Container       {Name=RRS}                          RRS
Container       {Name=SEL Plugin}                   SEL Plugin
Container       {Name=WithProfile}                  WithProfile
Container       {Name=WMI Provider}                 WMI Provider

Командлет Connect-WSMan подключается к службе WinRM на удаленном компьютере Server01. Командлет Get-ChildItem (псевдоним dir) WSMan: диск получает элементы в пути Server01\Plugin. В выходных данных отображаются элементы в каталоге подключаемого модуля на компьютере Server01. Элементы включают конфигурации сеансов, которые являются типом подключаемого модуля WSMan, а также других типов подключаемых модулей на компьютере.

Пример 7. Получение подробных конфигураций сеансов с удаленного компьютера

В этом примере показано, как запустить команду Get-PSSessionConfiguration на удаленном компьютере. Для выполнения команды необходимо включить делегирование CredSSP в параметрах клиента на локальном компьютере и в параметрах службы на удаленном компьютере.

Чтобы выполнить команды в этом примере, необходимо быть членом группы "Администраторы" на локальных и удаленных компьютерах и запустить PowerShell с параметром запуск от имени администратора.

Enable-WSManCredSSP -Delegate Server02
Connect-WSMan Server02
Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01

Name                      PSVersion  StartupScript        Permission                          PSComputerName
----                      ---------  -------------        ----------                          --------------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
MyX86Shell                5.1        c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com

Командлет Enable-WSManCredSSP позволяет CredSSP делегирование на сервере Server01 на локальном компьютере. Командлет Connect-WSMan подключается к компьютеру Server02. Это действие добавляет узел для Server02 в WSMan: диск на локальном компьютере, что позволяет просматривать и изменять параметры WS-Management на компьютере Server02. Командлет Set-Item изменяет значение элемента CredSSP в узле службы компьютера Server02 на True. Это настраивает параметры службы на удаленном компьютере. Командлет Invoke-Command запускает командуGet-PSSessionConfiguration на компьютере Server02. Команда использует параметр учетных данных и использует параметр проверки подлинности со значением CredSSP. В выходных данных показаны конфигурации сеансов на удаленном компьютере Server02.

Пример 8. Получение URI ресурса конфигурации сеанса

Этот пример полезен для задания значения переменной предпочтения $PSSessionConfigurationName, которая принимает URI ресурса.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

https://schemas.microsoft.com/powershell/microsoft.CustomShell

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

Параметры

-Force

Подавляет запрос на перезапуск службы WinRM, если служба еще не запущена.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Name

Возвращает только конфигурации сеанса с указанным именем или шаблоном имени. Введите одно или несколько имен конфигурации сеанса. Разрешены подстановочные знаки.

Тип:String[]
Position:0
Default value:All session configurations on the local computer
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

Входные данные

None

Входные данные в этот командлет невозможно передать.

Выходные данные

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Примечания

  • Чтобы запустить этот командлет, запустите PowerShell с параметром запуск от имени администратора.

  • Чтобы просмотреть конфигурации сеанса на компьютере, необходимо быть членом группы "Администраторы" на компьютере.

  • Чтобы запустить команду Get-PSSessionConfiguration на удаленном компьютере, проверка подлинности поставщика служб безопасности учетных данных (CredSSP) должна быть включена в параметрах клиента на локальном компьютере (с помощью командлета Enable-WSManCredSSP) и в параметрах службы на удаленном компьютере. Кроме того, при установке удаленного сеанса необходимо использовать значение CredSSP параметра проверки подлинности . В противном случае доступ запрещен.

  • Свойства заметки объекта, Get-PSSessionConfiguration возвращаемого объекта, отображаются только в том случае, если они имеют значение. Только конфигурации сеансов, созданные с помощью файла конфигурации сеанса, имеют все определенные свойства.

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

  • Команды можно использовать в WSMan: диск для изменения свойств конфигураций сеанса. Однако нельзя использовать диск WSMan: диск PowerShell 2.0 для изменения свойств конфигурации сеанса, представленных в PowerShell 3.0, таких как OutputBufferingMode. Команды PowerShell 2.0 не создают ошибку, но неэффективны. Чтобы изменить свойства, представленные в PowerShell 3.0, используйте диск WSMan в PowerShell 3.0.