สำหรับเสาร์ อาทิตย์ที่ผ่านมาได้มีโอกาศแวะมาฟังอาจารย์ Thanyapon Sananakin อ.ตุล Microsoft MVP มาเล่า และพาทำ Workshop Windows Server and Active Directory Domain Services จากกิจกรรม Knowledge Sharing ของทางกลุ่ม Zabbix in Thailand ครับ
Introduction to Windows Server
📌 Server เป็นเครื่องที่มีประสิทธิภาพสูง เอาไว้ให้บริการต่างๆตามที่ Client ร้องขอ อย่าง เช่น Web / File Share / Authen เป็นต้น
📌 พวก HW Server มีหลายแบบ
- Tower เหมือน PC
- Rack Server เป็นถอด เอาไว้ใน ตู้ Rack
- Blade Server เป็น Rack Server ที่ลดขนาด เอาไปใส่ใน Enclosures เจ้า Enclosures เป็น Module ที่ใส่ Blade Server ประหยัดพื้นที่ และเตรียม Connector ไว้ให้แล้ว
📌 นอกจากนี้ Server ยังมี
- พวก Compute ที่เยอะกว่าเครื่องทั่วไป เช่น CPU / RAM / DIsk
- รองรับเรื่องการทำ Redundancy อย่างพวก RAID 1 5 รองรับ หรือ ทำตัวสำรอง พวก Lan 2 ใบ / Power Supply ต่อจากไฟหลายแหล่ง เป็นต้น
- หรือ จะเพิ่ม Server อีกตัวทำ High Availability รองรับการทำพวก Failover (Active Standby) / Load Balance (Active Active)
- นอกจากนี้แล้วส่วนของ OS (Windows / Linux / Unix) ถัดมาเป็นส่วนของ App มีปรับมาเฉพาะสำหรับ Server ด้วย
📌 จุดเด่นของ Windows Server
- Mixed Use Environment - Linux / Windows / Container ได้หมด
เพิ่งรู้ว่ามีนอกจาก Windows Container มีส่วน Hyper-V Container (คุม Resource ได้)
- Enterprise Integration - รองรับ App ดังๆ อย่าง SQL Server / Share Point
- Commercial Support
- Compliance - มี Feature ช่วยในการ Audit ตรวจสอบมาตรฐานอุตสาหกรรมต่างๆ
- Flexible Licensing แต่ต้องจะซื้อคิดแบบบ Engineer เรียบร้อยก่อน มันมีหลายมุม เช่น
| Edition | จำนวน VM ใน Hyper V - Standard 2 vm - Data Center Unlimited VM - Azure Edition พวก Edition สูงๆ ทำพวก Software Defined อย่าง Network / Storage ได้ |
| Core Licensing | จำนวน Core ของ CPU |
| User Calc Licensing | จำนวน Concurent User ที่ใข้ |
Env Lab ตามส่วนสีเขียวนะ ส่วนอื่น ผมลองเล่นวันที่ 13 แต่ Blog มันเต็มแล้ว 555
DHCP Service
📌 DHCP = Dynamic Host Configuration Protocol
📌 Service ที่ช่วยลดภาระของ Admin ในการกำหนด Network Parameter อย่างพวก IP / Subnet / Gateway / DNS
Idea ของ DHCP มาจาก ldea ของ Linux bootp ดึง Client OS จาก Network เพราะเมื่อก่อน Disk แพง
การทำงานของ DHCP มี 2 Flow ใหญ่ๆ
📌 Lease Generation - ขอเช่า IP มาใช้งาน เช่น ขอไว้ 100 นาที
📌 Lease Renew - ขอต่ออายุ IP ปกติจะต้อง renew ช่วง 50% แรกของ Lease Time แต่ถ้าหลุดอาจจะตั้งให้ขออีกทีตอน 80% ของ Lease Time
ปกติแล้ว 1 วงแลนมี DHCP Server แต่มันจะเปลืองไป จะมีตัว DHCP Relay (Agent) เข้ามาช่วยลดภาระการตั้ง ตัว Relay Agent เข้ามาช่วย sync และจองกับ DHCP Server หลักได้ พวก DHCP Relay พวก Router / Switch ทำได้นะ
ก่อนจะตั้ง DHCP Server มีสิ่งที่ต้องคิดก่อน
📌 การจัดวง Lan มีกี่วง แล้ว User ใช้กลุ่มไหนบ้าง พนักงาน / Guest เพราะมีผลกับการกำหนด Lease Time ถ้านานมาก จอง Resource นาน แต่ละภาระของ DHCP Server
📌 กลุ่ม Static IP ที่ Fixed ไว้ เช่น DHCP Server (Fixed IP) / DNS
📌 ต้องตกลงกันด้วยว่าใครแจก เพราะ Feature DHCP มันทำได้ทั้ง Firewall / Switch และตัว OS เอง ไม่งั้น ถ้าต่างคน ต่างแจกจะทำให้ Client สับสน เกิดปัญหา Rouge DHCP Server IP ซ้ำ หรือ ไม่ได้ IP เลย
LAB: DHCP Service
📌 Add Feature
- Manage > Add Role and Feature > กำหนด Server เลือก DHCP

