利用 System.Management 命名空間中的 WMI (Windows Management Instrumentation) 類別,可在遠端電腦上啟動程序。本文提供一個簡單的 Windows Forms 範例,示範如何連線遠端主機並執行命令列指令。
private void button1_Click(object sender, System.EventArgs e)
{
ConnectionOptions opt = new ConnectionOptions();
opt.Username = UserBox.Text;
opt.Password = PassBox.Text;
ManagementScope scope = new ManagementScope("\\\\" + IPbox.Text + "\\root\\cimv2", opt);
try
{
scope.Connect();
ObjectGetOptions o = new ObjectGetOptions();
ManagementPath path = new ManagementPath("Win32_Process");
ManagementClass processClass = new ManagementClass(scope, path, o);
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
inParams["CommandLine"] = CommandBox.Text;
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
}
private void button2_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
\\IP\root\cimv2。Win32_Process 類別,代表遠端的處理程序管理。Create 方法的輸入參數物件。此功能具高風險,僅供受信任內部網路管理用途。實際部署應加入加密傳輸、審計日誌與最小權限原則。