2016-02-16 2 views
0

Я пытаюсь выбрать определенное имя процесса в сценарии Powershell с помощью WASP. Однако проблема заключается в том, что каждый раз, когда процесс запускается, он генерирует произвольно сгенерированную строку перед расширением.Выбор имени процесса строкой, содержащей WASP в Powershell

Он всегда включает расширение «.tmp». В любом случае, я могу выбрать процесс, если он содержит .tmp в конце строки? В этом случае процесс, который я пытаюсь выбрать, это «is-RI4E5.tmp». Мне нужно будет выбрать это на основе его, содержащего расширение в конце, «.tmp».

ProcessName ProcessId IsActive Handle Title               Class         
----------- --------- -------- ------ -----               -----         
powershell_ise  8652  True 133330 Administrator: Windows PowerShell ISE       HwndWrapper[PowerShell_ISE.exe;;cf... 
is-RI4E5.tmp  6720 False 461306 Setup               TApplication       
explorer   5472 False 264168 VNC Server              CabinetWClass       
explorer   5472 False 985230 vnc - Search Results in SharedFiles (\\cas-fs1) (S:)    CabinetWClass       
chrome    7636 False 329808 Central Arizona Supply - Home - Google Chrome     Chrome_WidgetWin_1     
cmd     7592 False 264396 Administrator: C:\Windows\system32\cmd.exe      ConsoleWindowClass     
EXCEL    8860 False 1116322 Microsoft Excel - CAS Network IP Directory [Compatibility Mode] XLMAIN        
EXCEL    8860 False 395668 Printers               MS-SDIb        
VNCScan    9104 False 198140 Bozteck VENM Console 2013.6.3.230        WindowsForms10.Window.8.app.0.378734a 
EXCEL    8860 False 461030 CAS Network IP Directory [Compatibility Mode]     MS-SDIb   

ответ

0

Я бы предложил собрать все имена процессов до начала процесса WASP. После запуска снова соберите все процессы и разделите две коллекции с помощью Compare-Object. Это уменьшит вероятность ложного позитива, когда несколько процессов имеют суффикс «.tmp».

$beforeWasp = Get-Process | Where-Object { $_.Name -Like '*.tmp' } 

# start process here 

$afterWasp = Get-Process | Where-Object { $_.Name -Like '*.tmp' } 

Compare-Object -ReferenceObject $beforeWasp -DifferenceObject $afterWasp -PassThru 
+0

Это было именно то, что мне нужно! Спасибо, мой друг! –

+0

Рад, что помогло. Пожалуйста, примите ответ, когда у вас есть время. Благодарю. – Cobster

 Смежные вопросы

  • Нет связанных вопросов^_^