Im Post 3190 habe ich zwei Batchdateien vorgestellt, mit dessen Hilfe man A bzw. Reverse Records im Windows DNS mit Hilfe von dnscmd erstellen  kann. Gestern ist mir dann bei der erneuten Verwendung aufgefallen, dass ich den DNS-Typ, ob A- oder CNAME-Record, statisch verarbeite.

    Daraufhin habe ich mir heute ein kleines Powershell-Script erstellt, dass aus einer Eingabedatei.

    # http://www.johndcook.com/PowerShellCookbook.html#a19
    # Default: Set-Executionpolicy restricted
    # Modify: Set-Executionpolicy unrestricted
    $dnsserver="DNS-Server"
    $zonename="Zonenname"
    $createptr="true"
    $info = get-content dns.txt
    foreach ($i in $info) {
     $line = $i.split("`t")
     $hostname = $line[0]
     $dnstype = $line[1].split("(")
     $dnstype = $dnstype[1]
     $dnstype = $dnstype.split(")")
     $target  = $line[2]
     $forward = "dnscmd $dnsserver /recordadd $zonename $hostname $dnstype $target"
     $forward.ToLower()
     If ($createptr -eq "true"){
      if ($target -as [ipaddress]){
       $ipv4   = $target.split(".")
       $result = "dnscmd $dnsserver /recordadd "
       $result += $ipv4[1]
       $result += "."
       $result += $ipv4[0]
       $result += ".in-addr.arpa "
       $result += $ipv4[3]
       $result += "."
       $result += $ipv4[2]
       $result += " PTR $hostname"
       $result += ".$zonename"
       $result += "."
       $result.ToLower()
      }
     }
    # Write-Host "Hostname ": $hostname
    # Write-Host "DNS-Typ": $dnstype
    # Write-Host "Target" : $target
    }
    exit

    Leave A Reply