0
我想確定在幾秒鐘內平均CPU使用率的前幾個進程。每個結果都需要列出PID,進程名稱和用戶ID。 腳本需要同時在多個服務器上運行,而這些服務器位於另一個域中。這些服務器的憑據與正在運行的計算機的憑據不同。顯示結果,其中計數等於值
我不能讓Get-Process
工作,因爲它不接受–credentials
參數。 Invoke-Command
將不起作用,因爲這些服務器上的腳本受到限制。 我在$TopProcess
結束得到的是:
User Name CPU ID Description
--------- --- -- -----------
User73 25 68680 App89.exe
User73 25 68888 App57.exe
LOCAL SERVICE 2.5 63868 WmiPrvSE.exe
User48 0 66308 App38.exe
User48 0 62608 App54.exe
User73 25 68888 App57.exe
User73 25 68680 App89.exe
LOCAL SERVICE 2.5 63868 WmiPrvSE.exe
User48 0 59336 dwm.exe
User48 0 52528 App57.exe
User73 25 68888 App57.exe
User73 25 68680 App89.exe
User39 19.5 48792 App43.exe
User39 2.5 65996 App48.exe
LOCAL SERVICE 2.5 63868 WmiPrvSE.exe
,但我需要僅列出了15 CPU,並列出了三個時代的結果,但只列出各一次,
$Result = $TopProcess | Where {$_.CPU -gt $Threshold} | Measure | Where {$_.Count -eq $NoRS}
什麼都不返回。
感謝您的快速反應@馬丁。基於這個例子,我期望看到只有前兩行: 'User73 25 68680 App89.exe User73 25 68888 App57.exe' 我試過使用'Group'和我的'If(!$ Result) '顯示它也返回null。 –
哦,那麼你也必須爲這個ID分組。 –
我將每個管道分成一個新的變量來檢查和「Group」給出預期的計數。我現在需要將分組結果重新格式化爲可讀表格。 –