C#使用WMI在远程主机启动bat文件
时间: 2024-10-24 18:03:35 浏览: 26
c#使用wmi查询usb设备信息示例
C#可以使用`ManagementScope`类来访问远程主机上的WMI服务并执行操作。这里演示如何通过WMI在远程主机上启动BAT文件:
首先,安装所需库,如`System.Management`,这是.NET Framework的一部分,无需额外安装[^3]。
```csharp
using System;
using System.Management;
class Program
{
static void Main(string[] args)
{
// 远程主机的IP地址和共享资源名(对于共享文件夹)
string remoteComputer = "192.168.1.109";
string batFilePath = @"\\remoteComputer\share\example.bat";
// 创建一个连接到远程计算机的管理对象
ManagementScope scope = new ManagementScope("\\\\" + remoteComputer + "\\root\\CIMV2");
try
{
// 使用WMI运行bat文件
using (ManagementJob job = scope.CreateMethodCallJob("Exec", new object[] { batFilePath }, null))
{
// 启动作业
job.Run();
// 等待作业完成
job.WaitForCompletion();
if (job.Status == ManagementJobStatus.CompletedSuccessfully)
Console.WriteLine("Bat file executed successfully on the remote host.");
else
Console.WriteLine("Failed to execute bat file remotely.");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error occurred: {ex.Message}");
}
}
}
```
阅读全文