我有一個應用程序,運行它自己的多個實例。 e.gpowershell v2 - 如何獲得進程ID
AppName.exe instance1
AppName.exe instance2
AppName.exe instance3
使用PowerShell V2我試圖創建一個給定的AppNames和實例的數組,一個簡單的腳本,它遍歷他們,檢查他們是否正在運行,然後關閉下來。
我想最好的辦法是檢查每個實例,如果發現捕獲它的processID,並將其傳遞給stop-process cmdlet。
但是,我無法弄清楚如何獲得進程ID。
到目前爲止,我有:
$appName = "AppName.exe"
$instance = "instance1"
$filter = "name like '%"+$appName+"%'"
$result = Get-WmiObject win32_process -Filter $filter
foreach($process in $result)
{
$desc = $process.Description
$commArr = $process.CommandLine -split"()"
$inst = $commArr[2]
$procID = "GET PROCESS ID HERE"
if($inst -eq $instance)
{
Stop-Process $procID
}
}
誰能告訴我從哪裏請給進程ID?
這應該是simplier:'$ PID = GET-過程應用程序名稱|選擇-expand ID' – 2014-09-05 13:05:50
我還是新PowerShell,但這就是爲什麼我喜歡它。 15行代碼減少到1.但是,運行時,出現以下錯誤 - 「無法覆蓋變量PID,因爲它是隻讀或常量」 – IGGt 2014-09-05 13:15:46
哦,對不起,這是一個內置的變量名稱,可以替換爲任何你想要例如'$ processid' – 2014-09-05 13:17:04