Tool.Yun
Handige tools voor ontwikkelaars
Achtergrond van de afbeelding verwijderen
Afbeelding EXIF/Metadata/GPS/JPEG Kwaliteitslezer
Afbeelding bijsnijden
Afbeelding naar SVG (potrace)
Afbeelding vergelijken
Afbeeldingsformaat wijzigen
Afbeeldingskleuromvormer
Camera recorder
Converter voor afbeeldingsformaten
EXIF verwijderen
GIF naar MP4
HEIC-converter
ICO/PNG-converter
OCR-afbeelding en PDF
SVG-voorbeeldweergave
Watermerk
Base64 Hex-array-encoder/-decoder
Base64 bestandconversie
Base64 string encoder/decoder
Basis converter
Converter voor veel eenheden
Csv naar gegevens
Dataopslageenheid converter
E-mailnormalisator
Eigenschappen converter
Energieverbruik- en kostencomputer
Env-variabelen formaatconverter
Excel naar gegevens
Omrekenaar van geografische coördinaten
Romeins cijfer omzetten
Tekst naar UTF-8 binair
Tekst naar Unicode
Torrent naar Magneet
ULID-generator
Unicode-tekens naar Java-entiteiten converter
dBm mW-converter
AGE Cryptografie
Ansible kluis crypt decoderen
Argon2 Hasher
Bcrypt
Bech32 Encoder/Decoder
Bestand Hasher
CRC-calculator
Certificaat-/sleutelparser
ECDSA-sleutelpaargenerator
Ed25519 sleutelpaargenerator
HMAC generator
Hash-tekst
JWT-generator
JWT-parser
Jasypt String Encryption
MVO-generator
Niceware Bytes naar wachtwoordzin
PGP-bestandsversleuteling
PGP-encryptie
PGP-sleutelgenerator
Paseto/PASERK Lokaal
Paseto/PASERK Publiek/Privé
RSA-encryptie
RSA-sleutelpaar generator
RSA/DSA/ECDSA-ondertekenaar en verificateur
SAML-parser
SSL-certificaatconverter
Shamirs geheime delen
Versleutel / ontsleutel tekst
X509-certificaatgenerator
BMI-calculator
BTW-nummervalidator
Compatibiliteit van softwarelicenties
Creditcardcontrole
IBAN validator en parser
IES-verlichtingsrichtlijnen
ISBN-validator en -parser
ISO 3166 Landcodezoeker
ISO 639-zoeker
Kalenderomzetter
Leg het shellcommando uit
Looptempo calculator
Luhn Validator
Online woordenboek
RMB Hoofdletterconverter
SLA-calculator
Telefoon parser en formatter
Unicode-zoekopdracht
Valutacalculator
Aftellen
Chronometer
Cron/Weekdag Alarm
Dagencalculator
Datum+Duurcalculator
Datum/tijd-converter
Duurcalculator
ETA calculator
ICAL-bestandsparser
ICAL-generator
TTL-calculator
Tijdalarm
Tijdzone-omzetter
Weeknummers converter
Welke dag?
iCal-fusie
Docker Compose Validator
Docker Compose naar .env-bestand
Docker Compose naar Docker run converter
Docker Compose naar Quadlets
Docker Compose-formaatconverter
Docker Pangolin-labels
Docker compose naar Kubernetes
Docker inspecteren om Docker uit te voeren
Docker run naar Docker compose converter
Docker run naar Kubernetes
Docker-image-downloader
Docker-run naar Quadlets
Dockerfile Label Generator
Kubernetes RBAC-generator
Traefik Docker Compose Maker
Amortisatiecalculator
ActiveDirectory LDAP-eigenschappenzoeker
Bestandstypedetector
Bounce e-mailparser
Converter voor drijvende-kommagetallen
Cookies-parser
DMARC-rapportanalysator
DNS-propagatietester
DNS-tester
Dode pixeltester
E-mailparser
EMV TLV-decoder
ETH-transactiedecoder
GZip/Deflate-converter
Gevoelige gegevensmasker
HTTPS-tester
Hex-encoder/decoder
Keycode-informatie
Korte URL's Expander
MIME-coderingsconverter
Midden-Endiaanse converter
MongoDB ObjectId-converter
Nmap Command Builder
Outlook MSG-parser
Outlook Safelink-decoder
Parketbestandenlezer
RJ45 Cat6 bedradingsspiekbrief
SMART Raw Converter
Seriële poortconsole
Sharepoint Share URL Decoder
Sneeuwvlok-ID-extractor
TCPDump-generator
Tekstcharsetdetector/-decoder
URL parser
URL-builder
Weerstandscalculator
键盘测试器
Dobbelsteenroller
Kaartkiezer
Muntengooier
Rad van fortuin
BIP39 wachtwoordgenerator
Diceware wachtwoordgenerator
Generator voor willekeurige getallen
NanoIDs-generator
Numeroniem generator
OTP-codegenerator
Pincodegenerator
Token generator
UUID-converter
UUID-generator
Wachtwoordzingenerator
Berichtenpakket naar JSON
CSV naar JSON
JS naar JSON-converter
JSON naar .env
JSON naar C#
JSON naar CSV
JSON naar JS-converter
JSON naar Java Entiteit
JSON naar MessagePack
JSON naar TOML
JSON naar TS
JSON naar XML
JSON naar YAML converter
JSON naar gegevens
JSON om bezwaar te maken
JSON om te gaan
JSON opmaken en formatteren
JSON verkleinen
JSON-afvlakker/ontvlakker
JSON-diff
JSON-editor
JSON-fusie
JSON-linter
JSON-sorteermaster
Jq/JSONPath-tester
Json Escaper/Unescaper
Json naar PHP-Array
Json naar PHP-code
Json naar Python
Json naar SQL DDL
Json naar schema
Json-grootte-analysator
Json-query
Json-stringconverter
ObjGen naar JSON
PHP-Array naar JSON
tools.json-patch.name
Epub naar Markdown
HTML naar markdown
Markdown Lorem Ipsum
Markdown naar DOCX
Markdown naar HTML
Markdown naar data
Markdown naar tekst
Markdown-editor
Markdown-inhoudsopgavegenerator
Markdown-tabelgenerator
Markdown-tabelprettiger
Markdown-verschil
Markdown-voorbeeld
Plakken als Markdown
tools.markdown-format-converter.name
Beeldverhoudingcalculator
Benchmark-builder
Geo-afstandscalculator
Percentage calculator
Acceleratieomvormer
Drukeenheden converter
Energie-eenheden converter
Fitnesscomputer
Frequentieomzetter
Hoekeenheden converter
Kracht-eenheden converter
Lengte-eenheden converter
Massa-eenheden converter
Oppervlakte-eenheden converter
SI-voorvoegselomzetter
Snelheidsomzetter
Temperatuurconverter
Verlichtingssterkteconverter
Vermogenomvormer
Voedsel-energieomzetter
Volume-eenheden converter
Volumestroomomzetter
ARPA-decoder
Apache LogRotate Generator
BIMI DNS-generator
Basis-auth generator
Calculator voor het uitsluiten van IP-subnetten
Chmod calculator
Cloudflare DNS/RDAP-query's
Crontab generator
Curl Command Generator
DKIM DNS-generator
DMARC DNS-generator
DNS-query's
DNSBL-controleur
FStab-generator
Gegevensoverdrachtssnelheidcalculator
Gehele getallen naar IPv4/IPv6
Generator voor afsluitopdrachten
HAS-ontsmettingsmiddel
HDD-calculator
HTAccess-generator
Htpasswd/htaccess-generator
IP-geografische locatie
IPv4 subnetcalculator
IPv4-6/IPRange/CIDR in IP-bereik/CIDR/IP-masker
IPv4-adresconverter
IPv4-bereik uitbreider
IPv4-subnetlister
IPv4/6-bereik naar CIDR(s)-calculator
IPv6 ULA-generator
IPv6-adresconverter
IPv6-subnetcalculator
Iptables-generator
Ipv4/6 CIDR naar IP-bereikcalculator
MAC-adres generator
MAC-adres opzoeken
MAC-adresconverter
Microfoontester
Mijn IP-adres
Multilink-downloader
Nginx-formatter
Optie43 generator
PTR DNS-generator
Ping
Poortnummers
Punycode-converter
RAID-betrouwbaarheidscalculator
RAID-calculator
Rsync-generator
SIP-autorisatie
SPF DNS-generator
Shell-opdrachten formatteren
Shell-opdrachten linearisator
TCP/UDP-poorttester
UFW-commandogenerator
Visuele subnetcalculator
WPA PSK-generator
Wachtwoord sterkte-analyse
Websocket-testen
Whois-controle
Willekeurige poortgenerator
Wireguard-configuratiegenerator
X-VR-SpamCause Decoder
ZPOOL RAID-calculator
ZPool Spiekbriefje
Zxcvbn Wachtwoordsterkte
firewalld opdrachtregelgenerator
tools.restic-command-generator.name
tools.url-redirection-checker.name
ANSI Escape Tester
API-tests
Bestandssplitter
CSS/JS Opmaak & Minimalisatie
Cli-opdracht-editor
Code/Scripts Markeerstift
Database tabelgenerator
Database-creatiebuilder
Databaseverbindingsreeksbouwer
Django Secret Generator
Favicon-generator
Gegevensvervalser
GitIgnore-generator
Gitattributengenerator
HEX-bestandsconverter
Javascript Obfuscator
Javascript Prettifier
Javascript Unobfuscator/Unpacker
Json naar Protobuf
Json naar SQL INSERT
Json naar Typescript
K6 Load Testing Script Generator
Krulconverter
Mailto-generator
Offerte Converter
Open graph meta generator
Picomatch-tester
Pomodoro-timer
SQL opmaken en formatteren
SQL-minifier
SQL-parametergenerator
Stacktrace mooier
String Escaper
Swagger UI-tester
HTML naar PDF
PDF decoderen en ontgrendelen
PDF versleutelen
PDF-compressor
PDF-handtekening checker
PDF-pagina-extractor
PDF-tekstextractor
Pdf Lineariseren/FastWeb
Pdf-concatener
Algemene Regex-spiekbrief
Bash Spiekbriefje
CSS-selectors-spiekbriefje
Docker Compose-spiekbriefje
Docker SWARM-spiekbriefje
Docker-spiekbriefje
Dockerfile-spiekbriefje
Git Semantische Commit Spiekbriefje
Git cheatsheet
JSONPath-syntaxis-spiekbriefje
Jq Spiekbriefje
K8s Spiekbriefje
Markdown-spiekbriefje
Nano Spiekbriefje
Nginx Spiekbriefje
PowerShell-spiekbrief
Regex-spiekbriefje
Sed-spiekbriefje
Spiekbrief voor Zellij-commando's
Spiekbriefje voor Tmux-opdrachten
Spiekbriefje voor schermopdrachten
VIM-spiekbriefje
XPath-syntaxis-spiekbriefje
chmod Commando Spiekbriefje
Cron-expressiebouwer
Barcodegenerator
Barcodelezer
GTIN-validator
QR-code generator
QR-codedecoder
QR-contactgegevensgenerator
WiFi QR-code generator
tools.epc-qrcode-generator.name
TOML Linter
TOML naar JSON
TOML naar YAML
AI Prompt Splitter
ASCII-kunsttekstgenerator
Afbeelding naar ASCII Art
Bestanden inpakken voor AI
Citatiegenerator
Dubbele regelszoeker
Emoji keuze
GPT-token-encoder/-decoder
GPT-tokenschatter
Hoofdletter-omzetter
I en L-controleur
JSON naar TOON
Lettertype vergelijken
Levenshtein-rekenmachine
Lijstconverter
Lijsten vergelijken
Lorem ipsum generator
Mapstructuurdiagram
Morsecode-omzetter
RSVP-lezer
Regex-tester
Rune-converter
Sed Command-generator
Slimme tekstvervanger en regelafbreking
Sociale linkdeler
String obfuscator
TOON naar JSON
Tab naar Spaces
Tekst naar NAVO-alfabet
Tekst naar Unicode-namen
Tekst uit HTML halen
Tekst-diff
Tekststatistieken
Tekstvertaler
Toetsenbordindeling converter
Unicode naar GSM-7
Unicode-formatter
Verschillende woorden
Willekeurige regelkiezer
Zalgo Generator/Banner
Zeemeermin exporteur
Afbeelding naar CSS
Apparaat-informatie
CSS XPath-converter
CSS-eenhedenconverter
CSS-verloopgenerator
Css-prettiger
HTML WYSIWYG-editor
HTML naar XHTML
HTML naar data
HTML-entiteiten
HTML-minifier
HTML-prettiger
HTML-reiniger
HTTP-statuscodes
Kleurcontrastcontrole
Kleurconverter
Kleurenwiel
MIME-types
REM Pixelconverter
SVG placeholder generator
Slugify string
URL-catcher
URL-encoder
URL-reiniger
UTM-URL-generator
Url Tekst Zoeken Fragment Maker
User-agent parser
Binaire rekenmachine
Converter voor wiskundige formaten
Fooiencalculator
Trigonometrische/vergelijkingscurve-visualisator
Wiskunde evaluator
Wiskundige OCR
ObjGen naar HTML
XML formatter
XML naar JSON
XML-linter
XPath-tester
XSLT-tester
YAML naar JSON converter
YAML naar TOML
YAML opmaken en formatteren
YAML-afvlakker/ontvlakker
YAML-fusie

