Share via


Get-PSSessionCapability

Gets the capabilities of a specific user on a constrained session configuration.

Syntax

Get-PSSessionCapability
   [-ConfigurationName] <String>
   [-Username] <String>
   [-Full]
   [<CommonParameters>]

Description

The Get-PSSessionCapability cmdlet gets the capabilities of a specific user on a constrained session configuration. Use this cmdlet to audit customized session configurations for users.

Starting in Windows PowerShell 5.0, you can use the RoleDefinitions property in a session configuration (.pssc) file. Using this property lets you grant users different capabilities on a single constrained endpoint based on group membership. The Get-PSSessionCapability cmdlet reduces complexity when auditing these endpoints by letting you determine the exact capabilities granted to a user.

By default, the Get-PSSessionCapability cmdlet returns a list of commands the specified user can run in the specified endpoint. This is equivalent to the user running Get-Command in the specified endpoint. When run with the Full parameter, this cmdlet returns an InitialSessionState object. This object contains details about the Windows PowerShell runspace the specified user would interact with for the specified endpoint. It includes information such as Language Mode, Execution Policy, and Environmental Variables.

Examples

Example 1: Get commands available for a user

PS C:\> Get-PSSessionCapability -ConfigurationName "Endpoint1" -Username "CONTOSO\EvanNa"

This example returns the commands available to the user CONTOSO\EvanNa when connecting to the Endpoint1 constrained endpoint on the local computer.

Example 2: Get details about a runspace for a user

PS C:\> Get-PSSessionCapability -ConfigurationName "Endpoint1" -Username "CONTOSO\PattiFul" -Full

This command returns details about the runspace the user CONTOSO\PattiFul would interact with when connecting to the Endpoint1 constrained endpoint.

Parameters

-ConfigurationName

Specifies the constrained session configuration (endpoint) that you are inspecting.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Full

Indicates that this cmdlet returns the entire initial session state for the specified user at the specified constrained endpoint.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Username

Specifies the user whose capabilities you are inspecting.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Outputs

AliasInfo

FunctionInfo

InitialSessionState