NAME

pwsh - PowerShell command-line shell and .NET REPL

SYNOPSIS

pwsh [-NoLogo] [-NoExit] [-NoProfile] [-NonInteractive] [-InputFormat {Text | XML}] [-OutputFormat {Text | XML}] [-EncodedCommand Base64EncodedCommand] [-File filePath args] [-ExecutionPolicy ExecutionPolicy] [-Command { - | script-block [-args arg-array] | string [CommandParameters] } ]

DESCRIPTION

PowerShell is an automation and configuration management platform. It consists of a cross-platform (Windows, Linux and macOS) command-line shell and associated scripting language.

OPTIONS

PowerShell accepts both - and -- prefixed arguments.

-NoLogo

Hides the copyright banner at startup.

-NoExit

Does not exit after running startup commands.

-NoProfile

Does not load the PowerShell profile.

-NonInteractive

Does not present an interactive prompt to the user.

-InputFormat

Describes the format of data sent to PowerShell. Valid values are "Text" (text strings) or "XML" (serialized CLIXML format).

-OutputFormat

Determines how output from PowerShell is formatted. Valid values are "Text" (text strings) or "XML" (serialized CLIXML format).

-EncodedCommand

Accepts a base-64-encoded string version of a command. Use this parameter to submit commands to PowerShell that require complex quotation marks or curly braces.

-File

Runs the specified script in the local scope ("dot-sourced"), so that the functions and variables that the script creates are available in the current session. Enter the script file path and any parameters. File must be the last parameter in the command, because all characters typed after the File parameter name are interpreted as the script file path followed by the script parameters.

-ExecutionPolicy

Sets the default execution policy for the current session and saves it in the $env:PSExecutionPolicyPreference environment variable. This parameter does not change the PowerShell execution policy that is set in the registry.

-Command

Executes the specified commands (and any parameters) as though they were typed at the PowerShell command prompt, and then exits, unless NoExit is specified. The value of Command can be -, a string or a script block. If the value of Command is -, the command text is read from standard input. If the value of Command is a script block, the script block must be enclosed in braces ({}). You can specify a script block only when running PowerShell in PowerShell. The results of the script block are returned to the parent shell as deserialized XML objects, not live objects. If the value of Command is a string, Command must be the last parameter in the command, because any characters typed after the command are interpreted as the command arguments.

To write a string that runs a PowerShell command, use the format: & {<command>} where the quotation marks indicate a string and the invoke operator (&) causes the command to be executed.

-Help, -?, /?

Shows this message.

FILES

ENVIRONMENT

These are environment variables used by PowerShell.

$PSModulePath

A colon (:) separated load path for PowerShell modules.

AUTOMATIC VARIABLES

These are automatically defined PowerShell-language variables.

$PSHOME

This is the location of all the system PowerShell binaries, modules, configuration, etc.

$PROFILE

Location for user configuration file.

$HOST

Contains an object that represents the program that is hosting PowerShell (similar to Get-Host).

$LASTEXITCODE

Contains the exit code of the last native process that ran in PowerShell (not cmdlets, as those are in-process).

$PWD

Contains an object that represents the current working location (similar to Get-Location).

SEE ALSO

Copyright (c) Microsoft Corporation.