PowerShell-spiekbrief

PowerShell is een krachtige scripttaal en opdrachtregelinterface, ontworpen voor systeembeheer en automatisering. Het biedt een breed scala aan cmdlets en functies waarmee gebruikers taken op Windows-systemen efficiënt kunnen beheren en automatiseren.

PowerShell is a shell and scripting language built on .NET. Unlike POSIX shells it passes objects down the pipeline rather than text, so Get-Process | Sort-Object CPU sorts real numbers instead of parsing columns.

ℹ️ PowerShell 7+ (pwsh) is cross-platform and current; Windows PowerShell 5.1 (powershell.exe) ships with Windows and is in maintenance. Check with $PSVersionTable.

🔎 Finding Your Way

# what commands exist for a noun?
Get-Command *service*
Get-Command -Module Microsoft.PowerShell.Management

# help, with the part everyone actually wants
Get-Help Get-ChildItem -Examples
Get-Help Get-ChildItem -Full
Update-Help

# what properties and methods does this object have?
Get-Process | Get-Member

# what did that command actually return?
Get-Process | Select-Object -First 1 | Format-List *

📦 Variables

SyntaxDescription
$var = "string"Assign a variable
[int]$var = 5Strongly typed variable
[ValidateRange(1,9)][int]$x=1Typed and constrained
$a, $b = 'a', 'b'Assign several at once
$a, $b = $b, $aSwap two values
$global:var = "v"Scope: global, script, local, private
${my var}A name containing spaces or punctuation
$env:PATHAn environment variable
Remove-Variable xDelete a variable

