Contact
Line : comsiam
Contact
Line : comsiam

DNS คือระบบสำคัญที่ทำให้ Server, Client, Application และ Domain ภายในองค์กรสื่อสารกันได้ถูกต้อง หาก DNS มีปัญหา ระบบ Login, Active Directory, File Server, Web App และ Service ภายในองค์กรอาจล่มตามไปด้วย
บน Windows Server 2025 ผู้ดูแลระบบสามารถจัดการ DNS ผ่าน PowerShell ได้อย่างรวดเร็ว ไม่ต้องคลิกหลายหน้าต่าง และเหมาะมากกับงาน Automation ในองค์กร
DNS หรือ Domain Name System คือระบบแปลงชื่อเครื่องเป็น IP Address
ตัวอย่างเช่น
server01.company.local = 192.168.1.10
ถ้าไม่มี DNS ผู้ใช้งานจะต้องจำ IP Address เอง ซึ่งไม่เหมาะกับระบบองค์กร
PowerShell ช่วยให้ Admin ทำงาน DNS ได้เร็วขึ้น เช่น
เหมาะมากสำหรับองค์กรที่มี Server และ Record จำนวนมาก
ใช้คำสั่ง
Get-WindowsFeature DNS
ถ้าติดตั้งแล้วจะเห็นสถานะ Installed
หากยังไม่ติดตั้ง ใช้คำสั่ง
Install-WindowsFeature DNS -IncludeManagementTools
Get-DnsServerZone
คำสั่งนี้จะแสดง Zone ทั้งหมด เช่น
company.local
_msdcs.company.local
ตัวอย่าง
Add-DnsServerPrimaryZone `
-Name "company.local" `
-ZoneFile "company.local.dns"
เหมาะสำหรับระบบที่ต้องการสร้าง DNS Zone ใหม่ภายในองค์กร
ตัวอย่าง
Add-DnsServerPrimaryZone `
-NetworkId "192.168.1.0/24" `
-ZoneFile "1.168.192.in-addr.arpa.dns"
Reverse Zone ใช้แปลง IP Address กลับเป็นชื่อเครื่อง
A Record ใช้ชี้ชื่อเครื่องไปยัง IP Address
ตัวอย่าง
Add-DnsServerResourceRecordA `
-Name "server01" `
-ZoneName "company.local" `
-IPv4Address "192.168.1.10"
หลังจากนี้ผู้ใช้สามารถเรียก
server01.company.local
แทน IP Address ได้ทันที
CNAME ใช้สร้างชื่อเล่นให้ Server
ตัวอย่าง
Add-DnsServerResourceRecordCName `
-Name "files" `
-ZoneName "company.local" `
-HostNameAlias "server01.company.local"
จากนั้นผู้ใช้สามารถเรียก
files.company.local
ได้
PTR ใช้กับ Reverse Lookup
ตัวอย่าง
Add-DnsServerResourceRecordPtr `
-Name "10" `
-ZoneName "1.168.192.in-addr.arpa" `
-PtrDomainName "server01.company.local"
ช่วยให้ตรวจสอบชื่อจาก IP ได้ถูกต้อง
ดู Record ทั้งหมดใน Zone
Get-DnsServerResourceRecord `
-ZoneName "company.local"
ดูเฉพาะชื่อที่ต้องการ
Get-DnsServerResourceRecord `
-ZoneName "company.local" `
-Name "server01"
โดยทั่วไปวิธีที่ปลอดภัยคือ ลบ Record เดิม แล้วสร้างใหม่
ตัวอย่างลบ Record เดิม
Remove-DnsServerResourceRecord `
-ZoneName "company.local" `
-RRType "A" `
-Name "server01" `
-Force
จากนั้นเพิ่ม IP ใหม่
Add-DnsServerResourceRecordA `
-Name "server01" `
-ZoneName "company.local" `
-IPv4Address "192.168.1.20"
ตัวอย่าง
Remove-DnsServerResourceRecord `
-ZoneName "company.local" `
-Name "server01" `
-RRType "A" `
-Force
ควรตรวจสอบก่อนลบเสมอ เพราะ Record บางตัวอาจเกี่ยวข้องกับระบบสำคัญ
ใช้คำสั่ง
Resolve-DnsName server01.company.local
หรือ
nslookup server01.company.local
ถ้าระบบตอบ IP ถูกต้อง แสดงว่า DNS ทำงานปกติ
ดู DNS ที่เครื่องใช้งานอยู่
Get-DnsClientServerAddress
ใช้ตรวจสอบว่า Client ชี้ไปยัง DNS Server ถูกต้องหรือไม่
ตัวอย่าง
Set-DnsClientServerAddress `
-InterfaceAlias "Ethernet" `
-ServerAddresses "192.168.1.10","192.168.1.11"
เหมาะสำหรับตั้งค่า DNS บน Server หลายเครื่องแบบรวดเร็ว
บนเครื่อง Client หรือ Server
Clear-DnsClientCache
ใช้เมื่อมีการเปลี่ยน IP หรือแก้ไข Record แล้วเครื่องยังจำค่าเก่าอยู่
Get-DnsClientCache
ช่วยดูว่าเครื่องจำชื่อและ IP อะไรไว้บ้าง
หาก DNS Service มีปัญหา
Restart-Service DNS
ควรใช้อย่างระมัดระวังในระบบ Production เพราะอาจกระทบการใช้งานชั่วคราว
ตัวอย่าง
Get-DnsServerResourceRecord `
-ZoneName "company.local" |
Export-Csv "D:\dns-records.csv" -NoTypeInformation
เหมาะสำหรับทำเอกสาร ตรวจสอบ หรือ Audit
ตัวอย่างไฟล์
Name,IPAddress
server01,192.168.1.10
server02,192.168.1.11
server03,192.168.1.12
Script
Import-Csv "D:\dns-records.csv" | ForEach-Object {
Add-DnsServerResourceRecordA `
-Name $_.Name `
-ZoneName "company.local" `
-IPv4Address $_.IPAddress
}
เหมาะมากสำหรับสร้าง Record จำนวนมากในครั้งเดียว
ปัญหายอดนิยมคือ
การใช้ PowerShell ช่วยให้ตรวจสอบปัญหาเหล่านี้ได้เร็วขึ้นมาก
ควรทำดังนี้
DNS ที่ดีต้องแม่นยำ สะอาด และตรวจสอบย้อนหลังได้
| หัวข้อ | DNS Manager | PowerShell |
|---|---|---|
| เริ่มต้นง่าย | ดีมาก | ปานกลาง |
| เพิ่ม Record เดียว | ดี | ดี |
| เพิ่มหลาย Record | ช้า | เร็วมาก |
| Automation | ต่ำ | สูง |
| Export Report | จำกัด | ดีมาก |
| เหมาะกับ Enterprise | ปานกลาง | ดีมาก |
สำหรับงานเล็กใช้ GUI ได้ แต่ถ้าเป็นระบบจริง PowerShell ช่วยประหยัดเวลาได้มากกว่า
การจัดการ DNS ด้วย PowerShell บน Windows Server 2025 ช่วยให้ผู้ดูแลระบบทำงานได้รวดเร็ว แม่นยำ และลดความผิดพลาดจากการคลิกตั้งค่าทีละรายการ โดยเฉพาะองค์กรที่มี DNS Record จำนวนมาก หรือมีหลายสาขา
ทีมงาน comsiam แนะนำให้ Admin ฝึกใช้ PowerShell กับ DNS ตั้งแต่ระดับพื้นฐาน เช่น การเพิ่ม A Record, CNAME, PTR ไปจนถึงการ Export และ Import ผ่าน CSV เพราะเป็นทักษะที่ใช้งานจริงได้ทุกวัน และ comsiam มองว่า DNS ที่จัดการดี คือรากฐานของ Active Directory และระบบองค์กรที่เสถียร
ถ้าคุณต้องเพิ่ม DNS Record ใหม่ 300 รายการ คุณจะเปิด DNS Manager แล้วคลิกทีละรายการ หรือใช้ PowerShell อ่านจาก CSV แล้วสร้างทั้งหมดในครั้งเดียว?