Obter uso de dados desde a última reinicialização pela linha de comando

1

Para uma ferramenta em lote automatizada que monitora o uso da rede, eu gostaria de obter os seguintes valores sublinhados em vermelho usando a linha de comando do Windows:

Ouseja,queroobteronúmerodebytescarregadosebaixados(atividadederede)desdeaúltimareinicializaçãodosistemausandoumcomando(Windows10).

Eujátenteinetstat-e(usandoestecomando:for/F"tokens=2,3" %%a in ('netstat -e ^| find "Bytes"') do set "received=%%a" & set "sent=%%b" ), mas por algum motivo, ele produz quase dez vezes mais bytes que o painel de controle.

Então, como isso pode ser feito?

    
por sigalor 01.08.2015 / 18:07

3 respostas

5

Se não houver problema em usar o PowerShell, use o Get-NetAdapterStatistics cmdlet .

PS C:\> $stat = Get-NetAdapterStatistics –Name WiFi PS C:\> $stat.ReceivedBytes 70081089484 PS C:\> $stat.SentBytes 137824135690

Há uma postagem do blog sobre como obter estatísticas do adaptador de rede usando o PowerShell na technet.

    
por 09.08.2015 / 13:29
0

Tanto a netstat -e como a caixa Status da conexão usam "Bytes" como a unidade.

netstat -e existe há muito tempo, então -eu suponho que seria livre de erros.

MAS, o netstat pode estar contando todas as interfaces, incluindo loopback.

Eu não acreditava nisso antes, mas o Powershell (como indicado por Josef acima) parece ser o caminho de menor atrito.

    
por 10.08.2015 / 03:41
0

Eu finalmente descobri uma solução que funciona. Eu comparei a saída do netstat e do painel de controle e descobri que o netstat mostra quase exatamente 6 vezes (sim, seis, isto é completamente ilógico ...) tantos bytes quanto o painel de controle. Então você só tem que dividir os bytes de saída de netstat -e por seis e você tem o uso de dados real.

    
por 13.08.2015 / 16:56