📚 Arrays

SyntaxDescription
"a","b","c"Array of strings
@()Empty array
,"hi"Array of exactly one element
1,(2,3),4Nested array
$arr[5]Sixth element (0-based)
$arr[2..20]A range of elements
$arr[-1]The last element
$arr[-3..-1]The last three
$arr[1,4+6..9]Positions 1, 4 and 6–9
$arr[($arr.length-1)..0]Reversed
@(Get-Process)Force a single result into an array
$z = $arrA + $arrBConcatenate
$list = [System.Collections.Generic.List[int]]::new()A growable list — much faster than += in a loop

🗂 Hash Tables

SyntaxDescription
$hash = @{}Empty hash table
@{foo=1; bar='two'}Initialise with values
[ordered]@{a=1; b=2}Keeps insertion order
$hash.key1 / $hash["key1"]Read a value
$hash.key1 = 1Write a value
$hash.Remove("key1")Delete a key
$hash.ContainsKey("key1")Test for a key
$hash.GetEnumerator() | Sort-Object KeyIterate in key order
[pscustomobject]@{x=1; z="z"}Turn a hash into an object

🔤 Strings

SyntaxDescription
"$var expands"Double quotes interpolate
'$var does not'Single quotes are literal
"Total: $($items.Count)"$( ) evaluates an expression inside a string
"{0} of {1}" -f $a, $bThe format operator
"col1`tcol2`n"`t tab, `n newline, ` escapes
@"…"@ / @'…'@Here-string, expanding / literal
"abc".ToUpper().NET methods work on strings
$s -split ',' / $a -join ','Split and join
$s.Trim() / .PadLeft(5)Trim and pad
$s -replace 'a','b'Regex replace

💬 Comments & Escaping

# a single-line comment

<#
  a block comment, also used for help text
#>

# the backtick is the escape character
Write-Output "He said `"hi`""
Write-Output "line one`nline two"

