Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Quản trị viên Windows có thể sử dụng Dnscmd cũ tốt công cụ cli hoặc DNSServer mô-đun cho PowerShell để quản lý các vùng và bản ghi DNS. Trong bài viết này, chúng tôi sẽ đề cập đến các hoạt động cơ bản của việc tạo, sửa đổi và xóa hàng loạt các bản ghi DNS hoặc vùng khác nhau bằng PowerShell.

Mô-đun DNSServer PowerShell

Máy chủ DNS mô-đun cho PowerShell là một phần của RSAT. Trên Windows 10, bạn sẽ phải cài đặt RSAT riêng và trên Windows Server, bạn có thể bật mô-đun này bằng cách sử dụng GUI Trình quản lý Máy chủ (Công cụ Quản trị Vai trò -> Công cụ Máy chủ DNS).

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Đảm bảo rằng mô-đun DNSServer PowerShell được cài đặt trên máy tính của bạn:

Get-Module DNSServer –ListAvailable

Bạn có thể hiển thị danh sách các lệnh trong đó (phiên bản mô-đun cho Windows Server 2016 có 134 lệnh ghép ngắn):

Get-Module DNSServer

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Quản lý Vùng DNS bằng PowerShell

Hiển thị danh sách các vùng DNS trên máy chủ của bạn (trong trường hợp của chúng tôi, đó là bộ điều khiển miền):

Get-DnsServerZone –ComputerName dc01

Để thêm vùng DNS chính mới có tên woshub.com, hãy chạy lệnh sau:

Add-DnsServerPrimaryZone -Name woshub.com -ReplicationScope "Forest" –PassThru

Như bạn có thể thấy, vùng DNS chính được tích hợp vào Active Directory đã được tạo ( isDsIntegrated =True ).

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Bạn có thể tạo Vùng tra cứu ngược:

Add-DnsServerPrimaryZone -NetworkId "192.168.100.0/24" -ReplicationScope Domain

Để đồng bộ hóa vùng mới với các DC khác trong miền, hãy chạy lệnh sau:

Sync-DnsServerZone –passthru

Hiển thị danh sách các bản ghi trong vùng DNS mới (nó trống):

Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Để xóa vùng DNS, hãy sử dụng lệnh:

Remove-DnsServerZone -Name woshub.com -ComputerName dc01

Nó cũng sẽ xóa tất cả các bản ghi DNS hiện có trong vùng.

Quản lý Bản ghi DNS bằng Mô-đun DNSServer PowerShell

Để tạo bản ghi A mới cho máy chủ trong vùng DNS được chỉ định, hãy sử dụng lệnh sau:

Add-DnsServerResourceRecordA -Name ber-rds1 -IPv4Address 192.168.100.33 -ZoneName woshub.com -TimeToLive 01:00:00

Để thêm bản ghi PTR vào Vùng tra cứu ngược, bạn có thể thêm –CreatePtr tham số cho lệnh trước đó hoặc tạo con trỏ theo cách thủ công bằng cách sử dụng Add-DNSServerResourceRecordPTR lệnh ghép ngắn:

Add-DNSServerResourceRecordPTR -ZoneName 100.168.192.in-addr.arpa -Name 33 -PTRDomainName ber-rds1.woshub.com

Để thêm bí danh ( CNAME ) đối với bản ghi A cụ thể, hãy chạy lệnh sau:

Add-DnsServerResourceRecordCName -ZoneName woshub.com -Name Ber-RDSFarm -HostNameAlias ber-rds1.woshub.com

Để thay đổi (cập nhật) địa chỉ IP trong bản ghi A, bạn sẽ phải áp dụng một phương pháp khá phức tạp vì bạn không thể thay đổi trực tiếp địa chỉ IP của bản ghi DNS:

$NewADNS = get-DnsServerResourceRecord -Name ber-rds1 -ZoneName woshub.com -ComputerName dc01
$OldADNS = get-DnsServerResourceRecord -Name ber-rds1 -ZoneName woshub.com -ComputerName dc01

Sau đó, thay đổi thuộc tính IPV4Address của đối tượng $ NewADNS:

$NewADNS.RecordData.IPv4Address = [System.Net.IPAddress]::parse('192.168.100.133')

