@@ -6,35 +6,22 @@ Designed to help troubleshoot incorrect geolocation, Wi-Fi positioning errors, o
66Features
77
88Logs latitude, longitude, accuracy, city, state, country
9-
109Detects whether location is derived from Wi-Fi or IP-based sources
11-
1210Records your current public IP address
13-
1411Scans and logs all nearby Wi-Fi SSIDs and BSSIDs
15-
1612SSIDs and BSSIDs are strictly separated
17-
1813Multiple networks recorded in a single row
19-
2014Stores your current system timezone
2115
2216Generates two CSV files:
23-
2417location_log.csv – full continuous log
25-
26- location_alerts.csv – entries where the detected city is not Brisbane
18+ location_alerts.csv – entries where the detected city is not Brisbane (customisable)
2719
2820Useful for diagnosing:
29-
3021Wrong-region search results
31-
3222Incorrect website geolocation
33-
3423Microsoft Location Services inconsistencies
35-
3624Wi-Fi triangulation issues
37-
3825VPN, ISP routing, or tower handover anomalies
3926
4027Output Columns
@@ -54,33 +41,21 @@ BSSIDs
5441Each scan produces one row. SSIDs and BSSIDs are semicolon-separated lists.
5542
5643How It Works
57-
5844Uses Windows’ GeoCoordinateWatcher to acquire coordinates
59-
6045Scans nearby Wi-Fi access points via netsh wlan show networks mode=bssid
61-
6246Reverse-geocodes coordinates using OpenStreetMap (Nominatim)
63-
6447Logs your system-reported timezone
65-
6648Appends data to CSV files every 15 seconds
6749
6850Use Cases
69-
7051Troubleshooting incorrect GeoIP or Wi-Fi location on Windows
71-
7252Investigating why Microsoft services think you're in the wrong city
73-
7453Auditing network coverage, duplicate Wi-Fi networks, or rogue APs
75-
7654Recording movement patterns for testing or analysis
77-
7855Checking public IP changes over time (dynamic IP, VPN, carrier NAT)
7956
8057Running the Script
81-
8258Save the script as location_logger.ps1
83-
8459Run PowerShell as Administrator
8560
8661Execute:
@@ -91,16 +66,18 @@ Set-ExecutionPolicy Bypass -Scope Process -Force
9166
9267The script runs continuously until closed.
9368
94- Notes
69+ This script checks whether your public IP’s GeoIP location matches your expected city.
70+ By default, it is set to Brisbane.
9571
96- Uses the OpenStreetMap Nominatim API — please respect rate limits
72+ To change it:
73+ Open the script in any text editor.
74+ Find and replace "Brisbane" with your desired city.
9775
76+ Notes
77+ Uses the OpenStreetMap Nominatim API — please respect rate limits
9878Works on Windows 10 and Windows 11
99-
10079Wi-Fi scanning requires wireless adapters enabled
101-
10280BSSID and SSID parsing is strict to avoid mixed data
10381
10482License
105-
10683MIT License.
0 commit comments