2
我试图从位于远程计算机上的共享(即指向另一台计算机)上的ASP.NET网站执行程序。下面是配置的样子Win32_Process在远程计算机上与目标共享创建
网站服务器=>计算机A(与分享指向)=>计算机B(EXE是这里)
如果我通过了processName z中的下列参数:\工具\ bin \ myprogram.exe我得到一个找不到路径的返回码。如果我为进程名称\\ computerB \ tools \ bin \ myprogram.exe传递以下参数,则会出现拒绝访问错误。
private static int CreateRemoteProcess(string serverName, string username, string password, string processName, params string[] arguments)
{
var connection = new ConnectionOptions
{
Username = username,
Password = password
};
var scope = new ManagementScope(@"\\" + serverName + @"\root\cimv2", connection);
using (var managementClass = new ManagementClass(scope,
new ManagementPath("Win32_Process"),
new ObjectGetOptions()))
{
var inputParams = managementClass.GetMethodParameters("Create");
if (arguments != null)
{
foreach (var param in arguments)
{
processName += " " + param;
}
}
inputParams["CommandLine"] = processName;
var outParams = managementClass.InvokeMethod("Create",
inputParams,
new InvokeMethodOptions());
outParams = managementClass.InvokeMethod("Create", inputParams, null);
var ret = Convert.ToInt32(outParams["ReturnValue"]);
return Convert.ToInt32(outParams["ProcessId"]);
}
在那个目标机器上有一个'z:'驱动器..?还有什么帐户设置为远程机器上的用户/密码..你可以创建一个服务帐户,你正在尝试做什么..? – MethodMan
是的,它指向computerB。 – Dylan