PowerShell 终止其命令行检测到的 java 进程

PowerShell terminate java process detected by its commandline

我正在启动一个 java 进程:

$global:TS = Start-Process -FilePath "$pathTS\jdk\bin\java.exe" -ArgumentList "-jar","`"$pathTS\TestServer.jar`"" -WorkingDirectory ` "$pathTS" ` -PassThru -WindowStyle Hidden

到目前为止工作正常。

现在我正在尝试终止该进程:

 Invoke-CimMethod -Query 'select * from Win32_Process where CommandLine like "Test-Server"' -MethodName "Terminate"

顺便说一句:我无法使用进程的 ID 来终止它,因为它正在发生某种变化。

我是 PS 的新手,现在卡住了。 也许有人有想法。

谢谢! 亚历克斯

尝试将通配符 % 添加到 WHERE 子句中,以查找在命令行中任何位置找到“Test-Server”的所有实例:

... WHERE CommandLine like "%Test-Server%"...

参考:https://docs.microsoft.com/en-us/windows/win32/wmisdk/like-operator