Powershell: dnscmd Befehle aus DNS Quelldatei erstellen

0

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
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

Antworten