Ай Лайн
Связаться
Отдел продаж +7 (812) 385-74-84
Время работы пн-пт с 9:00 до 18:00

Управление DNS-записями и зонами из PowerShell

Шпаргалка по модулю DnsServer — просмотр, добавление и удаление записей и зон. Часто нужно при удалении контроллера домена (зачистка A/NS-записей мёртвого DC) и общем обслуживании DNS.

Просмотр

# все зоны на сервере
Get-DnsServerZone

# все записи зоны
Get-DnsServerResourceRecord -ZoneName "ad.example.com"

# только записи определённого типа
Get-DnsServerResourceRecord -ZoneName "ad.example.com" -RRType A
Get-DnsServerResourceRecord -ZoneName "ad.example.com" -RRType NS

# найти все записи, указывающие на конкретный IP (например, мёртвый DC)
Get-DnsServerResourceRecord -ZoneName "ad.example.com" |
  Where-Object { $_.RecordData.IPv4Address -eq "10.0.0.5" }

Добавление записей

Add-DnsServerResourceRecordA    -ZoneName "ad.example.com" -Name "srv-app" -IPv4Address "10.0.0.20"
Add-DnsServerResourceRecordCName -ZoneName "ad.example.com" -Name "wiki" -HostNameAlias "srv-app.ad.example.com"
Add-DnsServerResourceRecordPtr  -ZoneName "0.0.10.in-addr.arpa" -Name "20" -PtrDomainName "srv-app.ad.example.com"

Удаление записей

# удалить A-запись конкретного хоста
Remove-DnsServerResourceRecord -ZoneName "ad.example.com" -RRType A -Name "srv-old" -Force

# удалить все записи мёртвого DC (A + NS), предварительно посмотрев список
Get-DnsServerResourceRecord -ZoneName "ad.example.com" |
  Where-Object { $_.RecordData.IPv4Address -eq "10.0.0.5" } |
  Remove-DnsServerResourceRecord -ZoneName "ad.example.com" -Force

Не забудьте про зону _msdcs.<forest> и обратные (PTR) зоны — записи умершего DC остаются и там.

Зоны

# создать интегрированную в AD прямую зону
Add-DnsServerPrimaryZone -Name "new.example.com" -ReplicationScope Domain

# создать обратную зону
Add-DnsServerPrimaryZone -NetworkID "10.0.0.0/24" -ReplicationScope Domain

# форвардеры
Get-DnsServerForwarder
Set-DnsServerForwarder -IPAddress "8.8.8.8","1.1.1.1"

# удалить зону
Remove-DnsServerZone -Name "old.example.com" -Force

Диагностика

Clear-DnsServerCache -Force
Test-DnsServer -IPAddress 10.0.0.10 -ZoneName "ad.example.com"
Оставить заявку