Stvorite i upravljajte DNS zapisima i zonama iz PowerShell-a

Windows DNS poslužitelj poslužitelja može upotrebljavati stari dobri uslužni program za upravljanje poslužiteljem, DNS zonama i zapisima dnscmd, ili iskoristite PowerShell modul DNSServer. U ovom ćemo članku pokriti osnovnu operaciju masovnog stvaranja, izmjene i brisanja različitih DNS zapisa i zona pomoću PowerShell-a..

sadržaj:

  • PowerShell modul - DNSServer
  • Upravljanje DNS zonama iz PowerShell-a
  • Upravljanje DNS zapisima pomoću DNSServer modula
  • Kako dodati više A / PTR zapisa u DNS zonu pomoću PowerShell-a?

PowerShell modul - DNSServer

PowerShell modul DNSServer dio RSAT-a. U sustavu Windows 10 RSAT se instalira odvojeno, a na Windows Serveru modul možete instalirati putem Upravitelja poslužitelja (Alati za upravljanje ulogama -> Dns poslužiteljski poslužitelji).

Provjerite ima li sustav PoSh DNSServer modul:

Get-Modul DNSServer -ListAvailable

Naredbe možete navesti u njemu (u verziji modula na Windows Server 2012 R2 dostupno je više od 100 naredbi):

Get-modul DNSServer

Upravljanje DNS zonama iz PowerShell-a

Nabrajamo zone na DNS poslužitelju (u našem slučaju to je kontroler domene):

Get-DnsServerZone -ComputerName dc01

Da biste dodali novu primarnu DNS zonu pod nazivom contoso.local, pokrenite naredbu:

Add-DnsServerPrimaryZone -Name contoso.local -ReplicationScope "Forest" -PassThru

Kao što vidite, stvorena je primarna DNS zona koja je integrirana u Active Directory (isDsIntegrated = True).

Možete stvoriti zonu obrnutog pretraživanja (Lockup Zone):

Domena dodavanja-DnsServerPrimaryZone -NetworkId "192.168.1.0/24" -ReplicationScope Domain

Za sinkronizaciju nove zone s drugim DC-ovima u domeni, pokrenite naredbu:

Sync-DnsServerZone -passthru

Navodimo unose u novoj DNS zoni (prazan je):

Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local

Da biste izbrisali zonu, koristite naredbu:

Ukloni-DnsServerZone -Name contoso.local -ComputerName dc01

Ova naredba će također izbrisati sve postojeće DNS zapise u zoni..

Upravljanje DNS zapisima pomoću DNSServer modula

Za stvaranje novog zapisa A u navedenoj DNS zoni koristite naredbu:

Add-DnsServerResourceRecordA -Name rds1 -IPv4Adresa 192.168.1.30 -ZoneName contoso.local -TimeToLive 01:00:00

Za dodavanje PTR zapisa u obrnutu zonu, u prethodnoj naredbi možete dodati parametar -CreatePtr ili ručno stvorite pokazivač s cmdletom Add-DNSServerResourceRecordPTR:

Add-DNSServerResourceRecordPTR -ZoneName 1.168.192.in-addr.arpa -Name 30 -PTRDomainName rds1.contoso.local

Da biste dodali pseudonim (CNAME) za određeni zapis A koristite naredbu:

Add-DnsServerResourceRecordCName -ZoneName contoso.local -Name RDSFarm -HostNameAlias ​​rds1.contoso.local

Za promjenu IP adrese ovog A zapisa potrebno je koristiti prilično kompliciranu shemu, jer ne možete izravno promijeniti IP adresu DNS zapisa.

$ NewADNS = get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local -ComputerName dc01
$ OldADNS = get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local -ComputerName dc01

Sada promijenite svojstvo IPV4Address za $ NewADNS objekt

$ NewADNS.RecordData.IPv4Address = [System.Net.IPAddress] :: raščlanjivanje ('192.168.1.230')

Sada promijenite IP adresu unosa pomoću Set-DnsServerResourceRecord:

Set-DnsServerResourceRecord -NewInputObject $ NewADNS -OldInputObject $ OldADNS -ZoneName contoso.local -ComputerName dc01

Provjerite je li promijenjena IP adresa A unosa:

get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local

Možete navesti DNS zapise iste vrste navođenjem vrste u argumentu -RRType. Navedi CNAME zapise u zoni:

Get-DnsServerResourceRecord -ComputerName DC01 -ZoneName contoso.local -RRType CNAME

Možete koristiti i filtar za razne parametre DNS zapisa koristeći Where-Object. Na primjer, nabrajamo zapise A koji u nazivu sadrže izraz rds.

Get-DnsServerResourceRecord -ZoneName contoso.local -RRType A | Gdje-objekt HostName -like "* rds *"

Za uklanjanje zapisa u DNS-u upotrijebite cmdlet Remove-DnsServerResourceRecord..

Na primjer, za brisanje zapisa CNAME pokrenite:

Ukloni-DnsServerResourceRecord -ZoneName contoso.local -RRType CName -Name RDSFarm

Za brisanje zapisa:

Ukloni-DnsServerResourceRecord -ZoneName contoso.local -RRType A -Name rds1 -Force

Za uklanjanje PTR zapisa u obrnutoj zoni:

Remove-DnsServerResourceRecord -ZoneName "1.168.192.in-addr.arpa" -RRType "PTR" -Name "30"

Kako dodati više A / PTR zapisa u DNS zonu pomoću PowerShell-a?

Pretpostavimo da morate stvoriti više A zapisa odjednom u određenoj zoni izravnog pretraživanja DNS-a. Možete ih pokrenuti jedan po jedan pomoću naredbe Add-DnsServerResourceRecordA, ali je lakše i brže skupno unositi stavke A s popisa iz datoteke.

Napravite tekstualnu datoteku NewDnsRecords.txt s imenima i IP adresama koje želite dobiti. Format datoteke je sljedeći:

Ime hosta, IP adresa

Za izradu A zapisa u zoni contoso.local prema podacima iz TXT / CSV datoteke, koristite sljedeću skriptu PowerShell:

Uvezi-CSV "C: \ PS \ NewDnsRecords.txt" | %
Add-DNSServerResourceRecordA -ZoneName contoso.local -Name $ _. "HostName" -IPv4Address $ _. "IPAddress"

Ako želite odmah snimiti u reverznoj zoni, dodajte parametar Add-DNSServerResourceRecordA u naredbu -CreatePtr.

Sada koristite konzolu DNS upravitelja (dnsmgmt.msc) ili naredbu Get-DnsServerResourceRecord -ZoneName contoso.local provjerite jesu li svi A zapisi uspješno stvoreni.

Ako trebate masovno stvarati PTR zapise u zoni obrnutog pretraživanja, stvorite text / csv datoteku sa sljedećom strukturom

oktet, hostName, zoneName 65, rds5.contoso.local, 1.168.192.in-addr.arpa 66, rds6.contoso.local, 1.168.192.in-addr.arpa 67, rds7.contoso.local, 1.168.192 .in-addr.arpa. 

Zatim pokrenite ovu skriptu:

Uvezi-CSV "C: \ PS \ NewDnsPTRRecords.txt" | %
Add-DNSServerResourceRecordPTR -ZoneName $ _. "ZoneName" -Name $ _. "Octet" -PTRDomainName $ _. "HostName"

Provjerite pojavljuju li se PTR zapisi u specificiranom reverznom DNS području..