我試圖在使用WMI的遠程服務器上執行程序。C#WMI遠程程序無法正確執行
當我執行我的代碼時,我可以看到可執行文件出現在遠程服務器上的任務管理器的進程選項卡中,但它從未實際執行其功能。當它運行正常時,應該在特定文件夾中有一些文件,但是當我從我的程序運行它時沒有任何文件。
此外,我檢查從WMI報告的結果,我得到的代碼爲0,我相信這表明沒有錯誤。
我已經發布了下面的代碼。如果我的代碼中的某些內容沒有明顯錯誤,那麼我會很樂意就如何解決此問題提供建議,因爲我是WMI進程的新手。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.IO;
using System.Configuration;
using System.Diagnostics;
using System.Management;
namespace ExecuteNetworkResources
{
class Program
{
static void Main(string[] args)
{
var processToRun = new[] { "C:\\Program Files\\TestApplication\\mscombine.exe -c -cwa" };
var connection = new ConnectionOptions();
connection.Username = "domain\\user1;
connection.Password = "password";
var wmiScope = new ManagementScope(String.Format(@"\\{0}\root\cimv2", "Server1"), connection);
var wmiProcess = new ManagementClass(wmiScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
object result = wmiProcess.InvokeMethod("Create", processToRun);
Console.WriteLine("Returned: " + result);
Console.ReadLine();
}
}
}
遠程服務器是否具有'WMI enabled'您可以遠程調試..?如果沒有,那麼重構代碼添加一些日誌記錄和一些錯誤陷阱..這不應該花你很長的時間來實現幾行代碼..還請聯繫遠程服務器管理員,看看他們是否已經啓用WMI可能是一個權限問題在你的本地機器外面工作.. – MethodMan