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