- หลังทำเสร็จมีตกใจ เพื่อให้เรา Complete DHCP Configuration อันนี้ มี้เพื่อประกาศว่า ฉันทำหน้าที่นี้แล้วนะ อย่าง DHCP ถ้ามี AD ประกาศไปทั้งวงบอก

Setup DHCP Server Manager > Tools จะมีเมนู DHCP
📌 Add DHCP Scope บอกว่าให้ Server จ่าย IP (IPv4/ IPv6) ช่วงไหน ถึงช่วงไหน / Subnet อะไร / หรือให้ข้ามช่วงไหน รวมถึงการกำหนดค่า Lease Duration (Default 8 วัน)



📌 นอกจากนี้ยังกำหนดค่าอื่นๆอย่างตัว Default Gateway ไว้ออกเนต และพวก DNS ในส่วน Advance
📌 สุดท้าย Activate Scope ประกาศตัวเองเป็น DHCP Server
เมื่อทำเสร็จหน้าจอ DHCP มีข้อมูํล ดังนี้
📌 address scope

📌 address lease ip client ที่ได้ไปแล้ว ถ้าเป็น Windows มาเชื่อมจะได้เลย

Windows มีเวลา 169.254.xxx.xxx เป็น วง Default กรณีที่หา DHCP Server ไม่เจอ ถ้าเจอเคสนี้ ก็ลอง Fixed IP แล้วทดสอบ ping
ในส่วน address lease ถ้าอยากไม่ให้เกาะ IP ใช้วิธีนี้กันได้นะ Block เอา

📌 zone reservation - จอง IP ไม่จำเป็นต้องอยู่ใน Scope ตาม mac addesss

📌 Command อื่นๆที่ควรรู้
ipconfig /releaseคืน IP ที่ได้มาipconfig /allแสดงข้อมูล ทั้งหมด ปกติใช้แต่ตัวนี้ 555
PS C:\Users\LabClient> ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : DESKTOP-8428A9F Primary Dns Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No Ethernet adapter Ethernet: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : Microsoft Hyper-V Network Adapter Physical Address. . . . . . . . . : 00-15-5D-38-01-05 DHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IPv4 Address. . . . . . . . . . . : 192.168.10.100(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.0 Lease Obtained. . . . . . . . . . : Saturday, October 11, 2025 11:23:54 AM Lease Expires . . . . . . . . . . : Saturday, October 11, 2025 7:23:54 PM Default Gateway . . . . . . . . . : 192.168.10.254 DHCP Server . . . . . . . . . . . : 192.168.10.10 DNS Servers . . . . . . . . . . . : 192.168.10.10 NetBIOS over Tcpip. . . . . . . . : Enabled
ipconfig /renewขอ IP ใหม่
DNS Server
📌 เอาไว้ Resolve Name คนไม่อยากจำ IP และช่วยให้เราออก Internet ได้ง่าย
📌 dns อยู่ใน application layer ของ tcp/ip model / OSI Model
📌 dns ใน firewall ต้อง allow ทั้ง udp (package size < 512 bytes) กับ tcp port 53 (ที่มาของ Route 53 AWS)
📌 พวก open source มีหลายตัว เช่น Bind / CoreDNS
📌 สำหรับ Windows
- AD Integration
- Dynamic Updates
- DNSSEC มีการ Sign Packet ด้วย ช่วยให้ข้อมูลเราปลอดภัยขึ้่น
- Conditional Forwarding
- Caching
- Monitoring and logging:
- DNS policies
- Any Cast
📌 FQDN คือ อะไร - Fully Qualified Domain Name ชื่อคอมพิวเตอร์เต็มๆ เริ่มจาก
- . (root)
- top level domain (.com / .net / .th / .org ..)
- domain
- sub domain
- การทำงานของ DNS
DNS Query > เราป้อนไปว่า ชื่ออะไร จากนั้นระบบไปถามต่อว่า IP อะไร หรือ กลับกัน

📌 เริ่มจาก hostfile ของตัวเอง
📌 และไปที่ DNS Server (อ่านจาก Cache / Zones File) แต่ถ้าไม่มีถามไปเรื่อย จาก Server อื่นๆ ตาม root hint file หรือจนกว่าจะ timeout โดยมีรูปแบบการทำงาน
- Recursive Query - Client ถาม Local DNS ตอบ
- Iterative Query - ถามจาก root hints และส่งต่อเป็นทอดๆ จนกกว่าเจ้าของจะตอบ (Authorize Response)
📌 ปัญหาของแบบ Iterative Query มันมี hop เยอะ เครื่อง root hints ทำงานหลัก ดังนั้ ISP เลยจะตั้ง DNS Server (Forwarder) เพื่อมาไล่ถามต่อ และทำ Caching เอาไว้ด้วย
ดังนั้น ถ้าอยากให้เร็ว ตอน Setting ให้เติม Forwarder ของ ISP ของ Net ที่เราใช้ เข้าไปด้วย เราจะได้ short path ระดับนึง
ถ้ามองลึกลงมาที่ Zone File (DNS Zone) แบ่งได้ 2 กลุ่ม
📌 Forward Lookup Zone ถามชื่อตอบ IP
- Primary Zone - ตัวเป็น Record หลัก บอกที่สำคัฐในวงของเรา
- Secondary Zone - Replicate จาก Primary (Zone Transfer) สำหรับ Scale Read / HA
- Stub zone - เอาไว้เป้น Lookup ของ name server (dns server หลัก)
📌 Reverse Lookup Zone ถาม IP ตอบชื่อ โดยแบ่งเหมือนกัน Forward Lookup Zone
192.168.1.200 --> server1.contoso.microsoft.com
1.168.192.in-addr.arpa --> server1.contoso.microsoft.com (PTR)- Zone File
ใน Zone File มีรูปแบบข้อมูลที่เก็บตามตารางสรุป ดังนี้
| Record Type | ชื่อเต็ม | หน้าที่/การใช้งาน |
|---|---|---|
| A/AAAA | Address Record | A (IPv4) / AAAA (IPv6) ของ Domain |
| PTR | Pointer Record | ใช้สำหรับ Reverse Lookup Zone (แปลง IP เป็นชื่อโดเมน) |
| SOA | Start of Authority | บอกความเป็นเจ้าของและข้อมูลหลักของ Zone |
| NS | Name Server | ระบุ Name Server ที่ดูแล Zone (Stub Zone เก็บแบบนี้) |
| MX | Mail Exchange | ระบุ Mail Server สำหรับรับอีเมลของโดเมน |
| CNAME | Canonical Name | สร้างชื่อเล่น/ชื่อแทน (Alias) ให้กับโดเมน |
- Desiging Zone
📌 ปกติแล้วมี 3 แบบ ต้องตกลงกันก่อนว่าจะใช้งานแบบไหน
- yourdomain.local
- internal.yourdomain
- yourdomain - Split-Brain DNS (Split-Horizon DNS) อันนี้สบาย ฝั่ง User แต่ให้ DNS Server เลือกเอง ว่าจะตอบอะไรกลับไป private ip / public ip
📌 และ ตกลงชื่อ dns ให้ชัดเจน ใน lab ใช้ consoto.com
LAB: DNS Server
📌 Add Feature Manage > Add Role and Feature > กำหนด Server เลือก DNS

📌 ใน DNS Zone หน้าตาทั่วไปแบบนี้

- Add Forword Lookup Zone
📌 Add Forword Lookup Zone
- Add Zone > Primary Zone > Forword Lookup Zone > กำหนดชื่อ dns consoto.com
- กำหนดชื่อไฟล์ dns ปกติแล้วจะเป็น ชื่อ domain.dns
- ส่วนของ Dynamic Update ตอนนี้ยังไม่มี AD + primary controller ดังนั้นข้อมูลยังไม่ Encrypt "Allow both secure และ non-secure
- ตอนนี้จะ Add Record SOA และ NS

📌 เมื่อลอง Click เข้าไปใน Record แต่ละอัน



- Tab SOA
- Serial Number บอก Version ของไฟล์ จะได้ให้ Secondary / Stub มา Update
- Primary Server บอกเครื่อง เช่น lab-dc01. อันนีตัว . หมายถึง contoso.com
- Responsible Person บอกเมล์คนรับผิดชอบ
- Refresh ทุกเท่าไหร่ / Retry ถ้า Fail และ ที่ Sync ไป อายุเท่าไหร่ และ TTL - Cache ได้นานเท่าไหน - Tab Name Server - บอก Primary / Secondary DNS Server
- Tab Zone Transfers - ต้องมากำหนด White List ปกติ แล้วจะตาม NS
📌 Manual Add A / AAAA ipv6 Record คลิกขวา New Host A or AAAA จากนั้นใส่ชื่อ + IP
อนาคต ถ้ามี AD เดวตอน Join มันจะเติมตรงนี้ให้
- Add Reverse Lookup Zone
📌 Add Reverse Lookup Zone
- IP มันชื่อ 3 ส่วนแรก และชื่อไฟล์ 10.168.192.in-addr.arpa.dns

- Allow both secure และ non-secure
- ต่อไป new ptr ให้มันรู้เคสที่ถามกลับ

📌 ถ้าเรากลับไปดู Record SOA Serial Number มันจะขยับ
📌 Manual Update Ethernet Card > Add DNS Server ตรงช่อง Prefered DNS
📌 test
- nslookup

เคส lab-dc01 ไม่เจอ เพราะไม่ครบ FQDN ไปเติมตามรูป แต่ถ้า join domain เดี๋ยวมันทำให้
- ping ถ้าถามชื่อมันจะมี Step Resolve DNS
- ดูว่ามันจำอะไรบ้าง
ipconfig /displaydnsเหลือ TTL เท่าไหร่
C:\Users\Administrator>ipconfig /displaydns
Windows IP Configuration
lab-dc01.contoso.com
----------------------------------------
Record Name . . . . . : lab-dc01.contoso.com
Record Type . . . . . : 1
Time To Live . . . . : 3477
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . : 192.168.10.10- ถ้าจะเอาออกก็
ipconfig /flushdnsจำได้แต่ flushdns
📌 ตั้ง Alias (CNAME) ให้จำง่ายๆ WWW map www.contoso.com <--> lab-dc01.consoto.com (เครื้่องจริง)
- Add Secondary Server (Zone Transfer)
📌 ที่ Server อีกอัน Lab-dc02 Add Feature > DNS
📌 Add Forward Zone
- เลิอกแบบ Secondary > Zone Name ซื่อต้องเหมือน primary (consoto.com) > ใส่ IP หรือ FQDN ของ primary server (lab-dc01)

- ตอนแรกจะ Sync ไม่ได้

- primary server ไป Add A Record ของเครื่อง Lab-dc02
- จากนั้นไปเพิ่ม name server

- รอสักพักจะได้ผลออกมา

📌 Add Reverse Zone
- ทำแบบเดียวกัน Forward Zone
หลังจากนี้ ถ้าแก้อะไรต้องทำที่ Primary Server เท่านั้น
Note: Lan Card Lab-DC02 ให้ Prefer DNS เป็นตัวเองจะได้ไว แล้วให้ Alternative เป็น Primary
จบวันแรกแล้วต่อไปเป็นส่วนของวันที่ 2 ซึ่งเป็นเรื่องของ Windows Server AD DS แล้ว ลองมาอ่านก่อนต่อได้ ว่าการตั้งพระเจ้าขึ้นมาในวงทำอย่างไรได้บ้าง
Windows Server Active Directory
เจ้า AD มีหลายตัวเลยนะ อย่างผมที่เป็น Dev รู้แค่คำว่า AD จริงๆแล้วข้างในมันมี 5 Service ย่อยๆ ตามนี้เลยครับ
- AD DS (Active Directory Domain Services) - บริการหลักสำหรับจัดการผู้ใช้งาน คอมพิวเตอร์ และทรัพยากรในเครือข่าย ดูพวก Authentication / Authorization / Accounting
- AD CS (Active Directory Certificate Services) - บริการออก certificate และจัดการ PKI (Public Key Infrastructure)
- AD LDS (Active Directory Lightweight Directory Services) - เวอร์ชันเบาของ AD DS ที่ไม่ต้องใช้ domain controller เหมาะสำหรับแอปพลิเคชันเฉพาะ
- AD RMS (Active Directory Rights Management Services) - บริการป้องกันและจัดการสิทธิ์การเข้าถึงเอกสารและข้อมูล จัดการเอกสาร โดยใช้ Key ขององต์กร คนนอกจะอ่านไม่ได้ ตอนนี้มีพวก Pure View ทำคล้ายกัน
- AD FS (Active Directory Federation Services) - บริการสำหรับ Single Sign-On และการยืนยันตัวตนแบบ federated identity เชื่อมกับ Cloud m365 / azure หรือ ค่ายอื่นๆทำได้
Windows Server AD DS (Active Directory Domain Services)
เป็น Service กลางที่ทำหน้่าที่ Authentication / Authorization / Accounting เนื่องจากปัญหา Authentication แบบเดิมๆ สรุปตามตาราง
| Authentication | Description | Problem |
|---|---|---|
| Standalone Authentication | สร้าง Account ทุกที่ ทุกเครื่อง | - การจัดการ User พอไปสร้างทุกที มันจัดการยาก |
| Centralized Authentication ในที่นี่ทำ Active Directory | เครื่อง Server กลาง จัดการเรื่องิ Identity โดยเฉพาะเลย ซึ่งเครื่องที่จัดการ Domain Controller | - ถ้าเครื่อง Domain Controller ตาย ทุกอย่างจะหยุดชะงัก ต้องทำ HA - จัดการเชื่อมโยง resource ต่างๆ ที่ Secure |
Centralized Authentication ในที่นี่ทำ Active Directory ซึงมีหน้่าที่
- Authentication - ใช่ตัวจริงไหม)
- Authorization - มีสิทธิทำอะไรได้บ้าง
- Accounting - แล้วเข้าไปทำอะไรในระบบ พวก Log อย่าง Audit Log เกิด Authenticity ได้ทำจริงๆ เป็นของคนนั้นๆจริงๆ Digital footprint ที่แซวๆกัน
ซึ่งตัว 3A จะไปตอบโจทย์ในส่วนของ CIA Triad (Confidentiality, Integrity, Availability + Authenticity) เช่นกัน ใน Windows Server

- Account แทนทั้งหมด คน / device มี Security Id (SID) ของตัวเอง ตอนนี้ทำส่วน Authentication
- จากนั้นเอาไป Map ส่วน Resource ที่มีการกำหนดสิทธิ (ACL / Permission) ไว้ เมื้อเอ่า Account + ACL จะได้ตัว Authorization โดยมีการบันทึกการทำงาน เกิด Accounting Authenticity
LAB: Promote AD DS
ก่อนทำ AD DS เราต้องมาวางโครงสร้างกันก่อน ว่าจะใช้ Domain แบบไหน มันมีกับการทำ DNS รูปแบบ AD มีตามนี้
- Forest Root Domain / Tree Forest Root Domain ใหญ่สุด คุม schema ทุกอย่าง
- Child Domain แยกออกมาตามแผนก หรือ ตาม Branch
- Tree root Domain แยกออกมาเป็นอีก domain อาจจะเป็นของ บ ลูก
Forest Root Domain - abc.com ใหญ่สุด [1] ├── Tree Forest Root Domain : abc.com │ ├── child1.abc.com [2] │ └── child2.abc.com ├── Tree root Domain: example.com [3] │ ├── child1.example.com
📌 Resouce Access ข้ามได้กับ แต่ต้องกำหนดสิทธิให้ + กำหนด trust ระหว่าง DC และตอน Login บอกที่มา domain ให้ชัดเจน
📌 ปกติแล้วส่วนใหญ่ Single Forest / Single Domain
📌 ถ้าเป็นเคสมี AD DS 2 ฝั่ง เชื่อมกัน เช่น Business ไปซื้ออีก บ มา ต้องไปทำ Forest Trust Manual
📌 Add Feature (LAB-DC01)
- Manage > Add Role and Feature > กำหนด Server เลือก Active Directory Domain Service
📌 Promote Active Directory (LAB-DC01)
- มาเลือกรูปแบบกันก่อน ตอนนี้ new forest เพราะตั้งใหม่ + กำหนด Domain ให้เรียบร้อย
* ถ้า Add new domain to exising forest เป็นเคสของ Child Domain / Tree root Domain

- จากนั้นมากำหนด Domain Controller Option
- Functional Level - เอาง่ายเหมือนการกำหนด Schema + Feature ที่ใช้ ส่วนของ Forest + Domain ก่อนจะติดตั้ง หรือ update AD ต้องดูด้วยว่ามัน Compatible ไหมนะ
Ref: Active Directory Domain Services functional levels
- Service มีตัว DNS / Global Cataloy (Index Lookup หา Schema) / Read Only Domain Controller
- Directory Service Restore Mode (DSRM) - Pass เอาไว้กู้ AD ต้องจดได้ด้วย

- ใน user administrator ของ local ครึ่งสุดท้าย เพื่อยืนยันว่าจะเป็น AD
- กำหนด NETBios Name สำหรับคอมยุคเก่า
- กำหนด Path ที่เก็บ Database + File ของ AD
แนะนำแยก Disk กับ OS จะได้เพิ่มความเร็ว

- Review Option Install + รอ Restart จะได้ AD
📌 Authorize DHCP Server (LAB-DC01)
- เข้า user AD dns/administrator (pass ของ administrator local มัน migrate) มาแล้ว
- เข้าไปในส่วน DHCP มันจะแดงหมด คลิกขวา Authorize ด้วย User กลุ่ม Enterpise administrator

ถ้าไม่ทำ มันไม่จ่าย IP ออกมานะ
AD Overview (LAB-DC01)
📌 ใช้ Active Directory User & Computer ส่วน Local User & Group ใน Computer Management จะหายไป
📌 Ethernet มันจะ reset preference dns เป็น 127.0.0.1 แนะนำเปลี่ยนเป็น IP เครื่อง
📌 DNS



- มีเติม record มาให้
- และกำหนด SID ของ DC
- SRV ไว้ให้ตนอื่นมาหา
[0][100][88] มีความหมาย 3 ส่วน: [0] = Priority (ความสำคัญ) - ยิ่งต่ำยิ่งมีความสำคัญมาก [100] = Weight (น้ำหนัก) - ใช้กระจาย load ระหว่าง server ที่มี priority เท่ากัน [88] = Port number - พอร์ตของ Kerberos (TCP/UDP 88) LAB-DC01.contoso.com ชื่อ FQDN (Fully Qualified Domain Name) ของ Domain Controller LAB-DC01 = ชื่อเครื่อง server contoso.com = ชื่อ domain
สังเกคุว่า record AD เติม _ มาให้ เวลาแก้อะไร อย่างตั้งชื่อที่มี _ ใช้ขีดแทนจะได้ไม่ชนกับ internal ของ Windows
📌 ตัว AD DS มันมี Database ของมันนะ
| Scope-Partion | Description |
|---|---|
| Forest Wide | ทุก Domain ให้ Forest ได้การตั้งค่าข้อกำหนดที่เหมือนกัน |
| - Schema | ทำงานบอก object มองเป็น table + Field ปกติ แล้ว เราไม่ต้องแก้เองนะ เค้าจะมี Script มาปรับ Schema สำหรับบาง App เช่น Exchange / Shared Point / SCCM ต้องมาปรับในนี้ด้วย |
| - Configuration | เก็บ Config ของ AD เอง มี domain / child บราๆ ไหน |
| Domain Wide | เฉพาะใน Domain |
| - Domain | ข้อมูลใน Container เราแก้ไม่ได้ อย่างพวก Computer / Builtin ต่างๆ ข้อมูล OU แก้ได้ Apply GPO ได้ |
| - Application | Applications ส่วนเสริม ให้ AD ทำงานได้ดีขึ้น เช่น ในส่วนของ DNS พอฝากในนี้ ตอน Replicate DNS ตัว AD จะทำให้ |
LAB: AD DS Partition
📌 Tools ที่เข้ามาจัดการ DB จะมีหลายตัว
- Schema ปกติมันจะไม่ให้ดูต้อง Run Command
- Run คำสั่ง regsvr32 schmmgmt.dll - Run คำสั่ง mmc เพิ่ม Add Snap-Ins Active Directiectory Schema - หรือใข้ ADSI Edit
- Tools > ADSI Edit

- ส่วนของ Domain หรือ เมนูเฉพาะด้านไป

📌 ลองย้ายข้อมูล DNS มาในส่วน Application Partition จะได้ Secure + ไม่ต้อง Setup Replicate DNS เอง


📌 Global Catalog
- อารมณ์แบบ Index ของ Database เช่น User มี หลายร้อย Attribute เราทำ Index เฉพาะบางอัน เช่น User เอา EmployeeId / Logon Name
- ข้อมูลพวกนี้ ถูกเอาไปแชร์ให้ domain อื่นๆใน forest เดียวกันด้วย จะได้ lookup ได้ง่าย แล้ว ถ้าอยากได้ข้อมูลเพิ่มเติมมาขอ Domain Controller ที่ต้องการ
- ปกติมีค่า Default ให้ใน Schema แต่สามารถปรับเองได้
- เมื่อก่อนแยก Server กัน เครื่องไม่แรง ตอนนี้ไม่ต้องแยกแล้ว
LAB: Join AD (LAB-Client)
📌 Join AD (LAB-Client)
- เข้าไปเครื่อง Client System Properies > Change Domain / Workgroup > กรอก DNS ของ AD ลงไป

- ตอนกด OK มันจะถาม User Password ตอนนี้เอา administrator ใส่ไปก่อน ถ้าผ่านมันขึ้น welcome
- restart
จริงควรแยก user มา และ delegate หน้าที่ join ad เฉพาะ ตอนนี้ใช้ Enterpise Administrator เลย
📌 ตรวจสอบเครื่อง Server (LAB-DC01) เครื่อง Client เข้ามาแล้ว

นอกจาก user แล้ว พวก Device มันมีการ Authen ด้วยนะ มันจะเกิด Secure Channel ระหว่าง Device กับ Dc เดวมันจะ auto เปลี่ยน pass ได้ 30 วัน เราไม่ต้องยุ่ง
📌 แต่ถ้าทิ้งไว้นานเกินไป ช่วง covid ลืม เข้า ad นานๆ

- ที่ DC ที่ Device คลิก Reset Account - Join Domain ใหม่
- หรือใช้ command netdom join
ห้ามลบเครื่องจาก AD เพราะ มันจะหายไปถาวร
LAB: Create OU (LAB-DC01) + Test User (LAB-Client)

📌 Container - ข้อมูลในระบบ เราแก้ไม่ได้
📌 OU (Organizational Unit) - เราแก้เองได้
- เป็นการจัด user / group / device เพื่อให้สะดวกในการจัดการ
- และการกำหนด Policy (GPO) โดยแบ่งตามแผนก หรือ พื้นที่ก็ได้
- รวมถึงจัดการมอบหมายหน้าที่+ สิทธิ (Delegation of Control) เช่น Join Domain / Reset Password
📌 LAB-DC01: new > Organization Units และสร้าง User ของ mkt01 มา test
Employees ├── marketing │ ├── [email protected] ├── IT

📌 LAB-Client: ทดสอบ Login
ถ้าต้องการใช้ local user ให้ ./ชื่อuser เช่น ./admininstrator
LAB: Promote Additional Domain
ปัญหาตอนนี้เรามี่ Centralize AD DS ถ้าพังมีปัญหา เลยทำตัวสำรองขึ้นมา
📌 ถ้ามี DNS ลบออก
> DC2 Tools > DNS > Delete Domain (contoso.com) ทั้ง forward / reverse > DC2 ชี้ dns ไป Lab 1 > DC1 Remove NS > DC1 Reverse Zone ปรับ Type Primary > Store In AD + Remove NS
📌 LAB-DC2 Add Role & Feature Active Directory Domain Service ตอน Promote เลือก Add Domain Controller to Existing Domain + เลือก DNS (Domain) ให้ตรงกับเครื่องแรก ที่เหลือ Path เหมือนเดิม

แต่ต้องตรวจ Functional Level เคสใน Lab Functional Level 2012R2 ใช้กับ Windows Server 2025 ไม่ได้ จะเจอ Error ตามรูป

ต้องไป Raise Functional Level ที่ LAB-DC01 ไปที่ Active Directory Domain and Trust
- เลือก Domain > คลิกขวา Raise Domain to Functional Level เอาตามที่ 2025 ตำสุดจะเป็น Functional Level 2016
- เลือก Forest > คลิกขวา Raise Forest to Functional Level ทำคล้ายกัน
ทำแล้วถอยกลับไม่ได้นะ แล้วถ้าจะขยับ Forest ต้องปรับ Domain Functional Level ขึ้นมาให้รองรับก่อน
กลับไป Promote AD DS อีกรอบจนเสร็จ พวก DNS Setting จะ Default มาด้วย ส่วน Lan Card แต่ละเครื่องปรับ
- Prefered DNS - เครื่องตัวเอง
- Alternatiove DNS - เครื่องอื่นๆ
LAB: Check AD ปกติ ไหม (LAB-DC2)
- คำสั่ง
net sharePath NETLOGON / SYSVOL ต้องขึ้นมา - คำสั่ง
repadmin /replsummaryบอกภาพรวม ไม่มี fail - คำสั่ง
repadmin /showreplบอกของแต่ละ partition dcdiagดูภาพรวมทั้งหมด และไล่ดูใน event viewer บอกสรุป ปกติจะตรวจหลังทำ AD 1-2 วัน หรือ ถ้าอยากรู้ผลเลยต้องไป Force AD Sync จาก Active Directory Sites and Service > NTDS Setting > Replicate Now

ใน NTDS Setting ตรง properties มีให้เราปรับได้นะ เช่น การปิด Global Catalog
- ลองสร้าง OU IT + User ขึ้นมา และตรวจผล
Manage AD DS Object
📌 Type of AD-DS Object
- User Accounts, Group Accounts, Computer Accounts (เครื่องที่ Join AD), Printers
- IntOrgPerson - standard LDAP object class สำหรับรนะบบอื่น
- Domain Controllers
- Organization Unit
- Shared Folder - File Sharing โดยใช้โปรโตคอล SMB
- GPO - จัดการพวกสทธิต่างๆตาม OU
📌 สำหรับใน Workshop เน้นไป user / group
| AD DS Object | Description |
|---|---|
| User Accounts | - แทนตัวคน - Naming Format - รหัสพนักงาน ชื่อนามสกลุ 4 ตัวแรก - UPN Suffixes ล้อกับ domain และต้องทำ เผื่อไป m365 - Attribute ใส่ info ของพวกชื่อ ตำแหน่ง / Password Settings เป็นต้น - Active / Inactive Account จากคนลาออก เปลี่ยนแผนก ถ้าลบแล้วใน log มันบอกแค่ SID อาจจะตามชื่อคนยาก - ทำ Template Account ได้นะ ลดเวลา Initial เช่น Group / Home / Policy / Department เป็นต้น ต่างพวก user pass สร้าง Template + Disable นอกจากนี่มีพวก Special Identity อันนี้ OS จัดการเอง พวก Authenticated User / Everyone / Network หรือ Creator Owner เป็นต้น |
| Group Accounts | - มี 2 แบบ -> Distribution groups เอาไว้จัดการ Mail ไม่มี / SID -> Security Group มี SID จัดการ Permission ได้ 📌 ผสม แต่ต้องลง MS Exchange - Default Group - ที่ระบบให้มา 📌 ถ้าแก้ schema ได้ต้องถือ 2 อัน Enterprise Admin / Schema Admin - Scope -> Local -> Domain-Local -> Universal (ใช้ได้ใน Forest เดียวกัน) -> Global (ใช้กรณีที่ทำ trust domain ระหว่าง forest ) Ref: https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/understand-security-groups#group-scope แยกเพราะต้องการความสะควกในการจัดการ มุม user / มุม ACL และมา inter sec กัน |
ใน Group มี pattern IGDLA Model ในการจัดการ โดยแยกเป็น
- I – Identity User หริอ Group ตามแผนก
- G – Global Group รวม Identity Group หลาย ๆ กลุ่มเข้าด้วยกัน (เช่น GG_HR, GG_IT)
- D – Domain Local Group กำหนด ACL/Permission ของ Resource ใน Domain นั้น ๆ
- A – Access (Permission) สิทธิ์ที่ได้รับ เช่น Read, Write, Modify, Full Control
สรุปประมาณภาพให้ AI สร้างมานะ แต่ดูในมุม Dev เอาไป Apply จัดการง่ายดีเหมือนกัน
User/Group(s) -> Global Group(s) -> Domain Local Group -> Access [suda] [IT] [ACL Shared File] [R/W]
📌 Delegation of Control
- ให้สิทธิระดับ OU ว่าทำอะไรได้ เช่น Reset Password ไป Employee / โดยคนที่ทำได้อยู่ใน Group IT Support
LAB: Create Group + Delegation of Control
📌 Create Group

📌 Delegation of Control Reset Password ไป Employee / โดยคนที่ทำได้อยู่ใน Group IT Support



ตอนใช้งานจริง IT Support ไม่ได้ Remote Desktop มานะ ใช้ Tools เอา rsat เข้ามาจัดการแทน
https://learn.microsoft.com/en-us/windows-server/administration/install-remote-server-administration-tools?tabs=server-manager%2Cdesktop-experience&pivots=windows-server-2025
📌 คิดดีๆ ตอนเอาเข้า เอาออก มันเอาออกยาก
Flexible Single Master Operation (FSMO)
📌 ตัว Active Directory Domain Services (AD DS) แบบปกติ การทำงานต่าง ๆ ส่วนใหญ่จะเป็นแบบ “Multi-Master” แต่บางงานสำคัญจะต้องมี “Master” จุดเดียว เพื่อป้องกับข้อมูลขัดแย้งกัน โดยมี 5 Master ตาม Scope ดังนี้
| Scope | Master | Role/Description |
|---|---|---|
| Forest Level | Schema master | - จัดการและแก้ไขโครงสร้าง (Schema) ของ AD ทั้ง Forest |
| Forest Level | Domain naming master | - จัดการและแก้ไข Domain |
| Domain Level | PDC Emulator | - เอามาคุมเวลาของเครื่องทุกเครื่องเข้ามา ตัว root ต้องไป Sync จากข้างนอกมา และกระจายออกไป - ตัว protocol Kerberos จะตรวจว่าทุกเครื่องห่างกันไม่เกิน 5 นาที - pdc ถือเวลา ดังนั้นมันเป็นตัดสินใจสุดท้าย ถ้า pass ผิด ตัวนี้จะยืนยันอีกรอบ - ตอนเปลี่ยน pass ต้องรอสักพัก |
| Domain Level | RID Master | - แบ่ง Pool Lookup ID ให้กับ Domain Controller แต่ละเครื่อง พวก SID |
| Domain Level | Infrastructure master | - คล้าย Global Catalog จด id ที่ใช้ไปกับ object - ถ้าเปิด RID + Global Catalog ตัว Infrastructure master จะ disable ไป |
📌 นอกจากนี้ต้อง Sync เวลาเท่ากัน คำสั่ง Pattern ประมาณนี้
# Check for external time source reachable w32tm /stripchart /computer:<target> /samples:<number> /dataonly oConfigure server to use external time source # Configure server to use external time source w32tm /config /manualpeerlist:<peers> /syncfromflags:manual /reliable:yes /update # stop time Net stop w32time Net start w32time
📌 ตรวจสอบสถานะ FSMO คำสั่ง ว่า Domain Controller ไหนเป็นหัวแถว
netdom query fsmo
LAB: ย้าย FSMO
📌 เตรียมความพร้อมก่อนย้าย FSMO - มีหลาย Command ตามหัวข้อ LAB: Check AD ปกติ ไหม พวก net share / dcdiag
📌 force sync หรือ กดจาก GUI repadmi /syncall
📌 ตรวจสอบสถานะ FSMO
📌 ย้าย FSMO จาก LAB-DC1 > LAB-DC2
- เปิด Active Directory User and Computer
- ที่ root ตรง Active ... คลิกขวา > Opeation Master และย้าย RID, PDC และ Infrastructure เปลี่ยนที่ละ Tab + Change //ก่อนเปลี่ยนตรวจสอบ Domain Controller ก่อนนะ ถ้าไม่ตรงก็ Change Domain Controller ก่อน
- ตรวจสอบสถานะ FSMO
netdom query fsmoRID, PDC และ Infrastructure มันต้องย้ายเป็น LAB-DC2 - เปิด Active Directory Domain and Trust
- ที่ root ตรง Active ... คลิกขวา > Opeation Master และย้าย Domain Naming กด Change //ก่อนเปลี่ยนตรวจสอบ Domain Controller ก่อนนะ ถ้าไม่ตรงก็ Change Active Director Domain Controller ก่อน
- ตรวจสอบสถานะ FSMO
netdom query fsmoDomain Naming มันต้องย้ายเป็น LAB-DC2 - เปิด mmc เพื่อจัดการ Schema
regsvr32 schmmgmt.dll mmc


- ที่ root ตรง Active ... คลิกขวา > Opeation Master และย้าย Schema Master กด Change //ก่อนเปลี่ยนตรวจสอบ Domain Controller ก่อนนะ ถ้าไม่ตรงก็คลิกขวา Change Directory Server ก่อน
- ตรวจสอบสถานะ FSMO
netdom query fsmoทั้งหมด มันต้องย้ายเป็น LAB-DC2
C:\Windows\SYSVOL\staging areas>netdom query fsmo Schema master Lab-DC02.contoso.com Domain naming master Lab-DC02.contoso.com PDC Lab-DC02.contoso.com RID pool manager Lab-DC02.contoso.com Infrastructure master Lab-DC02.contoso.com The command completed successfully.
นอกจากนี้แล้ว ถ้าเครื่องพัง อาจจะต้องมีการปลดออก อจ ตุล ได้แนะนำให้ไปศึกษาเพิ่มเติม รวมถึงกรณีที่ AD มันตาย / พัง เคสนี้ลองดู Tools ntdsutil seize หรือ PowerShell Move-ADDirectoryServerOperationMasterRole
Reference
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.






