3 Must-Have PowerShell Scripts You Can’t Miss
Automate your Windows workflows, enrich your data, and monitor performance—all with pure PowerShell.
1. Bulk-Migrate Local User Profiles to Azure AD
Streamline your tenant onboarding with a single script that transfers local Windows profiles to Azure AD accounts—settings, permissions, and all.
# Enumerate and migrate local profiles enumerate local SIDs, create Azure AD accounts via MSGraph copy profile folder, update registry, set ACLs unload old profile, restart Explorer
2. Batch Reverse-Geocode Coordinates from CSV
Convert latitude/longitude pairs to human-readable addresses in bulk, using a free reverse-geocode API. Perfect for offline or budget workflows.
param( [string]$inputCsv = 'coords.csv', [string]$outputCsv = 'addresses.csv' ) Import-Csv $inputCsv | ForEach-Object { $lat = $_.Latitude; $lon = $_.Longitude $url = "https://geocode.maps.co/reverse?lat=$lat&lon=$lon" $resp = Invoke-RestMethod $url -ErrorAction Stop [pscustomobject]@{ Latitude = $lat Longitude = $lon Address = $resp.display_name } } | Export-Csv $outputCsv -NoTypeInformation
3. Real-Time Perf Counter HTML Dashboard
Launch a lightweight dashboard with auto-refreshing charts—no external modules required. Monitor CPU, memory, and I/O in your browser.
# Define counters $counters = '\\Processor(_Total)\\% Processor Time', \\ '\\Memory\\Available MBytes' # Sample and serve JSON $data = Get-Counter -Counter $counters -SampleInterval 2 -MaxSamples 30 | ForEach-Object { [pscustomobject]@{ Time = $_.Timestamp; Values = $_.CounterSamples } } $json = $data | ConvertTo-Json # Generate HTML with embedded Chart.js, start HttpListener on port 8080 dotnet script or native HttpListener code here...
🚀 Share This Post!
Empower your team—spread the word!
Leave a Reply