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