# and the line-continuation character
Get-ChildItem -Path C:\ `
              -Recurse `
              -Filter *.log

📁 Files & Paths

CommandDoes
Get-Location (pwd)Current directory
Set-Location (cd)Change directory
Get-ChildItem (ls, dir)List a directory
Get-Content (cat)Read a file
Set-Content / Add-ContentOverwrite / append
Out-File / Out-Null / Out-StringWrite to a file / discard / stringify
New-Item -ItemType DirectoryCreate a file or folder
Copy-Item / Move-Item / Rename-Item / Remove-ItemCopy, move, rename, delete
Test-PathDoes it exist?
Split-Path -ParentThe directory part of a path
Join-Path a bBuild a path portably
Resolve-PathExpand to a full path
Get-FileHash file.zipChecksum a file
# read a large file line by line without loading it all
Get-Content big.log -ReadCount 1000 | ForEach-Object { $_ }

# tail -f
Get-Content app.log -Wait -Tail 20

# every .log modified in the last day
Get-ChildItem C:\logs -Recurse -Filter *.log |
  Where-Object LastWriteTime -gt (Get-Date).AddDays(-1)

🔀 Flow Control

if ($x -eq 5) { "five" } elseif ($x -gt 5) { "more" } else { "less" }

while ($x -lt 10) { $x; $x++ }

