Set PSSessionConfiguration - PowerShell


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.


Set-PSSessionConfiguration [-Name] <string> [-ExecutionPolicy] <string> [-ModulesToImport] <string[]> [-ScriptsToRun] <string[]> [-SessionType] <string> [-SecurityDescriptorProtected] <boolean> [-ShowSecurityDescriptorUI] <boolean> [-Confirm] [-WhatIf] [-PassThru]


  • -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.


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.


  • Use Get-PSSessionConfiguration to retrieve the current configuration settings.
  • Combine Set-PSSessionConfiguration with New-PSSession to create a new session based on the modified configuration.