我一直试图通过运行批处理脚本来安装msi文件并实现Jenkins部署作业。我已经赋予了适当的访问权限,但仍然无法远程运行以下命令,使用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;
};
经过一些调查,根据https://msdn.microsoft.com/en-us/library/aa389388(v=vs.85).aspx,返回值“9”表示“路径未找到”,但我已经验证该路径在远程服务器上存在。
我要运行的test.bat文件非常简单,只需写入一个文本文件。
@echo This is a test.> test.txt
我已经确认服务器上存在这两个文件,并已将“EVERYONE”授权给共享文件夹“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;
};
"D:\\someDir\\someOtherDir\\test.bat"
. 这是 C 语言的一件事情。 - user6017774