Master These Essential PowerShell Commands

PowerShell is the IT administrator's secret weapon. These 10 one-liners will save you countless hours on common tasks.

1. Get All Active Directory Users

Get-ADUser -Filter * -Properties * | Export-Csv C:\Users.csv

Export all AD users with all properties to a CSV file for quick auditing or reporting.

2. Find Large Files on C: Drive

Get-ChildItem C:\ -Recurse -File | Where-Object {$_.Length -gt 100MB} | Sort-Object Length -Descending

Quickly identify files over 100MB to free up disk space.

3. Check Disk Space on All Servers

Get-WmiObject Win32_LogicalDisk -ComputerName (Get-Content servers.txt) | Select-Object PSComputerName,DeviceID,@{n="FreeGB";e={[math]::Round($_.FreeSpace/1GB,2)}}

Monitor disk space across multiple servers in seconds.

4. Reset User Password in Active Directory

Set-ADAccountPassword -Identity username -Reset -NewPassword (ConvertTo-SecureString "TempPass123!" -AsPlainText -Force)

Instantly reset a user's password without opening AD Users and Computers.

5. Get All Members of a Distribution Group

Get-DistributionGroupMember "GroupName" | Select-Object Name,PrimarySmtpAddress | Export-Csv members.csv

Extract all members from an Exchange distribution group for documentation.

6. Enable Mailbox for New User

Enable-Mailbox -Identity "username" -Database "Mailbox Database"

Provision mailboxes quickly during user onboarding.

7. Find Computers Not Used in 90 Days

Get-ADComputer -Filter * -Properties LastLogonDate | Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-90)}

Identify stale computer accounts for cleanup.

8. Get All Running Services

Get-Service | Where-Object {$_.Status -eq "Running"} | Sort-Object DisplayName

Quick health check of Windows services.

9. Export Event Logs

Get-EventLog -LogName System -Newest 100 | Export-Csv C:\SystemEvents.csv

Extract recent system events for troubleshooting.

10. Test Network Connectivity to Multiple Servers

Get-Content servers.txt | ForEach-Object {Test-Connection $_ -Count 1 -ErrorAction SilentlyContinue}

Ping multiple servers from a list to check connectivity.

Pro Tip

Save these commands in a PowerShell script file (.ps1) for quick access. Better yet, check out BUTTER from Icebox Software for GUI-based bulk Exchange Online management.