C#WMI:尝试启用/禁用PPPoE适配器时引发错误
我正在尝试根据启用/禁用我的PPPoE适配器。C#WMI:尝试启用/禁用PPPoE适配器时引发错误,c#,wmi,C#,Wmi,我正在尝试根据启用/禁用我的PPPoE适配器。 它适用于普通适配器,但不适用于PPPoE,因为PPPoE会抛出一个错误: 查询WMI数据时出错:方法参数无效 适配器名称是正确的,我为此使用了WMI查询工具,但我不知道需要设置哪些参数。任何帮助都将不胜感激 编辑 以下是我使用的代码: static void Main(string[] args) { try { ManagementObjectSearcher searche
它适用于普通适配器,但不适用于PPPoE,因为PPPoE会抛出一个错误: 查询WMI数据时出错:方法参数无效 适配器名称是正确的,我为此使用了WMI查询工具,但我不知道需要设置哪些参数。任何帮助都将不胜感激 编辑 以下是我使用的代码:
static void Main(string[] args)
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_NetworkAdapter WHERE Name = 'WAN Miniport (PPPOE)'");
foreach (ManagementObject queryObj in searcher.Get())
{
queryObj.InvokeMethod("Enable", null);
//Console.WriteLine("Name: {0}", queryObj["Name"]);
}
}
catch (ManagementException e)
{
Console.WriteLine("An error occurred while querying for WMI data: " + e.Message);
}
Console.ReadKey();
}
好的,我找到了我的方法,下面是连接/断开PPPoE连接(也称拨号)的代码:
希望这能对某人有所帮助。好的,我找到了连接/断开PPPoE连接(也称拨号)的方法: 希望这能帮助别人
using System;
using System.Linq;
using System.Net;
using DotRas;
namespace Test_Reconnect_PPPoE
{
class Program
{
public static void Main(string[] args)
{
// Connect
using (RasDialer dialer = new RasDialer())
{
dialer.EntryName = "Your Entry (Connection Name)";
dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.User);
dialer.Credentials = new NetworkCredential("username", "password");
dialer.Dial();
Console.WriteLine("Connected");
}
// Disconnect
RasConnection conn = RasConnection.GetActiveConnections().Where(o => o.EntryName == "Your Entry (Connection Name)").FirstOrDefault();
if (conn != null)
{
conn.HangUp();
Console.WriteLine("Disconnected");
}
Console.ReadKey();
}
}
}