WMIC:运行批处理脚本远程

问题描述 投票:2回答:1

我一直试图让詹金斯部署工作通过运行一个批处理脚本做一个MSI从詹金斯安装建造机器本身的工作。我已经给适当的访问权限,但仍然是不能够远程运行下面的命令,使用WMIC

wmic /node:myServerIp /user:"clientpc\my-user" /password:"my-password" process call create "D:\someDir\someOtherDir\test.bat"

从上述命令后续响应:

Executing (Win32_Process)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        ReturnValue = 9;
};

经过一番研究,它看起来像“9”是根据https://msdn.microsoft.com/en-us/library/aa389388(v=vs.85).aspx“找不到路径”的返回值,但我已经验证了远程服务器上存在的路径。

我想要运行test.bat的文件是非常简单的,应该只写一个文本文件。

@echo This is a test.> test.txt

我已验证的服务器上存在这两个文件,并授予“每个人”共享文件夹“someDir”。

我曾尝试前缀“的cmd.exe / c”来叫的路径:

wmic /node:myServerIp /user:"clientpc\my-user" /password:"my-password" process call create "cmd.exe /c D:\someDir\someOtherDir\test.bat"

......为此,我得到:

Invalid Verb Switch.

我已验证的用户访问是通过提供一个错误的密码,在这种情况下,权限被拒绝是正确的。

编辑:改变从D:\someDir\someOtherDir\test.bat路径D:\\someDir\\someOtherDir\\test.bat但现在收到以下错误:

ERROR:
Description = The RPC server is unavailable.

编辑2:看起来像我用是为错误的原因的RPC用户。尽管如此故障排除,但是当我用我的AD用户,而不是管理员,我创建运行此,我拿到后再次...

Executing (Win32_Process)->Create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        ReturnValue = 9;
};
batch-file wmi
1个回答
0
投票

我能得到对Active Directory域中运行以下。

Wmic /node:"ComputerName" process call create "cmd.exe /c (net use o: /delete /y & net use o: \\Server\share /user:Domain\Administrator Password & o:\Dir\Subdir\test.cmd) >> c:\users\MyUser\testout2.txt"

TEST.CMD的非常简单的内容:

echo Just a test >> c:\users\MyUser\testout.txt
date /t >> c:\users\MyUser\testout.txt
time /t >> c:\users\MyUser\testout.txt

在“工作”被发送到“计算机”的域。作业运行批处理/脚本文件是在网络共享上。在“计算机”运行作业将不会看到任何映射驱动器,所以我删除和映射驱动器。我不相信这是以往任何时候都需要删除驱动器,但我补充说,对完整性的考虑。

执行后,testout2.txt示出了执行的命令的批文件和testout.txt包含批处理文件命令的结果如预期。

事情需要注意的:

  • 如前所述,映射驱动器不能从远程作业可见
  • 您正在执行的目标机的环境 - 驱动器号必须是有意义的那台机器
  • 内部命令如“回响”所需要的工作与“CMD.EXE / C”开始
  • 括号内的组的多个命令,并单独用符号(&)
  • 不冲突的文件访问。我用testout.txt和testout2.txt文件。如果我给了他们同样的名字,输出一组就已经丢失。
  • 不管你做什么这样将永远是对用户可见;这项工作以这样一种方式,它不能在用户的屏幕上显示运行。
  • 以明文形式发送密码,如我的例子是一个安全隐患,应该尽量避免。我不知道一个更好的方式然而,在这种情况下映射驱动器。
© www.soinside.com 2019 - 2024. All rights reserved.