首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改包含特定ConnectionSpecificSuffix的所有NICS的DNS服务器?

如何更改包含特定ConnectionSpecificSuffix的所有NICS的DNS服务器?
EN

Stack Overflow用户
提问于 2019-03-18 20:35:40
回答 2查看 965关注 0票数 1

我目前可以更改计算机列表中所有NICS的DNS服务器。

代码语言:javascript
复制
$computer = gc C:\computerlist.txt

$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration -computername $computer | where { $_.IPEnabled -eq "TRUE"}

ForEach($NIC in $NICs) {
    $DNSServers = "10.1.140.3", "10.1.140.4"  # CHANGE THIS TO THE IP YOU WANT TO USE
    $NIC.SetDNSServerSearchOrder($DNSServers)
    $NIC.SetDynamicDNSRegistration(“TRUE”)
}

如何只更改连接到某个域名的NIC的DNS服务器?有些计算机可能有多个NIC,我只想更改连接到"mytestdomain.local“的NICS的DNS设置。

从阅读PowerShell示例来看,ConnectionSpecificSuffix显示的是域名。(-ConnectionSpecificSuffix "mytestdomain.local")

有没有一种方法可以编辑我的脚本,并且只更改包含"mytestdomain.local“后缀的NIC的DNS设置?

这并不是:

代码语言:javascript
复制
$computer = gc C:\computerlist.txt

$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration -computername $computer | where { $_.IPEnabled -eq "TRUE" -and $_.ConnectionSpecificSuffix -eq "mytestdomain.local"}

ForEach($NIC in $NICs) {
    $DNSServers = "10.1.140.3", "10.1.140.4"  # CHANGE THIS TO THE IP YOU WANT TO USE
    $NIC.SetDNSServerSearchOrder($DNSServers)
    $NIC.SetDynamicDNSRegistration(“TRUE”)
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-18 22:48:33

Win32_NetworkAdapterConfiguration实例没有ConnectionSpecificSuffix成员。然而,它们确实具有DNSDomainDNSDomainSuffixSearchOrder属性。

所以,我想你要找的是.

代码语言:javascript
复制
$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration -computername $computer `
    | where { $_.IPEnabled -eq "TRUE" -and $_.DNSDomain -eq "mytestdomain.local" }

或者,如果您想测试目标域是否在任何搜索后缀中,不管顺序如何,那么您可以这样做.

代码语言:javascript
复制
$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration -computername $computer `
    | where { $_.IPEnabled -eq "TRUE" -and $_.DNSDomainSuffixSearchOrder -contains "mytestdomain.local" }

顺便说一句,这是未经测试的,但如果您的Windows版本足够新,您可以使用模块来简化您的代码,使之类似于.

代码语言:javascript
复制
Get-DnsClient -ConnectionSpecificSuffix 'mytestdomain.local' `
    | Set-DnsClientServerAddress -ServerAddresses '10.1.140.3', '10.1.140.4'

看起来,使用Set-DnsClient参数调用-RegisterThisConnectionsAddress可能与调用SetDynamicDNSRegistration做同样的事情。

票数 1
EN

Stack Overflow用户

发布于 2019-03-18 23:09:54

有一些预先构建好的脚本可以把你带到你想要去的地方。根据需要用柚木。例如:

Set-DNSServerSearchOrder 有时,有必要在未从DHCP接收其IP的计算机上设置DNS服务器搜索顺序。这个函数将允许您这样做。要验证DNS服务器搜索顺序的当前设置,可以运行以下Get-WmiObject命令并选择 下载: Set-DNSServerSearchOrder.ps1

代码语言:javascript
复制
# Validate DNS Search order
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName "Server01" -Filter "IPEnabled=TRUE" | Select PSComputerName,DNSServerSearchOrder

# or using the DNS cmdlets to first collect the info
(DnsClientGlobalSetting).SuffixSearchList -match $env:USERDNSDOMAIN
Get-DnsClientServerAddress -AddressFamily IPv4 | Select *
(Get-DnsClientServerAddress -AddressFamily IPv4).ServerAddresses

# Modify DNS search order
function Set-DNSServerSearchOrder 
{
    Param
    (
        [Parameter(ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)]
        $ComputerName=$Env:ComputerName,
        [String[]]$DNSServers = @("10.10.10.1","10.10.10.2")
    )

    $getWmiObjectSplat = @{
        Filter = "IPEnabled=TRUE"
        ComputerName = $ComputerName
        Class = 'Win32_NetworkAdapterConfiguration'
    }
    $NICs = Get-WmiObject @getWmiObjectSplat

    foreach($NIC in $NICs) 
    {
        $NIC.SetDNSServerSearchOrder($DNSServers) | 
        out-null
    }
}

使用CIM查看/修改信息。利用这个..。

代码语言:javascript
复制
$nics = [wmiclass]'win32_Networkadapterconfiguration'
[wmiclass]'Win32_NetworkAdapterConfiguration'
$nics.GetMethodParameters("SetDNSSuffixSearchOrder")
$nics | select -ExpandProperty Properties
DNSDomainSuffixSearchOrder
DNSServerSearchOrder


$cimClass = Get-CimClass win32_Networkadapterconfiguration
$cimClass.CimClassMethods
$cimClass.CimClassMethods["SetDNSSuffixSearchOrder"].Parameters
$cimClass.CimClassMethods["EnableDNS"].Parameters
$cimClass.CimClassMethods["EnableDNS"].Qualifiers

Get-WmiObject -Class win32_Networkadapterconfiguration
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55229652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档