0

我使用 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 文件。即使用我上面的 PID(10088)并在该机器上运行更多命令。

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

提前感谢您的帮助。

4

1 回答 1

0

据我了解,您可能正在寻找一些远程外壳 - 您是否尝试使用 PsExec?Wmic 只是产生一个进程,但不授予对它的任何控制。正如 RRUZ 建议的那样,创建一个 BAT/VBS 文件来执行你需要的东西,或者如果你的环境支持 PowerShell,让 PowerShell 来做这些事情。

总结一下:

  1. 要拥有交互式控制台 - 使用 PsExec
  2. 要执行一组任务(例如,创建 C:\MyDirectory 并将一些日志放在那里) - 创建一个 BAT/VBS 文件并使用 wmic 调用它,就像使用 cmd.exe 一样
  3. 如果您需要使事情自动化,PowerShell 在这里肯定会有所帮助。它是在考虑自动化的情况下创建的,因此请充分利用它:-)

最好的问候, AlexP

(我不确定我现在是不是在挖坟,这个问题已经很老了,我刚才注意到了,但仍然没有答案)

于 2014-03-25T18:58:20.950 回答