通过WMI创建远程进程并等待其退出

发布于 2024-12-27 20:00:45 字数 334 浏览 0 评论 0原文

我正在使用 System.Management 通过 WMI 在远程目标上启动一个进程,如下所示:

...
InputParameters("CommandLine") = "executable here"
OutputParameters = ManagementClass.InvokeMethod("Create", InputParameters, Nothing)

这会启动该进程,并且我的代码将继续运行,但我需要一种监视该进程的方法,而不是做其他事情直到完成。有一个简单的解决方案吗?我希望有类似于 Process.WaitForExit 的东西,就像创建本地进程时那样。

I'm using System.Management to start a process on a remote target via WMI like this:

...
InputParameters("CommandLine") = "executable here"
OutputParameters = ManagementClass.InvokeMethod("Create", InputParameters, Nothing)

This kicks off the process and my code continues to run, but I need a way of monitoring that process and not doing anything else until it finishes. Is there a simple solution? I'm hoping there's something similar to Process.WaitForExit like there is when creating a local process.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风情万种。 2025-01-03 20:00:45

为此,您可以使用如下查询来处理 WMI 事件:

"SELECT * From WIN32_ProcessStopTrace WHERE ProcessID=123"

其中 123 是您进程的进程 ID,然后您可以等待下一个事件。您将在 中找到一些示例监控事件

For this you can play with WMI events with a query like :

"SELECT * From WIN32_ProcessStopTrace WHERE ProcessID=123"

Where 123 is the process ID of your process, you can then wait for next event. You'll find some sample in Monitoring Events.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文