删除条目并将其添加到 DNS 后缀

Mat*_*att 5 windows dns powershell

通过命令行参数或 PowerShell 我想操作以下列表:

在此处输入图片说明

如果您想知道为什么,那是因为一个非常具体的 VPN 在您连接时将其设置为客户端的域,但从未将其删除。它中断了我所有的本地访问,并且总是替换列表中的所有条目,它不仅仅是添加到列表中。

我尝试了我发现的注册表设置,例如添加到搜索列表中 HKLM\System\currentcontrolset\services\tcpip\parameters

我试过刷新我的 dns,重置网络适配器。

我尝试寻找其他注册表项,编辑特定于适配器的 dns 后缀。

这些似乎都没有对这个列表产生实际影响,但是,每次使用 VPN 客户端时,它都会以某种方式破坏我的网络连接。

这里关于 SU 的现有问题没有解决这个问题。一切都解决了前面提到的要点,但不是这个实际框中的值。到目前为止,我已经尝试了所有零影响的变化。

Vom*_*yle 6

重要提示:从管理员提升的环境/shell/命令提示符运行这些方法。

  1. 只需运行即可Set-DnsClientGlobalSetting -SuffixSearchList @("")完全删除所有 DNS 后缀。

  2. 通过一些 PowerShell 逻辑,您可以...

    • 设置要从配置列表中排除的 DNS 名称
    • 在循环中运行条件逻辑,并使用-notin比较运算符来设置和附加[array]变量,使用+=赋值运算符构建一个列表,省略排除的 DNS 名称
    • Set-DnsClientGlobalSetting -SuffixSearchList @($nList);最后使用新的列表变量作为参数值与命令一起传入

PowerShell脚本

$ExcldDomain = "myDomain.com";                      ## Set excluded domain(s)
$s = (Get-DnsClientGlobalSetting).SuffixSearchList; ## Get current suffixes

$nList = @();
$s | % {If($_ -notin $ExcldDomain){[array]$nList += [array]$_}};

Stop-Service -Name "SONICWALL_NetExtender" -Force;
Set-DnsClientGlobalSetting -SuffixSearchList @($nList);
Run Code Online (Sandbox Code Playgroud)

支持资源