Get-PSSessionConfiguration
Obtiene las configuraciones de sesión registradas en el equipo.
Sintaxis
Get-PSSessionConfiguration
[[-Name] <String[]>]
[-Force]
[<CommonParameters>]
Description
El cmdlet Get-PSSessionConfiguration
obtiene las configuraciones de sesión que se han registrado en el equipo local. Este es un cmdlet avanzado diseñado para que lo usen los administradores del sistema para administrar configuraciones de sesión personalizadas para sus usuarios.
A partir de PowerShell 3.0, puede definir las propiedades de una configuración de sesión mediante un archivo de configuración de sesión (.pssc). Esta característica le permite crear sesiones personalizadas y restringidas sin escribir un programa informático. Para obtener más información sobre los archivos de configuración de sesión, consulte about_Session_Configuration_Files.
Además, a partir de PowerShell 3.0, se han agregado nuevas propiedades de nota al objeto de configuración de sesión que Get-PSSessionConfiguration
devuelve. Estas propiedades facilitan a los usuarios y a los autores de configuración de sesión examinar y comparar configuraciones de sesión.
Para crear y registrar una configuración de sesión, use el cmdlet Register-PSSessionConfiguration
.
Para obtener más información sobre las configuraciones de sesión, consulte about_Session_Configurations.
Ejemplos
Ejemplo 1: Obtener configuraciones de sesión en el equipo local
Get-PSSessionConfiguration
Ejemplo 2: Obtención de las dos configuraciones de sesión predeterminadas
El comando usa el parámetro Name de Get-PSSessionConfiguration
para obtener solo las configuraciones de sesión con nombres que comienzan por "Microsoft".
Get-PSSessionConfiguration -Name Microsoft*
Name PSVersion StartupScript Permission
---- --------- ------------- ----------
microsoft.powershell 5.1 BUILTIN\Administrators AccessAll...
microsoft.powershell32 5.1 BUILTIN\Administrators AccessAll...
Ejemplo 3: Obtención de las propiedades y valores de una configuración de sesión
En este ejemplo se muestran las propiedades y los valores de propiedad de una configuración de sesión que se creó mediante un archivo de configuración de sesión.
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 :
En el ejemplo se usa el cmdlet Get-PSSessionConfiguration
para obtener la configuración de sesión completa. Un operador de canalización envía la configuración de sesión completa al cmdlet Format-List
. El parámetro Property con un valor de *
(all) dirige Format-List
para mostrar todas las propiedades y valores del objeto en una lista.
La salida incluye información útil, incluido el autor de la configuración de la sesión, el tipo de sesión, el modo de idioma y la directiva de ejecución de sesiones que se crean con esta configuración de sesión, cuotas de sesión y la ruta de acceso completa al archivo de configuración de sesión.
Esta vista de una configuración de sesión se usa para las sesiones que incluyen un archivo de configuración de sesión. Para obtener más información sobre los archivos de configuración de sesión, consulte about_Session_Configuration_Files.
Ejemplo 4: otra manera de examinar las configuraciones de sesión
En este ejemplo se usa el cmdlet Get-ChildItem
(alias dir
) en la unidad de proveedor WSMan: para examinar el contenido del nodo Complemento. Esta es otra manera de examinar las configuraciones de sesión en el equipo.
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
El nodo PlugIn contiene objetos ContainerElement (Microsoft.WSMan.Management.WSManConfigContainerElement) que representan las configuraciones de sesión de PowerShell registradas, junto con otros complementos para WS-Management.
Ejemplo 6: Visualización de configuraciones de sesión en un equipo remoto
En este ejemplo se muestra cómo usar el proveedor WSMan para ver las configuraciones de sesión en un equipo remoto. Este método no proporciona tanta información como un comando Get-PSSessionConfiguration
, pero el usuario no necesita ser miembro del grupo Administradores para ejecutar este 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
El cmdlet Connect-WSMan
se conecta al servicio WinRM en el equipo remoto Server01. El cmdlet
Ejemplo 7: Obtención de configuraciones de sesión detalladas desde un equipo remoto
En este ejemplo se muestra cómo ejecutar un comando Get-PSSessionConfiguration
en un equipo remoto. El comando requiere que la delegación credSSP esté habilitada en la configuración del cliente en el equipo local y en la configuración del servicio en el equipo remoto.
Para ejecutar los comandos de este ejemplo, debe ser miembro del grupo Administradores en los equipos locales y remotos y debe iniciar PowerShell con la opción ejecutar 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
El cmdlet Enable-WSManCredSSP
habilita delegación de CredSSP en Server01, el equipo local. El cmdlet Connect-WSMan
se conecta al equipo Server02. Esta acción agrega un nodo para Server02 a la unidad WSMan: en el equipo local, lo que le permite ver y cambiar la configuración de WS-Management en el equipo Server02. El cmdlet Invoke-Command
ejecuta el comandoGet-PSSessionConfiguration
en el equipo Server02. El comando usa el parámetro
Ejemplo 8: Obtención del URI del recurso de una configuración de sesión
Este ejemplo es útil para establecer el valor de la variable de preferencia $PSSessionConfigurationName
, que toma un URI de recurso.
(Get-PSSessionConfiguration -Name CustomShell).resourceURI
http://schemas.microsoft.com/powershell/microsoft.CustomShell
La variable $PSSessionConfigurationName
especifica la configuración predeterminada que se usa al crear una sesión. Esta variable se establece en el equipo local, pero especifica una configuración en el equipo remoto. Para obtener más información sobre la variable de $PSSessionConfiguration
, vea about_Preference_Variables.
Parámetros
-Force
Suprime el mensaje para reiniciar el servicio WinRM, si el servicio aún no se está ejecutando.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Name
Obtiene solo las configuraciones de sesión con el nombre o el patrón de nombre especificados. Escriba uno o varios nombres de configuración de sesión. Se permiten caracteres comodín.
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | All session configurations on the local computer |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | True |
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands
Notas
Para ejecutar este cmdlet, inicie PowerShell con la opción Ejecutar como administrador.
Para ver las configuraciones de sesión en el equipo, debe ser miembro del grupo Administradores del equipo.
Para ejecutar un comando
Get-PSSessionConfiguration
en un equipo remoto, la autenticación del proveedor de servicios de seguridad de credenciales (CredSSP) debe estar habilitada en la configuración del cliente en el equipo local (mediante el cmdletEnable-WSManCredSSP
) y en la configuración del servicio en el equipo remoto. Además, debe usar el valor CredSSP del parámetro Authentication al establecer la sesión remota. De lo contrario, se deniega el acceso.Las propiedades de nota del objeto que
Get-PSSessionConfiguration
devuelven aparecen en el objeto solo cuando tienen un valor. Solo las configuraciones de sesión creadas mediante un archivo de configuración de sesión tienen todas las propiedades definidas.Las propiedades de un objeto de configuración de sesión varían con las opciones establecidas para la configuración de sesión y los valores de esas opciones. Además, las configuraciones de sesión que usan un archivo de configuración de sesión tienen propiedades adicionales.
Puede usar comandos en la unidad WSMan: para cambiar las propiedades de las configuraciones de sesión. Sin embargo, no puede usar la unidad WSMan: en PowerShell 2.0 para cambiar las propiedades de configuración de sesión que se presentan en PowerShell 3.0, como OutputBufferingMode. Los comandos de PowerShell 2.0 no generan un error, pero son ineficaces. Para cambiar las propiedades introducidas en PowerShell 3.0, use la unidad WSMan: en PowerShell 3.0.
Vínculos relacionados
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- Proveedor WSMan
- about_Session_Configurations
- about_Session_Configuration_Files