在Powershell中通过包含WASP的字符串选择Processname

在Powershell中通过包含WASP的字符串选择Processname,powershell,wasp,Powershell,Wasp,我正在尝试使用WASP在Powershell脚本中选择某个进程名称。然而,问题是,每次进程启动时,它都会在扩展之前给自己一个随机生成的字符串 但它总是包含扩展名“.tmp”。如果进程在字符串末尾包含.tmp,我是否可以选择该进程?在本例中,我尝试选择的流程是“is-RI4E5.tmp”。我需要根据它的末尾包含扩展名“.tmp”来选择它 我建议在开始WASP进程之前收集所有进程名称。启动后,再次收集所有进程,并使用Compare对象区分两个集合。当多个进程具有“.tmp”后缀时,这将减少误报的机会

我正在尝试使用WASP在Powershell脚本中选择某个进程名称。然而,问题是,每次进程启动时,它都会在扩展之前给自己一个随机生成的字符串

但它总是包含扩展名“.tmp”。如果进程在字符串末尾包含.tmp,我是否可以选择该进程?在本例中,我尝试选择的流程是“is-RI4E5.tmp”。我需要根据它的末尾包含扩展名“.tmp”来选择它


我建议在开始WASP进程之前收集所有进程名称。启动后,再次收集所有进程,并使用Compare对象区分两个集合。当多个进程具有“.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

这正是我需要的!谢谢你,我的朋友!很高兴这有帮助。有时间请接受我的回答。谢谢
$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