एक Windows व्यवस्थापक अच्छे पुराने Dnscmd
. का उपयोग कर सकता है क्ली टूल या DNSServer DNS ज़ोन और रिकॉर्ड को प्रबंधित करने के लिए PowerShell के लिए मॉड्यूल। इस लेख में हम पावरशेल का उपयोग करके विभिन्न डीएनएस रिकॉर्ड या ज़ोन बनाने, संशोधन करने और हटाने के बुनियादी कार्यों को कवर करेंगे।
DNSServer PowerShell मॉड्यूल
डीएनएस सर्वर पावरशेल के लिए मॉड्यूल आरएसएटी का एक हिस्सा है। विंडोज 10 पर आपको अलग से आरएसएटी स्थापित करना होगा, और विंडोज सर्वर पर आप सर्वर मैनेजर जीयूआई (रोल एडमिनिस्ट्रेशन टूल्स -> डीएनएस सर्वर टूल्स) का उपयोग करके मॉड्यूल को सक्षम कर सकते हैं।
सुनिश्चित करें कि DNSServer PowerShell मॉड्यूल आपके कंप्यूटर पर स्थापित है:
Get-Module DNSServer –ListAvailable
आप इसमें कमांड की सूची प्रदर्शित कर सकते हैं (विंडोज सर्वर 2016 के मॉड्यूल संस्करण में 134 cmdlets हैं):
Get-Module DNSServer
पावरशेल के साथ DNS ज़ोन प्रबंधित करें
अपने सर्वर पर DNS ज़ोन की सूची प्रदर्शित करें (हमारे मामले में, यह एक डोमेन नियंत्रक है):
Get-DnsServerZone –ComputerName dc01
Woshub.com नाम का एक नया प्राथमिक DNS ज़ोन जोड़ने के लिए, यह कमांड चलाएँ:
Add-DnsServerPrimaryZone -Name woshub.com -ReplicationScope "Forest" –PassThru
जैसा कि आप देख सकते हैं, सक्रिय निर्देशिका में एकीकृत प्राथमिक DNS ज़ोन बनाया गया है (isDsIntegrated=True )।
आप एक रिवर्स लुकअप ज़ोन बना सकते हैं:
Add-DnsServerPrimaryZone -NetworkId "192.168.100.0/24" -ReplicationScope Domain
डोमेन में अन्य डीसी के साथ एक नया ज़ोन सिंक्रनाइज़ करने के लिए, निम्न आदेश चलाएँ:
Sync-DnsServerZone –passthru
नए DNS ज़ोन में रिकॉर्ड की सूची प्रदर्शित करें (यह खाली है):
Get-DnsServerResourceRecord -ComputerName dc01 -ZoneName contoso.local
DNS ज़ोन को हटाने के लिए, कमांड का उपयोग करें:
Remove-DnsServerZone -Name woshub.com -ComputerName dc01
यह ज़ोन के सभी मौजूदा DNS रिकॉर्ड्स को भी हटा देगा।
DNS सर्वर पावरशेल मॉड्यूल के साथ DNS रिकॉर्ड प्रबंधित करना
निर्दिष्ट DNS ज़ोन में होस्ट के लिए एक नया A रिकॉर्ड बनाने के लिए, इस कमांड का उपयोग करें:
Add-DnsServerResourceRecordA -Name ber-rds1 -IPv4Address 192.168.100.33 -ZoneName woshub.com -TimeToLive 01:00:00
रिवर्स लुकअप ज़ोन में PTR रिकॉर्ड जोड़ने के लिए, आप –CreatePtr . जोड़ सकते हैं पिछले आदेश के लिए पैरामीटर या Add-DNSServerResourceRecordPTR का उपयोग करके मैन्युअल रूप से पॉइंटर बनाएं सीएमडीलेट:
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')
सेट-DnsServerResourceRecord . का उपयोग करके A रिकॉर्ड का IP पता बदलें सीएमडीलेट:
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
आप व्हेयर-ऑब्जेक्ट का उपयोग करके किसी भी DNS रिकॉर्ड पैरामीटर द्वारा फ़िल्टर का उपयोग भी कर सकते हैं। उदाहरण के लिए, rds . वाले रिकॉर्ड की सूची प्रदर्शित करने के लिए उनके होस्टनाम में वाक्यांश:
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 उन नामों और IP पतों के साथ जिन्हें आप DNS में जोड़ना चाहते हैं। 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 रिवर्स लुकअप ज़ोन में दिखाई दिए हैं।