114757
Goto Top

Powershell Prozessorauslastung abfragen

Hallo liebes Forum,

ich beschäftige mich gerade mit Powershell und möchte mit einem Script kontinuierlich alle 5 Sekunden die Prozessorauslastung abfragen, nur komme ich gerade nicht weiter bei meinem Vorhaben.
Ich habe es mit "get-counter" versucht, aber ich scheitere daran was ich als Parameter angeben muss.
Kann mir jemand von euch einen Tipp geben wie ich das anstelle ?
Zur Info ich arbeite auf einem Windows 7 x64 mit Powershell 3.0.

Vielen Dank
Grüße jodel32

Content-ID: 227063

Url: https://administrator.de/contentid/227063

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

colinardo
Lösung colinardo 18.01.2014 aktualisiert um 21:37:10 Uhr
Goto Top
Hallo jodel32,
das kannst du folgendermaßen machen:
(Hinweis: Dies gilt für ein deutsch lokalisiertes System, wenn es z.B. ein englisches System ist muss man den Counternamen anpassen.)
# Prozessorauslastung alle 5 Sekunden abfragen und ausgeben
get-counter -Counter "\\$env:COMPUTERNAME\prozessor(_total)\prozessorzeit (%)" -Continuous -SampleInterval 5 | select -ExpandProperty CounterSamples | select CookedValue | %{[Math]::Round($_.CookedValue,2)}  
Zusätzlich wird der Wert am Schluss noch auf zwei Dezimalstellen hinter dem Komma gerundet dargestellt.
Hinweis: An die Performance-Counter-Strings kommt man mit dem Performance Monitor von Windows perfmon.msc heran.

Grüße Uwe
AnkhMorpork
AnkhMorpork 18.01.2014 aktualisiert um 18:43:30 Uhr
Goto Top
Hallo,

meinst du sowas, oder habe ich es falsch verstanden:

$CPUPercent = @{
  Name = 'CPUPercent'  
  Expression = {
    $TotalSec = (New-TimeSpan -Start $_.StartTime).TotalSeconds
    [Math]::Round( ($_.CPU * 100 / $TotalSec), 2)
  }
}

Get-Process | 
 Select-Object -Property Name, CPU, $CPUPercent, Description |
 Sort-Object -Property CPUPercent -Descending |
 Select-Object -First 4


Gruß

ANKH


EDIT: zu spät und out of range, sorry!
114757
114757 18.01.2014 um 18:50:12 Uhr
Goto Top
Hallo Uwe,
Genial, das ist genau das was ich vor hatte, klappt prima, und so schnell face-smile
An dem Namen für den Counterwert habe ich mir die Zähne ausgebissen face-wink

VIELEN DANK !!

Vielen Dank auch Dir ANKH, das muss ich mir mal anschauen.

Klasse Forum...

Gruß jodel32
114757
114757 19.01.2014 um 18:05:11 Uhr
Goto Top
Zitat von @colinardo:
Hinweis: An die Performance-Counter-Strings kommt man mit dem Performance Monitor von Windows perfmon.msc heran.
Hallo Uwe, ich bin's nochmal
wo im Performance Monitor finde ich die Bezeichnungen für die Counter ? ich habe gesucht habe aber leider nichts gefunden face-sad
Danke für deine Hilfe

Gruß jodel32
colinardo
Lösung colinardo 19.01.2014 aktualisiert um 18:17:34 Uhr
Goto Top
Hallo jodel32,
du findest die Bezeichnung wenn du einen Counter zur Liste hinzufügst, und und dann mit einem Doppelklick auf diesen die Eigenschaften aufrufst. Auf dem Tab Daten steht dann die Bezeichnung face-wink

374e2d69b6aee221b854503e2af61ba1

Diesem String muss natürlich immer der Rechnername vorgestellt werden also z.B.
\\COMPUTERNAME\TCPv4\Aktive Verbindungen
Grüße Uwe