Parameters Command Line Parameters param() and $args[] Pipelines Pass objects down the pipeline. Objects Working with objects. Looping commands: Do, foreach, ForEach-Object, Switch, While Date&Time Date and Time Format patterns (DateTimeFormatInfo). Redirection Spool output to a file. Statements Looping, If-Then-Else. Tab Completion for Cmdlets, Filenames & Variables. Transactions Manage transactions.
Create Variables and assign values Basic Operators: + - / = Arrays and Hash tables. Automatic variables $_, $Args, $myinvocation etc Preference variables Verbosity, Confirmations, ErrorAction, $Debug Ref variables Pass a reference variable to a function. Environment variables $Env: & PowerShell providers.
Escape characters Delimiters, Here Strings and "quotes". Comparison -like, -lt, -gt, -eq, -ne, -match DataTypes PowerShell data types. Enums Create and use PowerShell enums. Methods ToUpper(), PadRight(), Split(), Substring(), Replace() etc. .Net Math Round(), Ceiling(), Max(), Min() Operators Format strings and arrays @( ) -f [ ] $( ) :: & Concat Several methods to combine strings together. Regular Expressions Search and/or Replace. Replace Basic Search/Replace in strings and files. Wildcards Match multiple items.
Scriptblock A collection of statements: { … } Functions and Filters Write a named block of code. Function Input Processing (Begin..Process..End) Advanced Functions Adding ValidateSet and Help, a function template to copy. Assertions Use a filter to assert certain prerequisite conditions. Modules Combine functions into a module for easy re-use.
Run a script How to run a PowerShell .ps1 script or a CMD batch file. Base36 Convert numbers to/from base 36. CD - Jump to the previous working directory. Console Size Set the PowerShell console window size. DelOlder Delete files and folders older than n days. DirUse List the size of subfolders. DisplayRes Get the display resolution of multiple computers. Check-Backups Check multiple locations for files that have changed. Get-Bandwidth List the average IO for a Network interface. Get-BankHolidaysUK Retrieve UK Bank Holidays from a web service. Get-DiskSpace List the free disk space for multiple computers. Get-OSVersion Get the OS and Service pack level of a remote machine (inventory). Get-Programs List Installed Software (Programs & Features) Get-Uptime Get the system uptime for one or more computers. Get-Windows-Key Retrieve the Windows product key. Set-KnownFolderPath Get or Set Special 'Known' Folders. Logged On Who is logged in / where is a user logged in. LastLogon Find when an account last logged in. MsgBox A function to display messages in a popup message box. Password expiry Reminder email. pshInfo List Ram, Disk Space, Service pack, Uptime. psp PowerShell Ping. ms-settings: Open Settings Set-LastWrite Reset Folder Last Modified to the most recent file in the folder. ServiceStatus List installed services and service status. set-eol Change the line endings (CR/LF) of a text file. new-shortcut Create a Shortcut with Windows PowerShell. StampMe Rename a file with the current Date/Time. Template Template for a Basic PowerShell script. Touch Change the date/time of a file/folder. Video Converter A simple GUI front end for the FFmpeg video converter (compress/resize).
Elevate Run with elevated permissions (As Admin). Comments How to comment your scripts including Comment-based help. Circular Find circular nested AD groups. Event IDs The most common Windows Event IDs. Keyboard Keyboard shortcuts. LDAP Lightweight Directory Access Protocol (LDAP) queries. Open Here Open PowerShell from any folder. PS verbs Naming convention (Technet). $Profile The PowerShell startup $Profile. Prompt Configure the PowerShell prompt. Remote Run a powershell script on a remote computer. #requires Prevent a script from running without a required element. Verbs Approved Verbs for PowerShell. OS Version How to retrieve the OS version in PowerShell. Word How to automate MS Word in PowerShell using a COM object.
See also: Websites, additional cmdlets, Utilities and Books for PowerShell.