Windows 관리자는 오래된 Dnscmd
를 사용할 수 있습니다. cli 도구 또는 DNSServer PowerShell용 모듈은 DNS 영역 및 레코드를 관리합니다. 이 문서에서는 PowerShell을 사용하여 다양한 DNS 레코드 또는 영역을 대량 생성, 수정 및 제거하는 기본 작업을 다룹니다.
DNSServer PowerShell 모듈
DNS서버 PowerShell용 모듈은 RSAT의 일부입니다. Windows 10에서는 RSAT를 별도로 설치해야 하며 Windows Server에서는 Server Manager GUI(역할 관리 도구 -> DNS 서버 도구)를 사용하여 모듈을 활성화할 수 있습니다.
DNSServer PowerShell 모듈이 컴퓨터에 설치되어 있는지 확인하십시오.
Get-Module DNSServer –ListAvailable
명령 목록을 표시할 수 있습니다(Windows Server 2016용 모듈 버전에는 134개의 cmdlet이 있음).
Get-Module DNSServer
PowerShell로 DNS 영역 관리
서버의 DNS 영역 목록 표시(이 경우에는 도메인 컨트롤러):
Get-DnsServerZone –ComputerName dc01
woshub.com이라는 새 기본 DNS 영역을 추가하려면 다음 명령을 실행하십시오.
Add-DnsServerPrimaryZone -Name woshub.com -ReplicationScope "Forest" –PassThru
보시다시피 Active Directory에 통합된 기본 DNS 영역이 생성되었습니다(isDsIntegrated=True ).
역방향 조회 영역을 만들 수 있습니다.
Add-DnsServerPrimaryZone -NetworkId "192.168.100.0/24" -ReplicationScope Domain
새 영역을 도메인의 다른 DC와 동기화하려면 다음 명령을 실행합니다.
Sync-DnsServerZone –passthru
새 DNS 영역의 레코드 목록 표시(비어 있음):
Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local
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
–RRType 을 사용하여 동일한 유형의 DNS 레코드 목록을 표시할 수 있습니다. 매개변수. 지정된 DNS 영역의 CNAME 레코드 목록을 표시해 보겠습니다.
Get-DnsServerResourceRecord -ComputerName DC01 -ZoneName woshub.com -RRType CNAME
Where-Object를 사용하여 모든 DNS 레코드 매개변수별로 필터를 사용할 수도 있습니다. 예를 들어, rds를 포함하는 A 레코드 목록을 표시하려면 호스트 이름의 문구:
Get-DnsServerResourceRecord -ZoneName woshub.com -RRType A | Where-Object HostName -like "*rds*"
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
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 레코드가 성공적으로 생성되었는지 확인하십시오.
역방향 조회 영역에 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 역방향 조회 영역에 나타나는지 확인하십시오.