70+ Essential Powershell Commands
File and Directory Commands
Get-ChildItem (Windows: dir) Lists files/directories.
# Basic: List files with details
Get-ChildItem -Path .
# Advanced: List .txt files recursively
Get-ChildItem -Path . -Recurse -Include *.txt | Format-Table Name, LengthSet-Location (Windows: cd) Changes directory.
# Basic: Navigate to a folder
Set-Location -Path C:\Users
# Advanced: Switch to path with spaces
Set-Location -Path "C:\Program Files (x86)"New-Item -ItemType Directory (Windows: mkdir/md) Creates a directory.
# Basic: Create a single folder
New-Item -Path Data -ItemType Directory
# Advanced: Create nested folders
New-Item -Path Parent\Child\Grandchild -ItemType Directory -ForceRemove-Item -Directory (Windows: rmdir/rd) Deletes a directory.
# Basic: Remove empty folder
Remove-Item -Path Data -Directory
# Advanced: Remove non-empty folder
Remove-Item -Path Data -Recurse -ForceRemove-Item (Windows: del) Deletes files.
Copy-Item (Windows: copy) Copies files.
Copy-Item -Recurse (Windows: xcopy) Copies directories recursively.
Move-Item (Windows: move) Moves/renames files.
Set-ItemProperty -Name Attributes (Windows: attrib) Changes file attributes.
Rename-Item (Windows: ren) Renames files/directories.
System Information Commands
Get-ComputerInfo (Windows: systeminfo) Shows system information.
$env:COMPUTERNAME (Windows: hostname) Shows computer name.
Get-CimInstance Win32_OperatingSystem (Windows: ver) Shows OS version.
Get-ChildItem Env: (Windows: set) Manages environment variables.
Get-CimInstance (Windows: wmic) Queries system details.
$env:USERNAME (Windows: whoami) Shows current user.
Get-Process (Windows: tasklist) Lists running processes.
Network Commands
Get-NetIPAddress (Windows: ipconfig) Shows network configuration.
Test-Connection (Windows: ping) Tests network connectivity.
Test-NetConnection (Windows: tracert) Tests route to a host.
Get-NetTCPConnection (Windows: netstat) Shows network connections/ports.
Resolve-DnsName (Windows: nslookup) Queries DNS.
Get-NetNeighbor (Windows: arp) Manages ARP cache.
Get-NetRoute (Windows: route) Manages routing table.
New-PSDrive (Windows: net use) Maps network drives.
Get-NetTCPConnection -State Listen (Windows: netstat -an) Shows listening connections.
Set-NetIPInterface (Windows: netsh) Configures network settings.
Disk and Drive Commands
Repair-Volume (Windows: chkdsk) Checks/repairs disk errors.
Get-Disk | New-Partition (Windows: diskpart) Manages disks/partitions.
Initialize-Disk | Format-Volume (Windows: format) Formats a drive.
Set-Volume (Windows: label) Sets volume label.
Get-Volume (Windows: vol) Shows volume info.
Optimize-Volume (Windows: fsutil) Manages filesystem properties.
Task and Process Management Commands
Stop-Process (Windows: taskkill) Terminates processes.
Investigation Context: Monitor in Defender XDR/Sentinel. KQL query:
Register-ScheduledTask (Windows: schtasks) Manages scheduled tasks.
Get-Service (Windows: sc) Controls services.
Stop-Computer (Windows: shutdown) Performs shutdown/restart.
Start-Process (Windows: start) Starts a program.
Pause (Windows: pause) Pauses script execution.
Start-Sleep (Windows: timeout) Adds delay in scripts.
User and Security Commands
New-LocalUser (Windows: net user) Manages user accounts.
Add-LocalGroupMember (Windows: net localgroup) Manages group memberships.
Start-Process -Credential (Windows: runas) Runs command as another user.
Set-Acl (Windows: cacls) Modifies file permissions.
Set-Acl (Windows: icacls) Advanced file permissions.
Lock-Computer (Windows: lock) Locks workstation.
Update-GP (Windows: gpupdate) Updates Group Policy.
Set-GPRegistryValue (Windows: secedit) Applies security settings.
Power and Shutdown Commands
Get-CimInstance Win32_Battery (Windows: powercfg) Manages power settings.
Stop-Computer -Force (Windows: shutdown /s /t 0) Immediate shutdown.
Restart-Computer -Force (Windows: shutdown /r /t 0) Immediate restart.
Logoff (Windows: shutdown /l) Logs off user.
Troubleshooting Commands
Repair-WindowsImage (Windows: sfc /scannow) Repairs system files.
Repair-WindowsImage (Windows: DISM) Repairs Windows images.
Clear-Disk (Windows: cleanmgr) Manages disk space.
Get-WinEvent (Windows: eventvwr) Views event logs.
Get-ComputerInfo (Windows: msinfo32) Shows system info.
Advanced and Miscellaneous Commands
Get-ChildItem -Recurse (Windows: tree) Displays folder structure.
Write-Output (Windows: echo) Displays messages or writes to files.
Clear-Host (Windows: cls) Clears console screen.
$host.UI.RawUI.WindowTitle (Windows: title) Sets console title.
$PSStyle (Windows: colour) Changes console colours (PowerShell 7+).
Exit (Windows: exit) Closes PowerShell session.
$PSCommandPath (Windows: prompt) Customises PowerShell prompt.
Get-Help (Windows: help) Shows command help.
Scripting and Shell Commands
If (Windows: if) Conditional logic in scripts.
ForEach-Object (Windows: for) Loops through values.
Function (Windows: goto) Defines functions for script flow.
. (dot sourcing) (Windows: call) Calls another script/function.
$script: / $local: (Windows: setlocal/endlocal) Manages variable scope.
Bonus Useful Commands
Set-Clipboard (Windows: clip) Copies to clipboard.
Select-String (Windows: find) Searches text in files.
Get-ItemProperty (Windows: assoc) Manages file associations.
Get-CimInstance Win32_PnPSignedDriver (Windows: driverquery) Lists drivers.
Show-Command explorer (Windows: taskview) Opens Task View (GUI-based).
Last updated