New PSSessionConfigurationFile - PowerShell


New-PSSessionConfigurationFile creates a new PowerShell session configuration file, allowing customization of session behavior for remote PowerShell sessions. It defines settings such as the execution policy, modules to import, and scripts to run.


New-PSSessionConfigurationFile -Path <String> -SessionType <PSSessionType> -DisplayName <String>
[-DefaultCommand <String>] [-Configuration <String>] [-ScriptBlock <ScriptBlock>] [-ArgumentList <String[]>]
[-Folder <String>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]


  • -Path: Specifies the file path and name for the session configuration file.
  • -SessionType: The type of session to create. Options include ‘File’, ‘Directory’, ‘Command’, ‘ScriptFile’, and ‘Credential’. Default: ‘File’
  • -DisplayName: The display name of the session configuration file.
  • -DefaultCommand: Sets the default command to run when the session is opened.
  • -Configuration: Imports a PowerShell configuration file (.ps1) into the session.
  • -ScriptBlock: Runs a PowerShell script block in the session.
  • -ArgumentList: Passes arguments to the script block specified by -ScriptBlock.
  • -Folder: Specifies a folder path to be used as the working directory for the session.
  • -Force: Overwrites the existing session configuration file if it exists.
  • -WhatIf: Performs a simulation of the command without making any changes.
  • -Confirm: Prompts for confirmation before executing the command.


1. Creating a Basic Session Configuration File:

New-PSSessionConfigurationFile -Path .\MySession.psc1 -SessionType File -DisplayName "My Session Configuration"

2. Setting the Execution Policy:

New-PSSessionConfigurationFile -Path .\MySession.psc1 -ExecutionPolicy RemoteSigned

3. Importing Modules:

New-PSSessionConfigurationFile -Path .\MySession.psc1 -Configuration .\MyModule.ps1

4. Running a Script Block:

$scriptBlock = { Write-Host "Hello, world!" }
New-PSSessionConfigurationFile -Path .\MySession.psc1 -ScriptBlock $scriptBlock

Common Issues

  • File Path Errors: Ensure the specified file path is valid and that you have permissions to create or modify the file.
  • Syntax Errors: Verify that the script block specified by -ScriptBlock is syntactically correct.
  • Execution Policy: If the execution policy of the session is set to a restrictive level, some scripts or modules may not run.


Combine New-PSSessionConfigurationFile with other commands such as:

  • New-PSSession: Creates a new PowerShell session using the specified configuration file.
  • Invoke-Command: Runs commands on a remote computer using the specified session.
  • Enter-PSSession: Enters an interactive session on a remote computer using the configuration file.