2016-12-07 10 views
0

特定のインターフェイスでIPv6をプログラムで有効にする方法を教えてください。 netsh、WMI、またはC#プログラムから呼び出すことができるものであればどれでもかまいません。インターフェイスのプロパティでチェックボックスをクリックするのと同じです。Windowsのインターフェイスでipv6を有効にする

答えて

0

これは、(Windowsの8+)作品:

static void SetIPv6State(Guid interfaceId, bool state) 
{ 
    var scope = new ManagementScope("\\\\.\\ROOT\\StandardCimv2"); 
    var query = new ObjectQuery("SELECT * FROM MSFT_NetAdapterBindingSettingData"); 
    var methodName = state ? "Enable" : "Disable"; 
    using (var searcher = new ManagementObjectSearcher(scope, query)) 
    using (var bindings = searcher.Get()) 
    { 
     var binding = bindings.Cast<ManagementObject>().Single(obj => (string)obj["InstanceID"] == interfaceId.ToString("B").ToUpper() + "::ms_tcpip6"); 
     var parameters = binding.GetMethodParameters(methodName); 
     binding.InvokeMethod(methodName, parameters, new InvokeMethodOptions()); 
    } 
} 

のWindows 7は、C++のコードが必要です。

関連する問題