411 REFERENCE · Wikibooks
PowerShell
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
150px|right
This books is to cover using PowerShell, a .NET-based object-oriented command shell designed to replace batch scripting, Visual Basic Script and other scripting technologies on Windows. Later PowerShell versions are also available on Linux.
PowerShell is a modern Windows scripting technology based on .NET that features a full-blown programming language with access to .NET classes and with pipelines that are based on objects rather than character streams. It is a successor to scripting via cmd.exe and VBScript in Windows Script Host.
Availability
PowerShell 2.0 is part of Windows 7 and Windows Server 2008 R2.
PowerShell 5.1 was released along with the Windows 10 Anniversary Update.
PowerShell 7.5.4 is the most recent version, as of December 2025.
You can try PowerShell online in Tio (Try it online), in Linux environment.
Links:
Installing Windows PowerShell, docs.microsoft.com
Install PowerShell on Linux, docs.microsoft.com
Tio PowerShell, tio.run
Getting started
To get started, you can learn about the list of available cmdlets and their aliases, and learn about how to get help on them. Press Windows + R, enter "powershell", and the PowerShell console starts, into which you can then enter the oneliner examples below.
Examples for on getting help:
help
Outputs a help about the help system.
help *
Outputs list of items: aliases, cmdlets, help topics and other help items.
help d
Outputs list of aliases, cmdlets and help topics that start with d or that contain a word starting with d.
help d*
Outputs list of aliases, cmdlets and help topics that start with d.
help dir
Outputs help on the cmdlet that has alias "dir".
help dir -full
Outputs full help on the cmdlet that has alias dir.
help Get-ChildItem
Outputs help on the cmdlet.
help about
Outputs list of topics for help, that is, help items that start with "about".
help about_Arithmetic_Operators
Outputs help about the topic of arithmetic operators.
help about*Ari*
Outputs list of help topics that contain Ari as a substring.
help *Arith*
Outputs help about the topic of arithmetic operators as long as it is the only help item matching the pattern.
More examples:
$HOME
Outputs the value of variable HOME.
Variable
Outputs the variables.
gci env:os
Outputs the environment variable os, which is not among the variables per default.
$PSVersionTable.PSVersion
Outputs PowerShell version.
"Hello".GetType()
Outputs the type of the value. Keywords: typeof. GetType() is a method of the string object. Enables reflection.
(7).GetType(); 1.7.GetType(); (1, 2).GetType(); @{"Key" = "Value"}.GetType()
Outputs more types of .
"Hello".gettype()
Function names are case-insensitive, just like cmdlet names.
Get-ChildItem | Where {! $_.PSIsContainer} | Sort-Object -Property Length -Descending | Select-Object -Property Length,Name
Outputs files in the current folder sorted by size in descending order, outputting file length and file name only. Is an example of an object pipeline successively modifying the stream of object. Note that Select-Object -Property Length,Name does not actually select objects but rather constructs new objects that have only the selected properties from the original objects.
Get-ChildItem | Get-Member
Outputs object members including properties and methods. Enables reflection.
4, 1.5 | Get-Member
Outputs object members for the objects types in the list, System.Int32 and System.Double.
[uint32]4 |Get-Member
Casts the integer literal to UInt32 type before getting the object members.
(Get-Content MyFile.txt).Length
Outputs the line count of a file. Search terms: "wc -l", the Unix analogue. An abbreviation is "(gc _test.txt).Length".
Get-Content myfile.txt | Measure-Object -Word
Outputs the word count of a file.
Links:
Learn X in Y minutes Where X=powershell, learnxinyminutes.com
Online documentation
Online PowerShell documentation is available on a per-version basis.
Links:
Microsoft.PowerShell.Core reference, docs.microsoft.com
Microsoft.PowerShell.Core reference for PowerShell 7.2, docs.microsoft.com
Microsoft.PowerShell.Core reference for PowerShell 7.1, docs.microsoft.com
Microsoft.PowerShell.Core reference for PowerShell 5.1, docs.microsoft.com
Microsoft.PowerShell.Core reference for PowerShell 5.0, docs.microsoft.com
Microsoft.PowerShell.Core reference for PowerShell 3.0, docs.microsoft.com
Version
Finding the version of PowerShell engine:
$PSVersionTable
Links:
PowerTip: Check Version of PowerShell, devblogs.microsoft.com
Arithmetic
PowerShell supports arithmetic based on what .NET supports.
Examples:
(1 + 2) * 3
A simple integer calculation.
(1 + 2) * 3 / 7
Floating point results are supported.
$a = 3/2; $a + 1
Intermediate results can be stored in a variable.
[Math]::Pow(2, 100); [bigint]::Pow(2, 100)
Exponentiation is available via Math and bigint; Math turns to floats for large numbers. Other usual floating-point functions are available, such as Sin, Cos, Sqrt, etc.
0xFE -band -bnot 0xF
Bitwise arithmetic is supported. Further operators are -bor, -bxor, -shl and -shr.
Links
about_Arithmetic_Operators, docs.microsoft.com
Get-Alias
Outputs current aliases. Alias: gal.
Examples:
gal
Lists all aliases.
gal g*
Lists all aliases that start with g.
Links:
Get-Alias, docs.microsoft.com
Get-Help
Outputs help on a help item such as a cmdlet or topic. Its alias is help. Help for items can be downloaded using Update-Help cmdlet.
Examples:
Get-Help
Outputs a help about the help system.
Get-Help *
Outputs list of items: aliases, cmdlets, help topics and other help items.
Get-Help Get-ChildItem
Gets help on Get-ChildItem cmdlet.
Get-Help Get-ChildItem -full
help dir -full
As above, but relies on help being an alias for Get-Help and dir being an alias for Get-ChildItem.
help *
Outputs list of alisases, cmdlets, help topics and other help items.
help d
Outputs list of alisases, cmdlets and help topics that start with d or that contain a word starting with d.
help dir
Outputs help on the cmdlet that has alias "dir".
help dir -full
Outputs full help on the cmdlet that has alias dir.
help Get-ChildItem
Outputs help on the cmdlet.
help about
Outputs list of topics for help.
help about_Arithmetic_Operators
Outputs help about the topic of arithmetic operators.
help about*Ari*
Outputs list of help topics that contain Ari as a substring.
help *Arith*
Outputs help about the topic of arithmetic operators as long as it is the only help item matching the pattern.
Links:
Get-Help, msdn.microsoft.com
Get-Help, ss64.com
Select-String
Finds string patterns in input, acting as a filter on lines; related to grep.
Examples:
"Cat", "Cat2", "Dog" | Select-String -Pattern "Cat"
Links:
Select-String, docs.microsoft.com
Select-String, ss64.com
Update-Help
Downloads a help item or a set of help items to the computer. Requires administrator privileges.
Examples:
Update-Help
Update-Help -Module Microsoft.PowerShell.Core
Links:
Update-Help, docs.microsoft.com
Update-Help, ss64.com
External links
Installing Windows PowerShell, docs.microsoft.com
PowerShell Documentation, docs.microsoft.com
Microsoft.PowerShell.Core reference, docs.microsoft.com
Windows PowerShell Survival Guide, social.technet.microsoft.com
An A-Z Index of Windows PowerShell commands, ss64.com
Windows PowerShell How-to guides and examples, ss64.com
Learn X in Y minutes Where X=powershell, learnxinyminutes.com
PowerShell, wikipedia.org
PowerShell, wikiversity.org
Powershell Cheat Sheet by James Hedges, gitlab.com
Category:PowerShell, rosettacode.org - example scripts for many tasks
Microsoft Windows Scripting languages
25%