A Windows DNS szerver adminisztrátora a régi jó segédprogrammal kezelheti a szervert, a DNS zónákat és a rekordokat dnscmd
, vagy használja ki a PowerShell modult DNSServer. Ebben a cikkben a DNS-rekordok és zónák tömeges létrehozása, módosítása és törlése alapvető műveleteit fogjuk bemutatni a PowerShell használatával.
Tartalom:
- PowerShell modul - DNSServer
- DNS-zónák kezelése a PowerShell segítségével
- Kezelje a DNS-rekordokat a DNSServer modul segítségével
- Több A / PTR rekord hozzáadása a DNS-zónához a PowerShell használatával?
PowerShell modul - DNSServer
PowerShell modul DNSServer az RSAT része. Windows 10 rendszeren az RSAT külön van telepítve, a Windows Server rendszeren pedig a Server Manager segítségével telepítheti a modult (Szerepfelügyeleti eszközök -> Dns szerver eszközök).
Ellenőrizze, hogy a rendszer rendelkezik-e PoSh DNSServer modullal:
Get-Modul DNSServer -ListAvailable
A parancsokat felsorolhatja (a Windows Server 2012 R2 modulverziójában több mint 100 parancs érhető el):
Get-Modul DNSServer
DNS-zónák kezelése a PowerShell segítségével
Felsoroljuk a DNS-kiszolgálón lévő zónákat (esetünkben ez a tartományvezérlő):
Get-DnsServerZone -ComputerName dc01
Új contoso.local elnevezésű elsődleges DNS-zóna hozzáadásához futtassa a következő parancsot:
Add-DnsServerPrimaryZone -Név contoso.local -ReplicationScope "Forest" -PassThru
Mint láthatja, létrejött egy elsődleges DNS-zóna, amely integrálva van az Active Directory-ba (isDsIntegrated = True).
Megadhat egy fordított keresési zónát (Lockup Zone):
Add-DnsServerPrimaryZone -NetworkId "192.168.1.0/24" -ReplicationScope domain
Az új zóna szinkronizálásához a tartomány többi DC-jével futtassa a következő parancsot:
Sync-DnsServerZone -passthru
Az új DNS-zónában a bejegyzéseket soroljuk fel (üres):
Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local
Zóna törléséhez használja a következő parancsot:
Remove-DnsServerZone -Name contoso.local -ComputerName dc01
Ez a parancs a zónában lévő összes meglévő DNS rekordot is törli..
Kezelje a DNS-rekordokat a DNSServer modul segítségével
Új A rekord létrehozásához a megadott DNS-zónában használja a következő parancsot:
Add-DnsServerResourceRecordA -Név rds1 -IPv4Cím 192.168.1.30 -ZoneName contoso.local -TimeToLive 01:00:00
PTR-rekord hozzáadásához a fordított zónába az előző parancsban hozzáadhat egy paramétert -CreatePtr vagy manuálisan hozzon létre egy mutatót az Add-DNSServerResourceRecordPTR parancsmaggal:
Add-DNSServerResourceRecordPTR -ZoneName 1.168.192.in-addr.arpa -Name 30 -PTRDomainName rds1.contoso.local
Álnév hozzáadásához (CNAME) egy adott A rekordhoz használja a következő parancsot:
Add-DnsServerResourceRecordCName -ZoneName contoso.local -Név RDSFarm -HostNameAlias rds1.contoso.local
Ennek az A rekordnak az IP címének megváltoztatásához meglehetősen bonyolult sémát kell használnia, mert nem módosíthatja közvetlenül a DNS-rekord IP-címét.
$ NewADNS = get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local -ComputerName dc01
$ OldADNS = get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local -ComputerName dc01
Most változtassa meg a $ NewADNS objektum IPV4Address tulajdonságát
$ NewADNS.RecordData.IPv4Address = [System.Net.IPAddress] :: elemzés ('192.168.1.230')
Most változtassa meg a bejegyzés IP-címét a Set-DnsServerResourceRecord használatával:
Set-DnsServerResourceRecord -NewInputObject $ NewADNS -OldInputObject $ OldADNS -ZoneName contoso.local -ComputerName dc01
Ellenőrizze, hogy a bejegyzés IP-címe megváltozott:
get-DnsServerResourceRecord -Name rds1 -ZoneName contoso.local
Az azonos típusú DNS rekordokat felsorolhatja, ha megadja az argumentumban a típust -RRType. Sorolja fel a CNAME rekordokat a zónában:
Get-DnsServerResourceRecord -ComputerName DC01 -ZoneName contoso.local -RRType CNAME
Szűrőt is használhat a DNS-rekordok különféle paramétereire a Where-Object használatával. Például olyan A rekordokat sorolunk fel, amelyeknek a neve az rds kifejezést tartalmazza.
Get-DnsServerResourceRecord -ZoneName contoso.local -RRType | Hol-Object HostName-szerű "* rds *"
A DNS-ben lévő rekordok eltávolításához használja az Remove-DnsServerResourceRecord parancsmagot..
Például egy CNAME rekord törléséhez futtassa:
Remove-DnsServerResourceRecord -ZoneName contoso.local -RRType CName -Name RDSFarm
A rekord törlése:
Remove-DnsServerResourceRecord -ZoneName contoso.local -RRType A -Name rds1 -Force
PTR-rekord eltávolítása a fordított zónából:
Remove-DnsServerResourceRecord -ZoneName “1.168.192.in-addr.arpa” -RRType “PTR” -Name “30”
Több A / PTR rekord hozzáadása a DNS-zónához a PowerShell használatával?
Tegyük fel, hogy egyszerre sok A rekordot kell létrehoznia egy adott DNS közvetlen keresési zónában. Egyszerre elindíthatja őket az Add-DnsServerResourceRecordA paranccsal, de könnyebb és gyorsabb az A bejegyzések tömeges indítása egy listából egy fájlból.
Hozzon létre egy NewDnsRecords.txt szöveges fájlt a megszerezni kívánt nevekkel és IP-címekkel. A fájl formátuma a következő:
HostName, IPAddress
A rekordok létrehozásához a contoso.local zónában, egy TXT / CSV fájl adatai alapján, használja a következő PowerShell szkriptet:
Import-CSV "C: \ PS \ NewDnsRecords.txt" | %
Add-DNSServerResourceRecordA -ZoneName contoso.local -Name $ _. "HostName" -IPv4Address $ _. "IPAddress"
Ha azonnal fel akar venni a fordított zónában, akkor adja hozzá az Add-DNSServerResourceRecordA paramétert a parancshoz -CreatePtr.
Most használja a DNS Manager konzolt (dnsmgmt.msc) vagy a parancsot Get-DnsServerResourceRecord -ZoneName contoso.local
ellenőrizze, hogy minden A rekord sikeresen létrejött-e.
Ha masszív PTR-rekordokat kell létrehoznia a fordított keresési zónában, hozzon létre egy text / csv fájlt a következő struktúrával
oktett, 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.
Ezután futtassa ezt a szkriptet:
Import-CSV "C: \ PS \ NewDnsPTRRecords.txt" | %
Add-DNSServerResourceRecordPTR -ZoneName $ _. "ZoneName" -Name $ _. "Octet" -PTRDomainName $ _. "HostName"
Ellenőrizze, hogy a PTR-rekordok megjelennek-e a megadott fordított DNS-zónában..