Windows 10 Datennutzung
Windows 10 hat eine netter Funktion, mit der Sie oder Benutzer ermitteln können, welche Applikationen welche Datenmenge in welcher Zeit übertragen. Das ist zwar keine sekundengenaue Messung und erlaubt keinen Rückschluss auf den Durchsatz aber wenn ich über mehrere Computer solche Daten erfasse, kann ich vielleicht den Bandbreitenbedarf von Applikationen besser einschätzen und z.B. für Office 365 besser planen. Diese Seite beschreibt diesen Sachverhalt.
Aufruf:
Aktuell kann ich nur beschreiben, was hier erfasst wird und
wie hilfreich eine Auswertung für Firmen wäre, die kein
NetFlow/sFlow/IPFix/cFlow einsetzen. Leider habe ich
noch keine API gefunden, mit der ich die Daten automatisiert
abfragen und sammeln kann
Was macht Windows?
Aufgefallen ist mir die Funktion indirekt, weil ich ein GSM-Modul in meinem Notebook habe und die dazugehörige Applikation (hier eine Vodafone-Karte) eine einfache Statistik anzeigt:
Interessant finde ich natürlich, dass ich sicher keine 41GB in 7 Tagen über GSM übertragen habe. Allerdings ist der Hinweis, dass die Daten durch das Betriebssystem erfasst wurden, der eigentlich interessante Punkt. Nach kurzer Suche habe ich auch den entsprechenden Eintrag in Windows 10 gefunden:
Hier sehe ich schon mal die Unterscheidung nach der Netzwerkverbindung. Da gab es gar keine Datenmenge auf dem Mobilfunk, etwas WLAN und die größte Menge über LAN-Schnittstellen. Aber auch hier habe einen weiteren Punkt markiert, der mich zur Datennutzung pro Applikation führt. Das sieht schon viel interessanter aus:
Es ist eine Filterung pro Netzwerkkarte möglich und sie sehen hier schon, dass OneDrive, Teams und Outlook neben den Browsern einen gewichtigen Anteil haben.
- Reset Data Usage 1.2
https://www.sordum.org/9817/reset-data-usage-v1-2/
3rd Party Tool um den Auslastungsverlauf zurück zu setzen.
Sogar im Taskmanager gibt es eine extra Spalte, in der Sie pro Applikation den Datenverbrauch einsehen können. Wobei hier anscheinend nur die Metro-Apps erscheinen und Outlook und Co nicht erfasst sind.
Angeblich wird der Verlauf kontinuierlich weiter geführt und nie vom System gelöscht. Er gibt quasi die Nutzung von Ressourcen seit der Installation von Windows wieder. Das ist aus Datenschutzgründen natürlich alles andere als ungefährlich. Insofern wäre auch das ein Grund die Daten zwar zu erfassen und ohne Bezug auf Personen, z.B. nur mit der Netzwerksite zu speichern und danach zu löschen.
Abfrage per API
Diese Informationen waren Anlass für mich nach einer Schnittstelle zu suchen, über die ich diese Daten per Programm oder Skript abfragen könnte. Stellen Sie sich vor, ich bekäme von allen Clients z.B.: einmal am Tag oder vielleicht sogar häufiger Informationen über die Datenmenge, dann könnte man daraus schon die ein oder anderen Rückschlüsse ziehen, z.B. Outlook Neureplikationen, große Datenmengen per Browser o.ä. Vor allem können Sie für ihre Benutzer besser abschätzen, welche Bandbreiten zur Cloud gefordert sein können.
So eine Auswertung ersetzt natürlich nicht eine detaillierte Analyse der Verkehrsflüsse per NetFlow/sFlow/IPFix/cFlow. Aber wenn diese Quellen nicht vorhanden sind, können die Daten aus dem Betriebssystem durchaus hilfreich sein.
Die Tatsache, dass z.B. die Vodafone-App diese Daten abrufen kann, spricht für eine erreichbare API, mit der auch andere Programme als nur der Taskmanager und die Systemsteuerung diese Daten abrufen können.
Hatte ich in der ersten Version des Artikels noch geschrieben, dass ich keine API kenne, ist das heute schon anders. Es gibt erstes PowerShell-Script, um die Daten auszulesen. Es bleibt aber noch etwas Arbeit zu leisten. Vor allem sind die Aussagen von Microsoft schon nicht eindeutig bezüglich der unterstützten Plattformen.
-
ConnectionProfile.GetAttributedNetworkUsageAsync(DateTime,
DateTime, NetworkUsageStates) Method
https://docs.microsoft.com/en-us/uwp/api/windows.networking.connectivity.connectionprofile.getattributednetworkusageasync
Interessanterweise steht in der Doku noch drin, dass diese API nur für Windows Phone 8.x verfügbar ist. Sie scheint aber auch mit Windows 10 vorhanden zu sein - AttributedNetworkUsage Class
https://docs.microsoft.com/en-us/uwp/api/windows.networking.connectivity.attributednetworkusage - ConnectionProfile Class
https://docs.microsoft.com/en-us/uwp/api/windows.networking.connectivity.connectionprofile - Network information sample
https://code.msdn.microsoft.com/windowsapps/Network-Information-Sample-63aaa201
Weitere Links
- NetFlow/sFlow/IPFix/cFlow
- How to monitor and control data usage on Windows 10 April
2018 Update
https://www.windowscentral.com/how-monitor-and-control-data-usage-windows-10-april-2018-update
Sollte die Funktion erst ab April 2018 verfügbar sein? -
How to Monitor Your Network Usage in Windows 10
https://www.howtogeek.com/224170/how-to-monitor-your-network-usage-in-windows-10/ - Data Usage
https://www.microsoft.com/en-us/p/data-usage/9wzdncrdpqd5?activetab=pivot:overviewtab
App um die Daten anzuzeigen. Requirements starten mit Windows 8.1 - Konfigurieren von Windows-Diagnosedaten in Ihrer
Organisation
https://docs.microsoft.com/de-de/windows/privacy/configure-windows-diagnostic-data-in-your-organization