System.Diagnostics.Process from ManagementBaseObject
本文关键字:ManagementBaseObject from Process Diagnostics System | 更新日期: 2023-09-27 18:08:13
我正在使用WMI执行一个远程进程,并希望将该进程的StandardOutput重定向回我的程序。我发现了这些代码示例:
http://haripotter.wordpress.com/2008/07/25/executing-a-command-on-a-remote-windows-system-using-wmi/这个人正在使用Process类,我在这里看到:
http://msdn.microsoft.com/en-us/library/ssk42c11.aspx可以重定向标准输出。这两个可以一起使用吗?
我是这样调用它的:
public string StartProcess(string command)
{
ManagementClass processTask = new ManagementClass(@"''" + this.wmiConnection.machineName + @"'root'CIMV2", "Win32_Process", null);
ManagementBaseObject methodParams = processTask.GetMethodParameters("Create");
methodParams["CommandLine"] = command;
methodParams["CurrentDirectory"] = @"C:'";
try
{
ManagementBaseObject exitCode = processTask.InvokeMethod("Create", methodParams, null);
我想你对此有点困惑。不可能将Win32_Process
WMI类(或任何)与System.Diagnostics.Process
类混合,它们属于不同的范围。关于你的另一个问题,我认为你在这里很幸运,因为使用System.Diagnostics.Process
类你可以重定向标准输出,但不允许执行远程进程,使用Win32_Process
WMI类你可以执行远程进程(有限制),但不允许重定向标准输出。