1
標題可能不是很有益的,但我無法解釋更沒有代碼,所以這裏是腳本我試圖運行工作:擴展性不是一個「如果」段
$CpuCores = (Get-WMIObject Win32_ComputerSystem).NumberOfLogicalProcessors
(Get-Counter "\Process(w3wp*)\% Processor Time").CounterSamples |
Select-Object InstanceName,
@{ n = "CPU"; e = { [Decimal]::Round(($_.CookedValue/$CpuCores),1) }} |
ForEach-Object {
if ($_.CPU -gt 80) {
Restart-Service -Name W3SVC
}
}
所以想法是檢查任何超過80%CPU使用率的iis進程,如果是,請重新啓動web服務。如果我從ForEach-Object
中刪除了所有內容,並在列表中獲得我的進程列表和當前CPU使用情況的百分比,以便部分工作,但我似乎無法讓我的if
部分獲取CPU屬性。
嗨,你的代碼在這裏工作得很好。什麼行爲不符合你的想法? – sodawillow
我認爲它不工作的原因是因爲我將'Restart-Service'換成了一個簡單的'$ _.CPU',並改爲'-gt 0',我什麼也沒有得到。只要在'if'之前寫出'$ _'就給了我列表,但添加CPU屬性似乎沒有按照預期工作。 –