gpt4 book ai didi

c# - 在 C# 中以编程方式启用和禁用适配器的 IPv4 和 IPv6

转载 作者:可可西里 更新时间:2023-11-01 02:34:30 26 4
gpt4 key购买 nike

是否可以使用 C# 和 .Net 库或注册表为选定的网络适配器启用/禁用 IPv4 和 IPv6 协议(protocol)?

最佳答案

我试过这个例子 How to disable IPv6 programmatically ,但它在我的电脑上不起作用。

但是,我找到了另一种无需直接编辑注册表即可解决问题的方法。

首先,我将向您展示如何使用 PowerShell 解决此问题。

我们有很多方法可以获取网卡的名称,例如在PowerShell上执行如下命令:

Get-NetAdapter

我们假设 NIC 名称是“Ethernet”。

要启用 IPv6,请在 PowerShell 上执行以下命令:

enable-NetAdapterBinding -Name 'Ethernet' -ComponentID ms_tcpip6

要禁用 IPv6,请在 PowerShell 上执行以下命令:

disable-NetAdapterBinding -Name 'Ethernet' -ComponentID ms_tcpip6

要获取网卡的所有 ComponentID,在 PowerShell 上执行以下命令:

Get-NetAdapterBinding -name 'Ethernet'

现在,我将向您展示如何使用 C# 执行此操作。

1.将名为“Microsoft.PowerShell.5.ReferenceAssemblies”的nuget包安装到你的项目中

2.如果要禁用IPv6,使用下面的代码

using (var powerShell = PowerShell.Create())
{
powerShell.AddScript("Disable-NetAdapterBinding -Name 'Ethernet' -ComponentID ms_tcpip6");
powerShell.Invoke();
if (powerShell.HadErrors)
{
// Failed, do something
return;
}
// Success, do something
return;
}

3.现在,我相信你已经知道如何进行其他类似的操作了。

关于c# - 在 C# 中以编程方式启用和禁用适配器的 IPv4 和 IPv6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com