使用单个Win32Process的PID运行许多命令

时间:2013-07-09 18:34:06

标签: cmd wmi pid wmi-query wmic

我使用WMI在远程计算机上创建Win32Process(cmd.exe)。

C:\Users\ayush_m>wmic /node:10.0.0.0 /user:ayush_m /password:pwd PROCESS CALL Create "cmd.exe"
Executing (Win32_Process)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        ProcessId = 10088;
        ReturnValue = 0;
};

WMI(10088)返回的 ProcessID 是在远程计算机上启动的cmd.exe进程的 PID 。现在我想运行一些其他命令,如mkdir或复制或使用上面的PID运行exe文件.i.e使用我上面的PID(10088)并在该机器上运行更多命令。

每次运行命令时,我基本上都不想创建新的Win32Process。请提出任何想法或意见。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您可能正在寻找一些远程shell - 您尝试使用PsExec吗? Wmic只会生成一个进程,但不会对它进行任何控制。正如RRUZ建议的那样,创建一个BAT / VBS文件来执行您需要的东西,或者如果您的环境支持PowerShell,请让PowerShell执行这些操作。

总结一下:

  1. 要使用交互式控制台 - 请使用PsExec
  2. 要执行一组任务(例如,创建C:\ MyDirectory并在其中放置一些日志) - 创建一个BAT / VBS文件并使用wmic调用它,就像使用cmd.exe一样。
  3. 如果您需要自动化,PowerShell肯定会对您有所帮助。它是在自动化的基础上创建的,因此请充分利用它: - )
  4. 最好的问候,AlexP

    (我不确定我此刻是不是在挖掘,我现在注意到的问题已经很老了,但仍然没有答案)