Benutzer mit den meisten Antworten
Perfmon Bytes Total/sec

Frage
-
Hallo!
Ich bin am verzweifeln.
Ich möchte einen Performancecounter abrufen und mit diesem dann rechnen.
$getBytestotal=(((get-Counter -counter "\Netzwerkadapter(Intel[R] Ethernet Connection I218-LM)\Gesamtanzahl Bytes/s" -SampleInterval 1 -maxsamples 1).readings).split(":"))[1]
Da bekomme zb. einen Wert 14130,7538265447 zurück (vom Typ [string])
wie kann ich diesen in einen int verwandeln um dannach rechnen zu können.
Mit [int] $test1 = $getBytestotal bekomme ich die Fehlermeldung
Ausnahme beim Aufrufen von "ToInt32" mit 1 Argument(en): "Die Eingabezeichenfolge hat das falsche Format."
In C:\Temp\netEye\Skripte_für_SW-Verteilung\check_networkadapters.ps1:72 Zeichen:5
+ $test.ToInt32($null)
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : FormatExceptionwas mache ich falsch?
lg
hansi
Antworten
-
Moin,
versuch's mal mit [float] und dann mit [math]:: Round ()
EDIT: Mit dem Wert von
(Get-Counter "\\PCNAME\netzwerkschnittstelle(Netzwerkkarte)\gesamtanzahl bytes/s").CounterSamples[0].CookedValue
kannst Du rechnen, es ist ein Double.
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
- Bearbeitet Evgenij Smirnov Donnerstag, 9. März 2017 19:44
- Als Antwort markiert very_best Freitag, 10. März 2017 08:24
Alle Antworten
-
Moin,
versuch's mal mit [float] und dann mit [math]:: Round ()
EDIT: Mit dem Wert von
(Get-Counter "\\PCNAME\netzwerkschnittstelle(Netzwerkkarte)\gesamtanzahl bytes/s").CounterSamples[0].CookedValue
kannst Du rechnen, es ist ein Double.
Evgenij Smirnov
I work @ msg services ag, Berlin -> http://www.msg-services.de
I blog (in German) @ http://it-pro-berlin.de
my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
Exchange User Group, Berlin -> http://exusg.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com
- Bearbeitet Evgenij Smirnov Donnerstag, 9. März 2017 19:44
- Als Antwort markiert very_best Freitag, 10. März 2017 08:24
-
Hallo,
das prinzipielle Problem ist, dass zum Umwandeln von String in Integer bzw. Double der Punkt als Dezimaltrennzeichen angesehen wird. Alternativ zu Evgenijs Lösung kann man den String auch so
[double]::Parse("23,001", [System.Globalization.CultureInfo]::CurrentCulture.NumberFormat)
in eine Gleitkommazahl umwandeln und dann damit rechnen.