Set PSSessionConfiguration - PowerShell
Overview
The Set-PSSessionConfiguration
cmdlet modifies the configuration of an existing PowerShell session configuration. It allows you to customize the settings of a session, such as its execution policy, module and script availability, and security features.
Syntax
Set-PSSessionConfiguration [-Name] <string> [-ExecutionPolicy] <string> [-ModulesToImport] <string[]> [-ScriptsToRun] <string[]> [-SessionType] <string> [-SecurityDescriptorProtected] <boolean> [-ShowSecurityDescriptorUI] <boolean> [-Confirm] [-WhatIf] [-PassThru]
Options/Flags
- -Name: Specifies the name of the session configuration to modify.
- -ExecutionPolicy: Sets the execution policy for the session. Valid values are “Restricted”, “AllSigned”, “RemoteSigned”, “Unrestricted”, and “Bypass”.
- -ModulesToImport: An array of module names to import into the session.
- -ScriptsToRun: An array of script paths to run in the session.
- -SessionType: Specifies the type of session to create. Valid values are “Default” and “Restricted”.
- -SecurityDescriptorProtected: Indicates whether the session configuration’s security descriptor is protected.
- -ShowSecurityDescriptorUI: Prompts the user to edit the security descriptor of the session configuration.
- -Confirm: Prompts for confirmation before executing the command.
- -WhatIf: Displays what would happen if the command were executed without actually executing it.
- -PassThru: Returns the modified session configuration object.
Examples
Example 1: Setting the execution policy
Set-PSSessionConfiguration -Name MySession -ExecutionPolicy RemoteSigned
Example 2: Importing modules and running scripts
Set-PSSessionConfiguration -Name MySession -ModulesToImport "ActiveDirectory", "PowerShellGet" -ScriptsToRun ".\Install-Updates.ps1"
Common Issues
- Error: The session configuration does not exist: Ensure the specified session configuration name is correct.
- Error: Access denied: Verify that you have sufficient permissions to modify the session configuration.
- Error: Invalid execution policy: Use one of the valid execution policy values listed in the Options/Flags section.
Integration
- Use
Get-PSSessionConfiguration
to retrieve the current configuration settings. - Combine
Set-PSSessionConfiguration
withNew-PSSession
to create a new session based on the modified configuration.
Related Commands
Get-PSSessionConfiguration
New-PSSession
Invoke-Command
- about_Session_Configuration_Files