The language mode and session type control which cmdlets and PowerShell engine features are available to connecting users, even if no role capabilities are defined.
The following session types are available:
Empty |
Nothing defined, requires session configuration! |
Default |
Microsoft.PowerShell.Core added, adds Import-Module and Add-PSSnapIn |
RestrictedRemoteServer |
Enables Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, and Select-Object |
Together with the following language modes, they define all available functionality:
FullLanguage |
The default. All language elements are allowed—there are no restrictions. Not recommended. |
ConstrainedLanguage |
Since PowerShell 3. All language elements and all Windows cmdlets available. Certain .NET types are allowed, as are their methods. API access is not allowed. Add-Type may load signed assemblies. |
RestrictedLanguage |
Commands can be run, but no script blocks may be used. Only the operators -eq, -gt, and -lt are allowed. Assignments, property references, and method calls are not allowed. |
NoLanguage |
Commands can be run, but no language elements are allowed. |