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
}