J'ai un problème avec l'ensemble Ipv6 dans Windows.
Le code ci-dessous peut définir une adresse IPv4 mais je ne peux pas essayer de définir IPv6.
S'il vous plaît aidez-moi.Définir ipv6 pour Windows avec C#
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
try
{
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
// Make sure this is a IP enabled device. Not something like memory card or VM Ware
if ((bool)mo["IPEnabled"])
{
if (mo["Caption"].Equals(nicName))
{
ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");
ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");
ManagementBaseObject newDNS = mo.GetMethodParameters("SetDNSServerSearchOrder");
newGate["DefaultIPGateway"] = new string[] { Gateway };
newGate["GatewayCostMetric"] = new int[] { 1 };
newIP["IPAddress"] = IpAddresses.Split(',');
newIP["SubnetMask"] = new string[] { SubnetMask };
newDNS["DNSServerSearchOrder"] = DnsSearchOrder.Split(',');
ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);
ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGate, null);
ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);
break;
}
}
}
}
catch (Exception ex)
{
string str = ex.Message;
}
Oui, je pense que "Link Local IPv6" est assigné par adresse MAC, nous pouvons en ajouter plus mais ne pouvons pas le changer. –
Avez-vous essayé d'utiliser P/Invoke pour la méthode IPHLPAPI.DLL SetUnicastIpAddressEntry? Je n'ai pas eu besoin de l'essayer, mais cela semble prometteur pour vos besoins. –