Compartilhar via


Get-PSSessionConfiguration

Obtém as configurações de sessão registradas no computador.

Sintaxe

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

Description

O Get-PSSessionConfiguration cmdlet obtém as configurações de sessão que foram registradas no computador local. Esse é um cmdlet avançado projetado para ser utilizado por administradores de sistema a fim de gerenciar configurações de sessão personalizadas para seus usuários.

A partir do PowerShell 3.0, você pode definir as propriedades de uma configuração de sessão usando um arquivo de configuração de sessão (.pssc). Esse recurso permite criar sessões restritas e personalizadas sem escrever um programa de computador. Para obter mais informações sobre como criar arquivos de configuração, confira about_Session_Configuration_Files.

Além disso, a partir do PowerShell 3.0, novas propriedades de observação foram adicionadas ao objeto de configuração de sessão que Get-PSSessionConfiguration retorna. Essas propriedades facilitam para os usuários e autores de configuração de sessão examinarem e compararem as configurações de sessão.

Para criar e registrar uma configuração de sessão, use o Register-PSSessionConfiguration cmdlet. Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Exemplos

Exemplo 1 – Obter configurações de sessão no computador local

Get-PSSessionConfiguration

Exemplo 2 – Obter as duas configurações de sessão padrão

O comando usa o parâmetro Name de para obter apenas as configurações de Get-PSSessionConfiguration sessão com nomes que começam com "Microsoft".

Get-PSSessionConfiguration -Name Microsoft*

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

Exemplo 3 - Obter as propriedades e os valores de uma configuração de sessão

Este exemplo mostra as propriedades e os valores de propriedade de uma configuração de sessão que foi criada utilizando um arquivo de configuração de sessão.

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                   : http://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://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                    :

O exemplo usa o Get-PSSessionConfiguration cmdlet para obter a configuração completa da sessão. Um operador de pipeline envia a configuração de sessão completa para o Format-List cmdlet. O parâmetro Property com um valor de * (all) direciona Format-List para exibir todas as propriedades e valores do objeto em uma lista.

A saída inclui informações úteis, incluindo o autor da configuração da sessão, o tipo de sessão, o modo de idioma e a política de execução das sessões criadas com essa configuração de sessão, cotas de sessão e o caminho completo para o arquivo de configuração de sessão.

Este modo de exibição de uma configuração de sessão é utilizado para sessões que incluem um arquivo de configuração de sessão. Para obter mais informações sobre como criar arquivos de configuração, confira about_Session_Configuration_Files.

Exemplo 4 - Outra maneira de examinar as configurações da sessão

Este exemplo usa o Get-ChildItem cmdlet (alias dir) na unidade WSMan: provider para examinar o conteúdo do nó Plug-in. Essa é outra maneira para examinar as configurações de sessão no computador.

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

O nó PlugIn contém objetos ContainerElement (Microsoft.WSMan.Management.WSManConfigContainerElement) que representam as configurações de sessão do PowerShell registradas, juntamente com outros plug-ins para WS-Management.

Exemplo 6 - Exibir configurações de sessão em um computador remoto

Este exemplo mostra como utilizar o provedor WSMan para exibir as configurações de sessão em um computador remoto. Esse método não fornece tantas informações quanto um Get-PSSessionConfiguration comando, mas o usuário não precisa ser membro do grupo Administradores para executar esse cmdlet.

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

O Connect-WSMan cmdlet se conecta ao serviço WinRM no computador remoto Server01. O Get-ChildItem cmdlet (alias dir) da unidade WSMan: obtém os itens no caminho Server01\Plugin . A saída mostra os itens no diretório Plug-in no computador Server01. Os itens incluem as configurações de sessão, que são um tipo de plug-in do WSMan, juntamente com outros tipos de plug-ins no computador.

Exemplo 7 – Obter configurações detalhadas de sessão de um computador remoto

Este exemplo mostra como executar um Get-PSSessionConfiguration comando em um computador remoto. O comando requer que a delegação CredSSP esteja habilitada nas configurações do cliente no computador local e as configurações de serviço no computador remoto.

Para executar os comandos neste exemplo, você deve ser membro do grupo Administradores nos computadores locais e remotos e iniciar o PowerShell com a opção Executar como administrador .

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

O Enable-WSManCredSSP cmdlet habilita a delegação do CredSSP no Server01, o computador local. O Connect-WSMan cmdlet se conecta ao computador Server02. Essa ação adiciona um nó para Server02 à unidade WSMan: no computador local, permitindo que você exiba e altere as configurações do WS-Management no computador Server02. O Set-Item cmdlet altera o valor do item CredSSP no nó Serviço do computador Server02 para True. Isso define as configurações de serviço no computador remoto. O Invoke-Command cmdlet executa oGet-PSSessionConfiguration comando no computador Server02. O comando usa o parâmetro Credential e usa o parâmetro Authentication com um valor de CredSSP. A saída mostra as configurações de sessão no computador remoto Server02.

Exemplo 8 – Obter o URI de recurso de uma configuração de sessão

Este exemplo é útil para definir o valor da variável de preferência, que usa um URI de $PSSessionConfigurationName recurso.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

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

A $PSSessionConfigurationName variável especifica a configuração padrão usada quando você cria uma sessão. Essa variável é definida no computador local, mas ela especifica uma configuração no computador remoto. Para obter mais informações sobre a variável $PSSessionConfiguration, consulte about_Preference_Variables.

Parâmetros

-Force

Suprime o prompt para reiniciar o serviço WinRM, se o serviço não estiver sendo executado.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Obtém somente as configurações de sessão com o nome especificado ou o nome padrão. Insira um ou mais nomes de configuração de sessão. Caracteres curinga são permitidos.

Tipo:String[]
Cargo:0
Valor padrão:All session configurations on the local computer
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

Entradas

None

Você não pode canalizar objetos para esse cmdlet.

Saídas

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Observações

  • Para executar esse cmdlet, inicie o PowerShell com a opção Executar como administrador .

  • Para exibir as configurações de sessão no computador, você deve ser um membro do grupo Administradores no computador.

  • Para executar um Get-PSSessionConfiguration comando em um computador remoto, a autenticação do Provedor de Serviços de Segurança de Credenciais (CredSSP) deve ser habilitada nas configurações do cliente no computador local (usando o Enable-WSManCredSSP cmdlet) e nas configurações de serviço no computador remoto. Além disso, você deve usar o valor CredSSP do parâmetro Authentication ao estabelecer a sessão remota. Caso contrário, o acesso é negado.

  • As propriedades de nota do objeto que Get-PSSessionConfiguration retorna aparecem no objeto somente quando têm um valor. Somente as configurações de sessão que foram criadas usando um arquivo de configuração de sessão têm todas as propriedades definidas.

  • As propriedades de um objeto de configuração de sessão variam de acordo com as opções definidas para a configuração da sessão e os valores dessas opções. Além disso, as configurações de sessão que usam um arquivo de configuração de sessão têm propriedades adicionais.

  • É possível utilizar comandos na unidade WSMan: para alterar as propriedades das configurações de sessão. No entanto, você não pode usar a unidade WSMan: no PowerShell 2.0 para alterar as propriedades de configuração de sessão introduzidas no PowerShell 3.0, como OutputBufferingMode. Os comandos do PowerShell 2.0 não geram um erro, mas são ineficazes. Para alterar as propriedades introduzidas no PowerShell 3.0, use a unidade WSMan: no PowerShell 3.0.