Я ищу способ включить или отключить DHCP с помощью С# на данном сетевом адаптере. ища самое простое решение.
Спасибо.
Вы можете использовать Process
для запуска команд netsh, чтобы установить все свойства в сетевых диалогах.
например: Чтобы установить статический ipaddress на адаптер
netsh interface ip set address "Local Area Connection" static 192.168.0.10 255.255.255.0 192.168.0.1 1
Чтобы установить его на dhcp, вы должны использовать
netsh interface ip set address "Local Area Connection" dhcp
Сделать это с С# было бы
Process p = new Process();
ProcessStartInfo psi = new ProcessStartInfo("netsh", "interface ip set address \"Local Area Connection\" static 192.168.0.10 255.255.255.0 192.168.0.1 1");
p.StartInfo = psi;
p.Start();
Установка на статику может занять до двух секунд, поэтому, если вам нужно, убедитесь, что вы дождались завершения процесса.
Может быть..
const string networcCardName = "[00000007] Intel(R) Ethernet Connection I217-LM"; //Example NIC name
var management = new ManagementClass("Win32_NetworkAdapterConfiguration");
var moc = management.GetInstances();
foreach (var o in moc)
{
var mo = (ManagementObject) o;
if (!(bool) mo["IPEnabled"]) continue;
if (!mo["Caption"].Equals(networcCardName)) continue;
var ndns = mo.GetMethodParameters("SetDNSServerSearchOrder");
ndns["DNSServerSearchOrder"] = null;
var enableDhcp = mo.InvokeMethod("EnableDHCP", null, null);
var setDns = mo.InvokeMethod("SetDNSServerSearchOrder", ndns, null);
}