Glossary of PowerShell Terms
Note
Quick reference definitions for common PowerShell terminology and concepts.
Overview
This glossary provides clear, beginner-friendly definitions for PowerShell terms you'll encounter frequently. Each term includes a brief explanation and, where helpful, a simple example.
A
Alias
A short name for a cmdlet or function. Makes commands faster to type.
Argument
A value you pass to a parameter when running a command.
Array
A collection that holds multiple values in a single variable.
Assignment
Storing a value in a variable using =.
B
Boolean
A true/false value. Uses $true or $false.
Background Job
A command that runs in the background without blocking your current session.
Backtick `
The escape character in PowerShell. Used to continue lines or escape special characters.
Break
Exits a loop or switch statement immediately.
C
Cmdlet
A PowerShell command built using the Verb-Noun naming convention.
Comment
Text that PowerShell ignores, used for documentation.
Comparison Operator
Operators used to compare values: -eq, -ne, -gt, -lt, etc.
Continue
Skips the current iteration of a loop and moves to the next one.
CIM (Common Information Model)
A standard for accessing management information, often used instead of WMI.
D
Data Type
The kind of data a variable holds: string, integer, boolean, array, etc.
Default Parameter
A parameter with a pre-set value if no argument is provided.
Dot Notation
Using a period (.) to access properties or methods of an object.
Dot Sourcing
Running a script in the current scope so its variables/functions remain available.
E
Environment Variable
A variable stored by the operating system, accessible via $env:.
ErrorAction
A common parameter that controls what happens when an error occurs.
Escape Character
The backtick (`) used to treat special characters as literals.
Execution Policy
Security setting that controls whether scripts can run.
Exit Code
A number returned by a script/program indicating success (0) or failure (non-zero).
F
Filter
A type of function optimized for pipeline processing.
Format Cmdlets
Commands that format output for display: Format-Table, Format-List, Format-Wide.
Function
A reusable block of code you can call by name.
H
Hash Table (Hashtable)
A collection of key-value pairs.
$person = @{
Name = "Raymond"
Age = 30
City = "Portland"
}
$person["Name"] # "Raymond"
$person.Age # 30
Here-String
Multi-line string that preserves formatting.
I
ISE (Integrated Scripting Environment)
Built-in PowerShell editor with debugging tools.
Interpolation
Embedding variables inside double-quoted strings.
J
Job
See Background Job.
L
Literal
A value written exactly as-is in code.
Loop
Code that repeats multiple times: foreach, for, while, do-while.
M
Method
An action you can perform on an object.
Module
A package of cmdlets, functions, and other resources.
Mandatory Parameter
A parameter that must be provided when running a command.
N
Named Parameter
Specifying parameter name explicitly when calling a command.
Noun
The second part of a cmdlet name (after the verb).
Null
Represents "no value" or "nothing". Uses $null.
O
Object
A structured piece of data with properties and methods.
Operator
Symbol that performs an operation: arithmetic (+, -), comparison (-eq, -gt), logical (-and, -or).
Output
Data returned by a command, often sent to the pipeline.
$result = Get-Process # Output stored in variable
Get-Process | Format-Table # Output formatted for display
P
Parameter
Input that a cmdlet, function, or script accepts.
Pipeline
Passing output from one command as input to another using |.
Pipeline Variable
$_ (or $PSItem) represents the current object flowing through the pipeline.
Positional Parameter
A parameter you can specify without using its name (based on position).
Property
Information stored in an object.
Provider
A PowerShell adapter that makes data stores look like file systems.
PSCustomObject
A custom object you create with specific properties.
R
Recurse
Process items in a directory and all subdirectories.
Regex (Regular Expression)
Pattern matching syntax for finding text.
Remote Session
Connection to another computer to run commands remotely.
$session = New-PSSession -ComputerName Server01
Invoke-Command -Session $session -ScriptBlock { Get-Process }
Return
Exits a function and optionally returns a value.
S
Scope
Where a variable or function is accessible: local, script, or global.
Script Block
Code enclosed in curly braces {}.
Splatting
Passing parameters as a hash table for readability.
String
Text data enclosed in quotes.
Switch Statement
Checks one value against multiple possible matches.
Switch Parameter
A parameter that acts like an on/off flag (no value needed).
T
Ternary Operator
Short if/else syntax (PowerShell 7+).
Try-Catch-Finally
Error handling structure.
try {
Get-Content "C:\file.txt"
} catch {
Write-Error "File not found"
} finally {
Write-Output "Done"
}
Type
The kind of data: [string], [int], [bool], [array], etc.
V
ValidateSet
Restricts a parameter to specific allowed values.
Variable
A named container that stores data. Always starts with $.
Verb
The first part of a cmdlet name (describes the action).
Verbose
Detailed output showing what a command is doing.
W
WhatIf
Shows what would happen without actually doing it.
Where-Object
Filters objects based on conditions.
While Loop
Repeats code while a condition is true.
Wildcard
Pattern matching using * and ?.
Get-ChildItem "*.txt" # All .txt files
Get-Process -Name "power*" # All processes starting with "power"
WMI (Windows Management Instrumentation)
Legacy system for accessing Windows management data.
Get-WmiObject -Class Win32_OperatingSystem
# Note: CIM cmdlets are preferred over WMI in modern PowerShell
X, Y, Z
XML
Structured data format that PowerShell can read and manipulate.
Symbols
$ (Dollar Sign)
Prefix for all variables.
$_ (Dollar Underscore)
The current object in a pipeline. Same as $PSItem.
@ (At Sign)
- Array:
@(1, 2, 3) - Hash table:
@{Key="Value"} - Splatting:
@params - Here-string:
@" text "@
- (Hyphen/Dash)
- Parameter prefix:
-Name,-Path - Comparison operators:
-eq,-ne,-gt - Logical operators:
-and,-or,-not
| (Pipe)
Sends output from one command as input to another.
{ } (Curly Braces)
Encloses code blocks and script blocks.
[ ] (Square Brackets)
- Array indexing:
$array[0] - Type casting:
[int]$number - Wildcard ranges:
[a-z]
( ) (Parentheses)
- Groups expressions
- Calls methods:
$text.ToUpper() - Subexpressions:
"Result: $($a + $b)"
.. (Range Operator)
Creates a sequence of numbers.
:: (Double Colon)
Accesses static methods and properties of .NET classes.
Quick Reference: Common Cmdlets
| Cmdlet | What It Does |
|---|---|
Get-Command | Lists all available commands |
Get-Help | Shows help for a command |
Get-Member | Shows properties and methods of objects |
Get-ChildItem | Lists files and folders |
Get-Content | Reads file content |
Set-Content | Writes content to a file |
Get-Process | Lists running processes |
Get-Service | Lists Windows services |
Where-Object | Filters objects |
ForEach-Object | Processes each object |
Select-Object | Selects properties or items |
Sort-Object | Sorts objects |
Measure-Object | Calculates statistics |
Group-Object | Groups objects |
Export-Csv | Exports data to CSV |
Import-Csv | Imports data from CSV |
Quick Reference: Common Operators
| Operator | Meaning | Example |
|---|---|---|
-eq | Equal to | 5 -eq 5 → $true |
-ne | Not equal to | 5 -ne 3 → $true |
-gt | Greater than | 10 -gt 5 → $true |
-lt | Less than | 3 -lt 5 → $true |
-ge | Greater than or equal | 5 -ge 5 → $true |
-le | Less than or equal | 3 -le 5 → $true |
-like | Wildcard match | "test" -like "t*" → $true |
-match | Regex match | "abc123" -match "\d" → $true |
-contains | Array contains value | @(1,2,3) -contains 2 → $true |
-in | Value in array | 2 -in @(1,2,3) → $true |
-and | Logical AND | ($true) -and ($true) → $true |
-or | Logical OR | ($true) -or ($false) → $true |
-not | Logical NOT | -not ($false) → $true |
Related Topics
- PowerShell Basics - Introduction to PowerShell fundamentals
- Variables & Data Types - Working with different types of data
- Cmdlets Introduction - Understanding PowerShell commands
- The Pipeline - How objects flow between commands
- Understanding Objects & The Pipeline - Deep dive into objects