Przypadkowo odkryłem, że w systemie Windows 8, jeśli klikniesz prawym przyciskiem myszy wcześniej podłączoną sieć bezprzewodową w interfejsie ekranu startowego, istnieje opcja pokazania szacowanego zużycia danych.
Gdzie są przechowywane te dane? Czy można to pobrać za pomocą PowerShell / WMI? Przykładem dla mnie byłoby ustawienie automatycznych alertów w oparciu o wykorzystanie danych - obecnie używam Networx do bardziej szczegółowego podziału, ale dla szybkiego powiadomienia, jeśli mogę pobrać użycie, zautomatyzowana trasa bardzo by pomogła.
wireless-networking
windows-8
powershell
Sathyajith Bhat
źródło
źródło
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Network\DataUsage\Wlan
wygląda na pokrewnych. Nadal szukam.Odpowiedzi:
Pamiętam, kiedy po raz pierwszy zadałeś to pytanie, ale w końcu udało mi się to rozgryźć. Mam nadzieję, że nadal przydaje się Tobie lub komuś innemu!
Możesz uzyskać dostęp do tych danych, wywołując metodę GetLocalUsage obiektów ConnectionProfile , którymi są połączenia WLAN / WAN (tj. SSID). GetLocalUsage pobiera dwa parametry DateTime i zwraca obiekt DataUsage zawierający ilość danych wysłanych i odebranych w określonym przedziale czasu. Listę obiektów ConnectionProfile można uzyskać, wywołując metodę GetConnectionProfiles funkcji NetworkInformation .
Napisałem następującą funkcję, która pobiera dane i zwraca obiekt. Przekaż jeden lub więcej identyfikatorów SSID i opcjonalnie uruchom i zatrzymaj DateTime:
źródło
Ten artykuł MSDN jest najlepszym, jaki mogłem znaleźć w firmie Microsoft: http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.connectivity.datausage.aspx . Mówi ci, jak możesz go wywołać z programu, ale nie tam, gdzie przechowywane są właściwe dane. Nie zamierzam tego wszystkiego kopiować i wklejać, ponieważ nie wiem, w którym języku wolisz programować.
źródło