Get-PSSessionConfiguration
Obtém as configurações de sessão registradas no computador.
Sintaxe
Get-PSSessionConfiguration
[[-Name] <String[]>]
[-Force]
[<CommonParameters>]
Description
O cmdlet Get-PSSessionConfiguration
obtém as configurações de sessão que foram registradas no computador local. Esse é um cmdlet avançado que foi projetado para ser usado pelos administradores do sistema para 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 que você crie sessões personalizadas e restritas sem escrever um programa de computador. Para obter mais informações sobre arquivos de configuração de sessão, consulte about_Session_Configuration_Files.
Além disso, a partir do PowerShell 3.0, novas propriedades de anotação foram adicionadas ao objeto de configuração de sessão que Get-PSSessionConfiguration
retorna. Essas propriedades facilitam que usuários e autores de configuração de sessão examinem e comparem as configurações de sessão.
Para criar e registrar uma configuração de sessão, use o cmdlet Register-PSSessionConfiguration
.
Para obter mais informações sobre configurações de sessão, consulte 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 Get-PSSessionConfiguration
para obter apenas as configurações de 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 usando 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 : 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 :
O exemplo usa o cmdlet Get-PSSessionConfiguration
para obter a configuração de sessão completa. Um operador de pipeline envia a configuração de sessão completa para o cmdlet Format-List
. O parâmetro propriedade
A saída inclui informações úteis, incluindo o autor da configuração da sessão, o tipo de sessão, o modo de linguagem e a política de execução de 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.
Essa exibição de uma configuração de sessão é usada para sessões que incluem um arquivo de configuração de sessão. Para obter mais informações sobre arquivos de configuração de sessão, consulte about_Session_Configuration_Files.
Exemplo 4 - Outra maneira de examinar as configurações de sessão
Este exemplo usa o cmdlet Get-ChildItem
(alias dir
) na unidade do provedor WSMan: para examinar o conteúdo do nó plug-in. Essa é outra maneira de 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ó plug-in contém containerElement objetos (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 usar o provedor WSMan para exibir as configurações de sessão em um computador remoto. Esse método não fornece tanta informação quanto um comando Get-PSSessionConfiguration
, 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 cmdlet Connect-WSMan
se conecta ao serviço WinRM no computador remoto Server01. O cmdlet Get-ChildItem
(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 de sessão detalhadas de um computador remoto
Este exemplo mostra como executar um comando Get-PSSessionConfiguration
em um computador remoto. O comando requer que a delegação credSSP seja habilitada nas configurações do cliente no computador local e nas configurações de serviço no computador remoto.
Para executar os comandos neste exemplo, você deve ser um membro do grupo Administradores nos computadores locais e remotos e deve 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 cmdlet Enable-WSManCredSSP
habilita delegação de CredSSP no Server01, o computador local. O cmdlet Connect-WSMan
se conecta ao computador Server02. Essa ação adiciona um nó para Server02 ao WSMan: unidade no computador local, permitindo que você exiba e altere as configurações de WS-Management no computador Server02. O cmdlet Invoke-Command
executa o comandoGet-PSSessionConfiguration
no computador Server02. O comando usa o parâmetro
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 $PSSessionConfigurationName
, que usa um URI de recurso.
(Get-PSSessionConfiguration -Name CustomShell).resourceURI
https://schemas.microsoft.com/powershell/microsoft.CustomShell
A variável $PSSessionConfigurationName
especifica a configuração padrão usada ao criar uma sessão. Essa variável é definida no computador local, mas 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 ainda não estiver em execução.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Name
Obtém apenas as configurações de sessão com o nome ou o padrão de nome especificado. Insira um ou mais nomes de configuração de sessão. Curingas 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
Não é possível redirecionar a entrada para este 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 comando
Get-PSSessionConfiguration
em um computador remoto, a autenticação credSSP (Provedor de Serviços de Segurança de Credencial) deve ser habilitada nas configurações do cliente no computador local (usando o cmdletEnable-WSManCredSSP
) e nas configurações de serviço no computador remoto. Além disso, você deve usar o valorCredSSP do parâmetro de Autenticação ao estabelecer a sessão remota. Caso contrário, o acesso será negado. As propriedades de anotação 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 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.
Você pode usar comandos no WSMan: unidade para alterar as propriedades das configurações de sessão. No entanto, não é possível 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.
Links Relacionados
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- Provedor WSMan
- about_Session_Configurations
- about_Session_Configuration_Files