Computer >> 컴퓨터 >  >> 체계 >> Windows Server

PowerShell로 DNS 영역 및 레코드 생성 및 관리

Windows 관리자는 오래된 Dnscmd를 사용할 수 있습니다. cli 도구 또는 DNSServer PowerShell용 모듈은 DNS 영역 및 레코드를 관리합니다. 이 문서에서는 PowerShell을 사용하여 다양한 DNS 레코드 또는 영역을 대량 생성, 수정 및 제거하는 기본 작업을 다룹니다.

DNSServer PowerShell 모듈

DNS서버 PowerShell용 모듈은 RSAT의 일부입니다. Windows 10에서는 RSAT를 별도로 설치해야 하며 Windows Server에서는 Server Manager GUI(역할 관리 도구 -> DNS 서버 도구)를 사용하여 모듈을 활성화할 수 있습니다.

PowerShell로 DNS 영역 및 레코드 생성 및 관리

DNSServer PowerShell 모듈이 컴퓨터에 설치되어 있는지 확인하십시오.

Get-Module DNSServer –ListAvailable

명령 목록을 표시할 수 있습니다(Windows Server 2016용 모듈 버전에는 134개의 cmdlet이 있음).

Get-Module DNSServer

PowerShell로 DNS 영역 및 레코드 생성 및 관리

PowerShell로 DNS 영역 관리

서버의 DNS 영역 목록 표시(이 경우에는 도메인 컨트롤러):

Get-DnsServerZone –ComputerName dc01

woshub.com이라는 새 기본 DNS 영역을 추가하려면 다음 명령을 실행하십시오.

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

보시다시피 Active Directory에 통합된 기본 DNS 영역이 생성되었습니다(isDsIntegrated=True ).

PowerShell로 DNS 영역 및 레코드 생성 및 관리

역방향 조회 영역을 만들 수 있습니다.

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

새 영역을 도메인의 다른 DC와 동기화하려면 다음 명령을 실행합니다.

Sync-DnsServerZone –passthru

새 DNS 영역의 레코드 목록 표시(비어 있음):

Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local

PowerShell로 DNS 영역 및 레코드 생성 및 관리

DNS 영역을 제거하려면 다음 명령을 사용하십시오.

Remove-DnsServerZone -Name woshub.com -ComputerName dc01

또한 영역에 있는 모든 기존 DNS 레코드를 제거합니다.

DNSServer PowerShell 모듈로 DNS 레코드 관리

지정된 DNS 영역에서 호스트에 대한 새 A 레코드를 생성하려면 다음 명령을 사용하십시오.

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

역방향 조회 영역에 PTR 레코드를 추가하려면 –CreatePtr을 추가할 수 있습니다. 매개변수를 이전 명령에 추가하거나 Add-DNSServerResourceRecordPTR을 사용하여 수동으로 포인터를 만듭니다. cmdlet:

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

별칭을 추가하려면(CNAME ) 특정 A 레코드에 대해 다음 명령을 실행합니다.

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

A 레코드의 IP 주소를 변경(업데이트)하려면 DNS 레코드의 IP 주소를 직접 변경할 수 없으므로 상당히 복잡한 방법을 적용해야 합니다.

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

그런 다음 $NewADNS 개체의 IPV4Address 속성을 변경합니다.

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

Set-DnsServerResourceRecord를 사용하여 A 레코드의 IP 주소를 변경합니다. cmdlet:

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

A 레코드의 IP 주소가 변경되었는지 확인하십시오.

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

PowerShell로 DNS 영역 및 레코드 생성 및 관리

–RRType 을 사용하여 동일한 유형의 DNS 레코드 목록을 표시할 수 있습니다. 매개변수. 지정된 DNS 영역의 CNAME 레코드 목록을 표시해 보겠습니다.

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

PowerShell로 DNS 영역 및 레코드 생성 및 관리

Where-Object를 사용하여 모든 DNS 레코드 매개변수별로 필터를 사용할 수도 있습니다. 예를 들어, rds를 포함하는 A 레코드 목록을 표시하려면 호스트 이름의 문구:

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

PowerShell로 DNS 영역 및 레코드 생성 및 관리

DNS 레코드를 제거하려면 Remove-DnsServerResourceRecord cmdlet이 사용됩니다.

예를 들어, CNAME 레코드를 제거하려면 다음 명령을 실행하십시오.

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

A DNS 레코드를 제거하려면:

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

역방향 조회 영역에서 PTR 레코드를 제거하려면:

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

.CSV 파일에서 여러 A 및 PTR DNS 레코드를 만드는 방법은 무엇입니까?

특정 DNS 정방향 조회 영역에서 한 번에 여러 A 레코드를 생성한다고 가정합니다. Add-DnsServerResourceRecordA를 사용하여 하나씩 추가할 수 있습니다. cmdlet이지만 .CSV 파일에서 A 레코드를 대량으로 추가하는 것이 더 쉽습니다.

텍스트 파일 NewDnsRecords.txt 생성 DNS에 추가하려는 이름과 IP 주소로 txt 파일 형식은 다음과 같습니다.

HostName, IPAddress

PowerShell로 DNS 영역 및 레코드 생성 및 관리

TXT/CSV 파일의 데이터에 따라 woshub.com 영역에 A 레코드를 생성하려면 다음 PowerShell 스크립트를 사용하세요.

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

역방향 조회 영역에 레코드를 동시에 추가하려면 –CreatePtr을 추가합니다. Add-DNSServerResourceRecordA에 대한 매개변수 명령.

그런 다음 DNS 관리자 콘솔(dnsmgmt.msc ) 또는 Get-DnsServerResourceRecord -ZoneName woshub.local 모든 DNS 레코드가 성공적으로 생성되었는지 확인하십시오.

PowerShell로 DNS 영역 및 레코드 생성 및 관리

역방향 조회 영역에 PTR 레코드를 일괄 추가하려면 다음 구조로 텍스트 또는 CSV 파일을 생성하십시오.

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

그런 다음 스크립트를 실행합니다.

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

PTR 레코드가 DNS 역방향 조회 영역에 나타나는지 확인하십시오.