Thay đổi địa chỉ IP của bản ghi A bằng cách sử dụng Set-DnsServerResourceRecord lệnh ghép ngắn:

Set-DnsServerResourceRecord -NewInputObject $NewADNS -OldInputObject $OldADNS -ZoneName woshub.com -ComputerName dc01

Đảm bảo rằng địa chỉ IP của bản ghi A đã thay đổi:

Get-DnsServerResourceRecord -Name ber-rds1 -ZoneName woshub.com

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Bạn có thể hiển thị danh sách các bản ghi DNS cùng loại bằng cách sử dụng –RRType tham số. Hãy hiển thị danh sách các bản ghi CNAME trong vùng DNS được chỉ định:

Get-DnsServerResourceRecord -ComputerName DC01 -ZoneName woshub.com -RRType CNAME

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Bạn cũng có thể sử dụng bộ lọc theo bất kỳ thông số bản ghi DNS nào bằng Where-Object. Ví dụ:để hiển thị danh sách các bản ghi A chứa rds cụm từ trong tên máy chủ của họ:

Get-DnsServerResourceRecord -ZoneName woshub.com -RRType A | Where-Object HostName -like "*rds*"

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Để xóa bản ghi DNS, lệnh ghép ngắn Remove-DnsServerResourceRecord được sử dụng.

Ví dụ:để xóa bản ghi CNAME, hãy chạy lệnh:

Remove-DnsServerResourceRecord -ZoneName woshub.local -RRType CName -Name Ber-RDSFarm

Để xóa bản ghi DNS A:

Remove-DnsServerResourceRecord -ZoneName woshub.local -RRType A -Name ber-rds1 –Force

Để xóa bản ghi PTR khỏi Vùng tra cứu ngược:

Remove-DnsServerResourceRecord -ZoneName “100.168.192.in-addr.arpa” -RRType “PTR” -Name “33”

Cách tạo nhiều bản ghi DNS A và PTR từ tệp .CSV?

Giả sử, bạn muốn tạo nhiều bản ghi A cùng một lúc trong Vùng tra cứu chuyển tiếp DNS cụ thể. Bạn có thể thêm từng cái một bằng cách sử dụng Add-DnsServerResourceRecordA cmdlet, nhưng việc thêm hàng loạt bản ghi A từ tệp .CSV sẽ dễ dàng hơn.

Tạo tệp văn bản NewDnsRecords.txt với tên và địa chỉ IP bạn muốn thêm vào DNS. Định dạng tệp txt như sau:

HostName, IPAddress

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Để tạo bản ghi A trong vùng woshub.com theo dữ liệu trong tệp TXT / CSV của bạn, hãy sử dụng tập lệnh PowerShell sau:

Import-CSV "C:\PS\NewDnsRecords.txt" | %{
Add-DNSServerResourceRecordA -ZoneName woshub.com -Name $_."HostName" -IPv4Address $_."IPAddress"
}

Nếu bạn muốn thêm bản ghi vào Vùng tra cứu ngược cùng lúc, hãy thêm –CreatePtr tham số cho Add-DNSServerResourceRecordA của bạn lệnh.

Sau đó, sử dụng bảng điều khiển Trình quản lý DNS (dnsmgmt.msc ) hoặc Get-DnsServerResourceRecord -ZoneName woshub.local đảm bảo rằng tất cả các bản ghi DNS đã được tạo thành công.

Tạo &Quản lý các Vùng và Bản ghi DNS với PowerShell

Nếu bạn muốn thêm hàng loạt bản ghi PTR vào Vùng tra cứu ngược, hãy tạo văn bản hoặc tệp CSV có cấu trúc sau:

octet,hostName,zoneName
102,ber-rds2.woshub.com,100.168.192.in-addr.arpa
103,ber-rds3.woshub.com,100.168.192.in-addr.arpa
104,ber-rds4.woshub.com,100.168.192.in-addr.arpa
105,ber-rds5.woshub.com,100.168.192.in-addr.arpa

Sau đó chạy tập lệnh:

Import-CSV "C:\PS\NewDnsPTRRecords.txt" | %{
Add-DNSServerResourceRecordPTR -ZoneName $_."zoneName" -Name $_."octet" -PTRDomainName $_."hostName"
}

Đảm bảo rằng bản ghi PTR của bạn xuất hiện trong Vùng tra cứu ngược DNS.