- PowerShell - Home
- PowerShell - Overview
- PowerShell - Environment Setup
- PowerShell - Cmdlets
- PowerShell - Files and Folders
- PowerShell - Dates and Timers
- PowerShell - Files I/O
- PowerShell - Advanced Cmdlets
- PowerShell - Scripting
- PowerShell - Special Variables
- PowerShell - Operators
- PowerShell - Looping
- PowerShell - Conditions
- PowerShell - Array
- PowerShell - Hashtables
- PowerShell - Regex
- PowerShell - Backtick
- PowerShell - Brackets
- PowerShell - Alias
- PowerShell Useful Resources
- PowerShell - Quick Guide
- PowerShell - Useful Resources
- PowerShell - Discussion
Powershell - Special Variables
PowerShell Special variables store information about PowerShell. These are also called automatic variables. Following is the list of automatic variables −
| Operator | Description |
|---|---|
| $$ | Represents the last token in the last line received by the session. |
| $? | Represents the execution status of the last operation. It contains TRUE if the last operation succeeded and FALSE if it failed. |
| $^ | Represents the first token in the last line received by the session. |
| $_ | Same as $PSItem. Contains the current object in the pipeline object. You can use this variable in commands that perform an action on every object or on selected objects in a pipeline. |
| $ARGS | Represents an array of the undeclared parameters and/or parameter values that are passed to a function, script, or script block. |
| $CONSOLEFILENAME | Represents the path of the console file (.psc1) that was most recently used in the session. |
| $ERROR | Represents an array of error objects that represent the most recent errors. |
| $EVENT | Represents a PSEventArgs object that represents the event that is being processed. |
| $EVENTARGS | Represents an object that represents the first event argument that derives from EventArgs of the event that is being processed. |
| $EVENTSUBSCRIBER | Represents a PSEventSubscriber object that represents the event subscriber of the event that is being processed. |
| $EXECUTIONCONTEXT | Represents an EngineIntrinsics object that represents the execution context of the PowerShell host. |
| $FALSE | Represents FALSE. You can use this variable to represent FALSE in commands and scripts instead of using the string "false". |
| $FOREACH | Represents the enumerator (not the resulting values) of a ForEach loop. You can use the properties and methods of enumerators on the value of the $ForEach variable. |
| $HOME | Represents the full path of the user's home directory. |
| $HOST | Represents an object that represents the current host application for PowerShell. |
| $INPUT | Represents an enumerator that enumerates all input that is passed to a function. |
| $LASTEXITCODE | Represents the exit code of the last Windows-based program that was run. |
| $MATCHES | The $Matches variable works with the -match and -notmatch operators. |
| $MYINVOCATION | $MyInvocation is populated only for scripts, function, and script blocks. PSScriptRoot and PSCommandPath properties of the $MyInvocation automatic variable contain information about the invoker or calling script, not the current script. |
| $NESTEDPROMPTLEVEL | Represents the current prompt level. |
| $NULL | $null is an automatic variable that contains a NULL or empty value. You can use this variable to represent an absent or undefined value in commands and scripts. |
| $PID | Represents the process identifier (PID) of the process that is hosting the current PowerShell session. |
| $PROFILE | Represents the full path of the PowerShell profile for the current user and the current host application. |
| $PSCMDLET | Represents an object that represents the cmdlet or advanced function that is being run. |
| $PSCOMMANDPATH | Represents the full path and file name of the script that is being run. |
| $PSCULTURE | Represents the name of the culture currently in use in the operating system. |
| $PSDEBUGCONTEXT | While debugging, this variable contains information about the debugging environment. Otherwise, it contains a NULL value. |
| $PSHOME | Represents the full path of the installation directory for PowerShell. |
| $PSITEM | Same as $_. Contains the current object in the pipeline object. |
| $PSSCRIPTROOT | Represents the directory from which a script is being run. |
| $PSSENDERINFO | Represents information about the user who started the PSSession, including the user identity and the time zone of the originating computer. |
| $PSUICULTURE | Represents the name of the user interface (UI) culture that is currently in use in the operating system. |
| $PSVERSIONTABLE | Represents a read-only hash table that displays details about the version of PowerShell that is running in the current session. |
| $SENDER | Represents the object that generated this event. |
| $SHELLID | Represents the identifier of the current shell. |
| $STACKTRACE | Represents a stack trace for the most recent error. |
| $THIS | In a script block that defines a script property or script method, the $This variable refers to the object that is being extended. |
| $TRUE | Represents TRUE. You can use this variable to represent TRUE in commands and scripts. |
Advertisements