【问题标题】:Azure DSC. HA Active Directory Domain Controller issue with Windows Server 2016Azure DSC。 Windows Server 2016 的 HA Active Directory 域控制器问题
【发布时间】:2017-02-07 18:12:06
【问题描述】:

我正在尝试修改官方 HA DC 示例以使用 Windows Server 2016。https://github.com/Azure/azure-quickstart-templates/tree/master/active-directory-new-domain-ha-2-dc 在更新了解决 Windows Server 2016 上的竞争条件的 xActiveDirectory 模块后,它又给了我一个错误。驻留在 ConfigureADBDC.ps1 中的最终脚本失败:

                Script script1
    {
        SetScript =
        {
            $dnsFwdRule = Get-DnsServerForwarder
            if ($dnsFwdRule)
            {
                Remove-DnsServerForwarder -IPAddress $dnsFwdRule.IPAddress -Force
            }
            Write-Verbose -Verbose "Removing DNS forwarding rule"
        }
        GetScript =  { @{} }
        TestScript = { $false}
        DependsOn = "[xADDomainController]BDC"

PowerShell DSC 资源 MSFT_ScriptResource 无法执行 Set-TargetResource 功能并显示错误消息:无法获取服务器 ADBDC 的信息。 当我执行Get-DnsServerForwarder 时,我看到了:

PS C:\Users\adAdministrator> Get-DnsServerForwarder
    UseRootHint        : True
    Timeout(s)         : 3
    EnableReordering   : True
    IPAddress          : 
    ReorderedIPAddress : 

但是一段时间后它会变成这样:

PS C:\Users\adAdministrator> Get-DnsServerForwarder
    UseRootHint        : True
    Timeout(s)         : 3
    EnableReordering   : True
    IPAddress          : 10.0.0.4
    ReorderedIPAddress : 10.0.0.4

所以,我的问题是。 DnsServerForwarder 是做什么用的?那还需要吗?如何解决这个问题?

【问题讨论】:

    标签: powershell azure dsc


    【解决方案1】:

    嗯,一个骇人听闻的方法是:

    SetScript = {
        do {
            $dnsFwdRule = Get-DnsServerForwarder
        } while ( $dnsFwdRule.IPAddress -eq $null )
        if( $dnsFwdRule ) {
            Remove-DnsServerForwarder -IPAddress $dnsFwdRule.IPAddress -Force
        } 
        Write-Verbose -Verbose "Removing DNS forwarding rule"
    }
    

    注意,这可能会导致无限循环;)您可以通过添加以下内容来解决此问题:

    $i = 0
    do
    {
        $i++
        Start-Sleep 10
        $dnsFwdRule = Get-DnsServerForwarder
    }
    while ($i -lt 10 -and $dnsFwdRule.IPAddress -eq $null) 
    

    关于第一个问题:

    Get-DnsServerForwarder cmdlet 获取 DNS 服务器上的配置设置。转发器是网络上的域名系统 (DNS) 服务器,用于将外部 DNS 名称的 DNS 查询转发到该网络之外的 DNS 服务器。

    【讨论】:

    • 谢谢!我真的很感谢你的回答!小问题,我应该删除它还是不删除它?这将如何影响事情?
    • 这是一个相当复杂的问题,看看here。据我所知,127.0.0.1 是 DC 推荐的 DNS 转发器(或者没有,升级时会变成 127.0.0.1)
    • 干杯!这很有帮助!
    猜你喜欢
    • 2020-01-19
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多