do { $x++ } while ($x -lt 10)

for ($i = 0; $i -lt 10; $i++) { $i }

foreach ($file in Get-ChildItem C:\) { $file.Name }

1..10 | ForEach-Object { $_ * 2 }

# parallel, PowerShell 7+
1..10 | ForEach-Object -Parallel { Start-Sleep 1; $_ } -ThrottleLimit 5

switch ($value) {
  'a'       { 'letter a'; break }
  { $_ -gt 10 } { 'big' }
  default   { 'something else' }
}

⚖️ Operators

OperatorMeaning
= += -= *= /= %= ++ --Assignment
-eq / -neEqual / not equal
-gt -ge -lt -leNumeric comparison
-and -or -xor -not !Logical
-like / -notlikeWildcard match (*, ?)
-match / -notmatchRegex match — fills $Matches
-replace 'a','b'Regex replace
-contains / -inArray membership, either way round
-split / -joinSplit a string / join an array
-is / -isnot / -asType test and conversion
-fFormat a string
..Range
$( ) / @( )Sub-expression / array sub-expression
& / .Invoke a command / dot-source a script
?? / ??=Null-coalescing (PowerShell 7+)
?. / ?[ ]Null-conditional access (PowerShell 7+)

⚠️ Comparisons are case-insensitive by default. Use -ceq, -clike, -cmatch when case matters.

🧱 Objects & the Pipeline

# properties and methods
(Get-Date).Date
(Get-Date).AddDays(-7)
"string".ToUpper()

# static members
[DateTime]::Now
[Math]::Round(3.14159, 2)
[System.Net.Dns]::GetHostByAddress("127.0.0.1")

# build your own objects
[pscustomobject]@{ Name = 'web01'; Status = 'up' }

# add a calculated property
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { [math]::Round($_.WorkingSet / 1MB, 1) } }

🔍 Filter, Sort, Group, Format

ExampleDoes
Get-Process | Where-Object CPU -gt 100Filter (simple syntax)
Get-Process | Where-Object { $_.Name -like "chrome*" }Filter (script block)
Get-Process | Sort-Object WorkingSet -DescendingSort
Get-Process | Select-Object -First 5Take the first few
"a","b","a" | Select-Object -UniqueDeduplicate
Get-Service | Group-Object StatusGroup
Get-Process | Measure-Object WorkingSet -Sum -AverageAggregate
Get-Process | Select-Object -ExpandProperty ModulesFlatten a nested property
Get-Process | Format-Table Name, Id -AutoSizeTable output
Get-Item C:\ | Format-List *Every property
Get-Content log.txt | Select-String "error"grep
Compare-Object $a $bDiff two collections

💡 Format-* is always the last step — its output is display text, not objects, so nothing downstream can filter it.

🧰 Functions & Scripts

function Get-Square {
  param(
    [Parameter(Mandatory)][int]$Number,
    [switch]$Verbose
  )
  $Number * $Number
}

Get-Square -Number 7

# an advanced function: pipeline input, -WhatIf, -Verbose for free
function Remove-OldLog {
  [CmdletBinding(SupportsShouldProcess)]
  param(
    [Parameter(ValueFromPipeline)][string]$Path,
    [int]$Days = 30
  )
  process {
    if ($PSCmdlet.ShouldProcess($Path, "delete")) {
      Remove-Item $Path
    }
  }
}

🚨 Error Handling

try {
  Get-Content missing.txt -ErrorAction Stop
}
catch [System.IO.FileNotFoundException] {
  Write-Warning "no such file"
}
catch {
  Write-Error "unexpected: $($_.Exception.Message)"
}
finally {
  "always runs"
}

# make non-terminating errors terminate, so catch can see them
Get-Item missing -ErrorAction Stop

# per-session default
$ErrorActionPreference = 'Stop'

