Batch file 如何使用WMIC从远程服务器启动应用程序

Batch file 如何使用WMIC从远程服务器启动应用程序,batch-file,automation,windows-7,Batch File,Automation,Windows 7,在Windows 7中,我试图在远程服务器上打开一个应用程序,我不想使用Powershell或PSexec。我尝试使用以下代码在远程服务器上打开Firefox,但收到ReturnValue=0,但Firefox从未启动 WMIC.exe /node:ComputerName process call create "cmd.exe /C C:\Program Files\Mozilla Firefox\firefox.exe" ReturnValue=0代码的问题是生成的cmd进程找不到名为c

在Windows 7中,我试图在远程服务器上打开一个应用程序,我不想使用Powershell或PSexec。我尝试使用以下代码在远程服务器上打开Firefox,但收到
ReturnValue=0
,但Firefox从未启动

WMIC.exe /node:ComputerName process call create "cmd.exe /C C:\Program Files\Mozilla Firefox\firefox.exe"

ReturnValue=0

代码的问题是生成的
cmd
进程找不到名为
c:program
的程序。这是因为您没有引用以保持完整路径作为单个标记,并且您也没有逃脱反斜杠

要修复现有行,请在Firefox路径周围添加反斜杠转义引号。此外,wmic的WQL参数中的文字反斜杠必须加倍

wmic/node:server进程调用创建“cmd/C\”C:\\Program Files\\Mozilla Firefox\\Firefox.exe
不过,更好的解决方案是使用
cmd
的内部
start
命令在应用程序路径中查找Firefox,这样就不必指定完整的\to\可执行路径

wmic/node:服务器进程调用创建“cmd/c启动firefox”

代码的问题是生成的
cmd
进程找不到名为
c:program
的程序。这是因为您没有引用以保持完整路径作为单个标记,并且您也没有逃脱反斜杠

要修复现有行,请在Firefox路径周围添加反斜杠转义引号。此外,wmic的WQL参数中的文字反斜杠必须加倍

wmic/node:server进程调用创建“cmd/C\”C:\\Program Files\\Mozilla Firefox\\Firefox.exe
不过,更好的解决方案是使用
cmd
的内部
start
命令在应用程序路径中查找Firefox,这样就不必指定完整的\to\可执行路径

wmic/node:服务器进程调用创建“cmd/c启动firefox”


您考虑过路径中的空格了吗?如果您指的是/C之间的空格,那么/C:已经有一个空格了,我还添加了另一个空格,我仍然得到了相同的错误代码。他说的是
程序
文件
之间的空格。但更优雅的解决方案可能是像
wmic/node:computername进程调用create“cmd/c start firefox”
那样启动它。使用
cmd
的内部
start
命令将在应用程序路径中定位Firefox,因此您不必指定\\to\\executable的完整路径。我已删除了程序和不起作用的文件之间的空格。我也试过你的代码,但仍然不起作用。这两种情况的返回值均为0,但Firefox无法启动。我们从未建议您删除空间。您在Windows 7框中登录Windows的帐户是否也在服务器上具有管理员权限?如果没有,,您可能需要添加
/user:
/password:
切换到您的
wmic
命令。您是否考虑过路径中的空格?如果您在/C之间引用/C:已经有一个空格,我还添加了另一个空格,我仍然得到相同的错误代码。他说的是
程序
文件
。但更优雅的解决方案可能是像
wmic/node:computername进程调用create“cmd/c start firefox”
那样启动它。使用
cmd
的内部
start
命令将在应用程序路径中定位Firefox,因此您不必指定\\to\\executable的完整路径。我已删除了程序和不起作用的文件之间的空格。我也试过你的代码,但仍然不起作用。这两种情况的返回值均为0,但Firefox无法启动。我们从未建议您删除空间。您在Windows 7框中登录Windows的帐户是否也在服务器上具有管理员权限?如果没有,您可能需要将
/user:
/password:
开关添加到
wmic
命令。我将您的代码与双反斜杠一起使用,但它不起作用。返回值=0@drive返回值应为0。这意味着没有错误。服务器是否已登录到其桌面?您是否尝试使用登录到服务器桌面环境的相同用户帐户启动Firefox?您的计算机是域的成员吗?我可以停止服务并远程重新启动它们。我确实有权限。服务器在桌面上。我使用的是与管理员相同的用户帐户。两台服务器都在网络上。0表示
cmd
已启动。为什么你想叫它firefox呢?所有远程程序都是不可见的。你怎么知道它没有启动?你是对的,Firefox是隐形运行的,但我正在尝试启动这个程序。Firefox就是一个例子。我用你的代码加上了双斜杠,但它不起作用。返回值=0@drive返回值应为0。这意味着没有错误。服务器是否已登录到其桌面?您是否尝试使用登录到服务器桌面环境的相同用户帐户启动Firefox?您的计算机是域的成员吗?我可以停止服务并远程重新启动它们。我确实有权限。服务器在桌面上。我使用的是与管理员相同的用户帐户。两台服务器都在网络上。0表示
cmd
已启动。为什么你想叫它firefox呢?所有远程程序都是不可见的。你怎么知道它没有启动?你是对的,Firefox是隐形运行的,但我正在尝试启动这个程序。火狐就是一个例子。