একজন উইন্ডোজ অ্যাডমিনিস্ট্রেটর ভাল পুরানো Dnscmd
ব্যবহার করতে পারেন cli টুল বা DNSServer ডিএনএস জোন এবং রেকর্ড পরিচালনা করার জন্য পাওয়ারশেলের মডিউল। এই নিবন্ধে আমরা PowerShell ব্যবহার করে বিভিন্ন DNS রেকর্ড বা জোন বাল্ক তৈরি, পরিবর্তন এবং অপসারণের মৌলিক ক্রিয়াকলাপগুলি কভার করব।
DNSServer PowerShell মডিউল
DNSServer PowerShell-এর মডিউল হল RSAT-এর একটি অংশ। Windows 10-এ আপনাকে আলাদাভাবে RSAT ইনস্টল করতে হবে, এবং Windows সার্ভারে আপনি সার্ভার ম্যানেজার GUI (রোল অ্যাডমিনিস্ট্রেশন টুলস -> DNS সার্ভার টুলস) ব্যবহার করে মডিউলটি সক্ষম করতে পারেন।
নিশ্চিত করুন যে DNSServer PowerShell মডিউল আপনার কম্পিউটারে ইনস্টল করা আছে:
Get-Module DNSServer –ListAvailable
আপনি এতে কমান্ডের তালিকা প্রদর্শন করতে পারেন (Windows Server 2016-এর মডিউল সংস্করণে 134 cmdlets রয়েছে):
গেট-মডিউল DNSServer
PowerShell দিয়ে 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" -রিপ্লিকেশনস্কোপ ডোমেন
ডোমেনের অন্যান্য DC-এর সাথে একটি নতুন জোন সিঙ্ক্রোনাইজ করতে, নিম্নলিখিত কমান্ডটি চালান:
সিঙ্ক-DnsServerZone –পাসথ্রু
নতুন 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 -Comd01
তারপর $NewADNS অবজেক্টের IPV4Address বৈশিষ্ট্য পরিবর্তন করুন:
$NewADNS.RecordData.IPv4Address =[System.Net.IPAddress]::parse('192.168.100.133')
Set-DnsServerResourceRecord ব্যবহার করে A রেকর্ডের IP ঠিকানা পরিবর্তন করুন cmdlet:
সেট-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 | কোথায়-অবজেক্ট হোস্টনাম -এর মতো "*rds*"
DNS রেকর্ডগুলি সরাতে, Remove-DnsServerResourceRecord cmdlet ব্যবহার করা হয়৷
উদাহরণস্বরূপ, একটি CNAME রেকর্ড সরাতে, কমান্ডটি চালান:
Remove-DnsServerResourceRecord -ZoneName woshub.local -RRType CName -Name Ber-RDSFarm
একটি DNS রেকর্ড সরাতে:
Remove-DnsServerResourceRecord -ZoneName woshub.local -RRType A -Name ber-rds1 –Force
রিভার্স লুকআপ জোন থেকে একটি পিটিআর রেকর্ড সরাতে:
Remove-DnsServerResourceRecord -ZoneName “100.168.192.in-addr.arpa” -RRT টাইপ “PTR” -নাম “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 স্ক্রিপ্টটি ব্যবহার করুন:
ইমপোর্ট-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 রেকর্ড সফলভাবে তৈরি করা হয়েছে৷
আপনি যদি রিভার্স লুকআপ জোনে পিটিআর রেকর্ড যুক্ত করতে চান তবে নিম্নলিখিত কাঠামো সহ একটি পাঠ্য বা একটি 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
তারপর স্ক্রিপ্টটি চালান:
ইমপোর্ট-CSV "C:\PS\NewDnsPTRRecords.txt" | %{
Add-DNSServerResourceRecordPTR -ZoneName $_."zoneName" -Name $_."octet" -PTRDomainName $_."hostName"
}
নিশ্চিত করুন যে আপনার পিটিআর রেকর্ডগুলি DNS রিভার্স লুকআপ জোনে উপস্থিত হয়েছে৷
৷