# the most recent error, and the exit code of the last native command
$Error[0]
$LASTEXITCODE
$?

🌐 Web & Data

# REST calls, parsed into objects
$data = Invoke-RestMethod https://api.github.com/repos/vuejs/core
$data.stargazers_count

# with headers and a JSON body
Invoke-RestMethod -Uri $url -Method Post `
  -Headers @{ Authorization = "Bearer $token" } `
  -ContentType 'application/json' `
  -Body (@{ name = 'demo' } | ConvertTo-Json)

# the raw response, for scraping or downloads
Invoke-WebRequest $url -OutFile page.html

# convert between formats
Get-Process | Select-Object Name, Id | ConvertTo-Json
Get-Content data.json | ConvertFrom-Json
Import-Csv users.csv | Where-Object Dept -eq 'IT' | Export-Csv it.csv -NoTypeInformation
Export-Clixml / Import-Clixml   # round-trips real objects

🖥 System Administration

# processes
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Stop-Process -Name notepad -Force

# services
Get-Service | Where-Object Status -eq 'Running'
Restart-Service -Name Spooler
Set-Service -Name Spooler -StartupType Manual

# background jobs
$job = Start-Job { Start-Sleep 10; "done" }
Receive-Job $job -Wait

# scheduled tasks, event logs, system info
Get-ScheduledTask
Get-WinEvent -LogName System -MaxEvents 20
Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID, FreeSpace
Test-Connection example.com -Count 2

🔗 Remoting

# one command on many machines
Invoke-Command -ComputerName web01, web02 -ScriptBlock { Get-Service Spooler }

# an interactive session
Enter-PSSession -ComputerName web01
Exit-PSSession

# a reusable session
$s = New-PSSession -ComputerName web01 -Credential (Get-Credential)
Invoke-Command -Session $s { hostname }
Remove-PSSession $s

📦 Modules & Execution Policy

# find, install, load
Find-Module Pester
Install-Module Pester -Scope CurrentUser
Import-Module Pester
Get-Module -ListAvailable

# where does PowerShell look for modules?
$env:PSModulePath -split [IO.Path]::PathSeparator

# scripts refuse to run? check and relax the policy
Get-ExecutionPolicy -List
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# your profile script
notepad $PROFILE

🧾 Automatic Variables

VariableHolds
$_ / $PSItemThe current pipeline object
$ArgsUnbound arguments to a script or function
$ErrorThe error history, newest first
$MatchesCapture groups from the last -match
$PSVersionTableVersion and edition information
$PWD / $HOMECurrent directory / home directory
$PSScriptRootThe folder the running script lives in
$LASTEXITCODEExit code of the last native command
$?Did the last command succeed?
$true $false $nullConstants
$PROFILEPath to your profile script

💾 PSDrives

DriveContents
Env:Environment variables
Alias:Command aliases
Function:Defined functions
Variable:Variables
Cert:Certificate stores
HKLM: / HKCU:The registry
WSMan:WinRM configuration
Set-Location HKLM:\SOFTWARE
Get-ChildItem Env: | Sort-Object Name
Get-ChildItem Variable:

⌨️ Aliases Worth Knowing

AliasReal commandAliasReal command
ls, dir, gciGet-ChildItem%ForEach-Object
cat, gcGet-Content?Where-Object
cd, slSet-LocationselectSelect-Object
cp, copyCopy-ItemsortSort-Object
rm, delRemove-Itemft / flFormat-Table / Format-List
ps, gpsGet-ProcessslsSelect-String
killStop-ProcessgmGet-Member

⚠️ Aliases are for the console, not for scripts — write the full cmdlet name in anything you commit.

🔣 Regular Expressions

PatternMatches
\w / \WWord character / non-word
\s / \SWhitespace / non-whitespace
\d / \DDigit / non-digit
{n} {n,} {n,m}Quantifiers
^ / $Start / end of the string
(?<name>…)Named capture group
# -match fills $Matches
if ("build-1234" -match '(?<name>\w+)-(?<id>\d+)') { $Matches.id }

# extract every match from a file
Select-String -Path app.log -Pattern '\b\d{1,3}(\.\d{1,3}){3}\b' -AllMatches |
  ForEach-Object { $_.Matches.Value } | Sort-Object -Unique

PowerShell uses the .NET regex engine — see .NET regular expressions.

📚 Resources

  • PowerShell documentation
  • Cmdlet reference
  • PowerShell Gallery
  • Style guide (community)