Вот как получить полный набор объектов Process, соответствующих списку имен процессов, которые вас интересуют.
$ProcessNames = @( 'explorer.exe', 'notepad.exe' )
Get-WmiObject Win32_Process -Computer 'localhost' |
Where-Object { $ProcessNames -contains $_.Name } |
Select-Object ProcessID, Name, Path |
Format-Table -AutoSize
Этот пример находит все процессы, затем фильтрует этот список, отправляя их в конвейерный фильтр, который проверяет, содержится ли имя процесса в списке интересных имен процессов. Основным преимуществом использования конвейера таким образом является то, что вы можете легко получить доступ к другим атрибутам (например, ProcessID) возвращаемых процессов.
ProcessID Name Path
--------- ---- ----
5832 explorer.exe C:\Windows\Explorer.EXE
4332 notepad.exe C:\Windows\system32\NOTEPAD.EXE
2732 notepad.exe C:\Windows\system32\notepad.exe