PowerShell Automation Scripts

SysAdmin toolkit for diagnostics, monitoring and automation

01 Full System Inventory


Get-ComputerInfo -Property "Windows*", "Os*"

Displays OS version, build number, BIOS and system metadata.

02 Advanced Storage Metrics


Get-PSDrive -PSProvider FileSystem |
Select-Object Name, @{n='Used(GB)';e={($_.Used/1GB).ToString('F2')}}

03 Active Service Monitor


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

04 Stale Account Discovery


Search-ADAccount -AccountInactive -TimeSpan ([TimeSpan]::FromDays(90)) |
Where-Object {$_.Enabled -eq $true} |
Export-Csv "C:\Audit\StaleUsers.csv"

05 Log Rotation Cleanup


Get-ChildItem "C:\inetpub\logs\LogFiles" -Recurse |
Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} |
Remove-Item -Force

06 Remote Port Probe


Test-NetConnection -ComputerName "SRV-SQL-01" -Port 1433

07 Top CPU Processes


Get-Process |
Sort-Object CPU -Descending |
Select-Object -First 10

08 Event Log Error Scan


Get-EventLog -LogName System -EntryType Error -Newest 20

09 Network Adapter Health


Get-NetAdapter |
Where-Object {$_.Status -eq "Up"}

10 Windows Update Status


Get-HotFix |
Sort-Object InstalledOn -Descending

11 Memory Usage Overview


Get-CimInstance Win32_OperatingSystem |
Select TotalVisibleMemorySize, FreePhysicalMemory

12 Bulk Ping Scanner


1..50 | ForEach-Object {
Test-Connection "192.168.1.$_" -Count 1 -Quiet
}