Get the App
SLTechnology News&Howtos  ›  Network Security  › 

Powershell script-DNS

Shulou Source: shulou.com Published: 2022-06-01 09:07:30 10月02日 Update

Function InstallDNS

{

Servermanagercmd-Q c:\ role.xml | Out-Null

$xml= [XML] (Get-Content c:\ role.xml)

$dnsrole=$xml.servermanagerconfigurationquery.role | where {$_ .id-eq "dns"}

If ($dnsrole.Installed-eq $false)

{

Servermanagercmd-I $dnsrole.id

}

Else {Write-Host "DNS server role has been installed!"}

$dns=Get-Service dns

If ($dns.status-ne "Running")

{

Start-Service dns

}

}

Function SetIP

{

$nic=gwmi Win32_NetworkAdapterConfiguration-Filter "IPEnabled=$true"

If ($nic.DHCPEnabled)

{

Write-Host "set now" $nic.Description

$ip= "192.168.10.10"

$mask= "255.255.255.0"

$dns= "127.0.0.1"

$nic.EnableStatic ($ip,$mask)

$nic.SetDNSServerSearchOrder ($dns)

}

}

Function DnsConfig

{

$zonename= "benet.com"

$Aname= "www" # Host name

$Aip= "192.168.10.12" # Host IP address

$Aip_bj= "192.168.10.32"

$Cname= "ftp"

$zonename_bj= "bj.benet.com"

$ns= "server01.benet.com"

$nsip= "192.168.10.20"

$forwarder= "server02.benet.com"

$forwarderip= "192.168.10.30"

Write-Host "sets the forward search area."

Start-Sleep 2

Dnscmd / zoneadd $zonename / primary / file benet.dns # create a forward lookup zone

$reversip= "10.168.192" # set the reverse lookup area network ID

$reverszone=$reversip+ ".in-addr.arpa"

Write-Host "sets the reverse search area."

Start-Sleep 2

Dnscmd / zoneadd $reverszone / primary # create a reverse lookup zone

Write-Host "add Host record"

Start-Sleep 2

Dnscmd / recordadd $zonename $Aname A $Aip # set up www host IP

Dnscmd / recordadd $reverszone $Aip.split (".") [3] PTR $Aname "." $zonename # sets the reverse query name of the www host

Write-Host "set aliases"

Start-Sleep 2

Dnscmd / recordadd $zonename $Cname CNAME $Aname "." $zonename # sets the www host alias to ftp

Write-Host "set Benet.com subdomain BJ"

Start-Sleep 2

Dnscmd / zoneadd $zonename_bj / primary

Write-Host "add host record in bj.benet.com"

Start-Sleep 2

Dnscmd / recordadd $zonename_bj $Aname A $Aip_bj # add www host record to subdomain bj.betnet.com

Dnscmd / recordadd $reverszone $Aip_bj.split (".") [3] PTR $Aname "." $zonename_bj # adds a reverse query to the subdomain bj.benet.com

Write-Host "set host aliases in bj.benet.com"

Start-Sleep 2

Dnscmd / recordadd $zonename_bj $Cname CNAME $Aname "." $zonename_bj # sets the www.bj.benet.com host alias to ftp

Write-Host "add name server Server01"

Start-Sleep 2

Dnscmd / recordadd $zonename $ns.TrimEnd ("benet.com") A $nsip # add server01's host record

Dnscmd / recordadd $reverszone $nsip.split (".") [3] PTR $ns # add reverse query record for server01

Dnscmd / recordadd $zonename "@" NS $ns # sets server01 as the name server

Write-Host "delegate sh.benet.com settings to Server01"

Start-Sleep 2

Dnscmd / recordadd $zonename sh NS $ns

Write-Host "set DNS service forwarder to Server02"

Start-Sleep 2

Dnscmd / recordadd $zonename $forwarder.TrimEnd ("benet.com") A $forwarderip

Dnscmd / recordadd $reverszone $forwarderip.split (".") [3] PTR $forwarder

The dnscmd / resetforwarders $forwarderip / timeout 5 / slave # parameter Slave means that if the transponder fails to complete the query, no iterative query is performed, and / noslave enables the iterative query

}

InstallDNS

SetIP

DnsConfig

Tags: Host query zone name service server subdomain alias transponder search iteration parameter address network role delegate script Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux MariaDB Huawei NVidia macOS