Skip to content
Snippets Groups Projects

Sync-DnsDomain

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Adphi
    Edited
    Sync-DnsDomain.ps1 1.10 KiB
    function Sync-DnsDomain {
        <#
        .SYNOPSIS
        Sync-DNSDomain synchronize DNS Server Name with Active Directory Domain
    
        .DESCRIPTION
        Sync-DNSDomain synchronize DNS Server Name with Active Directory Domain
    
        .ROLE
        Administrators
        #>
        param(
            [Switch]
            $Restart
        )
        $dnsDomain = (Get-DnsServerSetting).ComputerName -Replace "$env:ComputerName.", ""
        if (!$dnsDomain) {
            Write-Error "Cannot find Dns Server Domain"
            return 1
        }
        $dcDomain = (Get-ADDomain).DNSRoot
        if (!$dcDomain) {
            Write-Error "Cannot find Active Directory Domain"
            return 1
        }
        if ($dcDomain -eq $dnsDomain) {
            Write-Host "DC domain and DNS domain are already synched: $dnsDomain"
            return 0
        }
        netdom computername "$env:ComputerName.$dnsDomain" /add:"$env:ComputerName.$dcDomain"
        netdom computername "$env:ComputerName.$dnsDomain" /makeprimary:"$env:ComputerName.$dcDomain"
        if ($Restart) {
            Write-Host "Restarting Computer"
            Restart-Computer -Force -Wait
            return 0
        }
        Write-Host "The computer must be restarted"
    }
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment