114757
18.01.2014
22469
5
1
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 227063
Url: https://administrator.de/contentid/227063
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
5 Kommentare
Neuester Kommentar
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.)
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
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)}
Hinweis: An die Performance-Counter-Strings kommt man mit dem Performance Monitor von Windows perfmon.msc heran.
Grüße Uwe
Hallo,
meinst du sowas, oder habe ich es falsch verstanden:
Gruß
ANKH
EDIT: zu spät und out of range, sorry!
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!
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
Diesem String muss natürlich immer der Rechnername vorgestellt werden also z.B.
Grüße Uwe
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
Diesem String muss natürlich immer der Rechnername vorgestellt werden also z.B.
\\COMPUTERNAME\TCPv4\Aktive Verbindungen