Cmd 使用单个Win32进程的PID运行多个命令

Cmd 使用单个Win32进程的PID运行多个命令,cmd,wmi,pid,wmi-query,wmic,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 {

我使用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。请提出任何想法或意见。


提前感谢您的帮助。

据我所知,您可能正在寻找一些远程shell-您是否尝试过使用PsExec?Wmic只生成一个进程,但不授予对它的任何控制权。正如RRUZ所建议的,创建一个BAT/VBS文件来执行您所需要的,或者如果您的环境支持PowerShell,让PowerShell来完成这些工作

总而言之:

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


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

    您不能使用同一个cmd.exe实例来运行新命令,而是可以执行批处理文件(.bat)来执行多个任务。