Wednesday, June 3, 2009

วิธีการสร้างแอคเคาท์จำนวนมากบน Active Directory ด้วยคำสั่ง DSadd.exe

การสร้าง User Account บน Active Directory (AD) เป็นภารกิจหลักหนึ่งของ Administrator โดยทั่วไปถ้าเป็นการสร้างแอคเคาท์ในจำนวนไม่มากนัก ก็สามารถที่จะใช้เครื่องมือแบบกราฟิกอย่าง Active Directory Users and Computers (ADUC) หรือใช้คำสั่งแบบคอมมานด์ไลน์อย่าง Net user แต่ถ้าต้องแอคเคาท์ใหม่เป็นจำนวนหลายร้อยหรือหลายพันแอคเคาท์ การใช้เครื่องมือดังที่กล่าวมาคงจะไม่สะดวกนัก บทความนี้จะสาธิตการสร้างแอคเคาท์จำนวนมากโดยใช้คำสั่ง dsadd.exe

การเตรียมข้อมูลก่อนดำเนินการ
การเตรียมข้อมูลก่อนดำเนินการ สร้างแอคเคาท์จำนวนมากๆ นั้น จะต้องเตรียมข้อมูลดังนี้
1. รายละเอียดชื่อ Domain, Organization Unit (OU), Profile path, Logon Script และข้อมูลอื่นๆ
2. รายละเอียดของผู้ใช้สำหรับใช้ในการสร้างแอคเคาท์ซึ่งอาจจะอยู่ในไฟล์ Excel, Access, หรือ Data Base ก็ได้ (บทความนี้จะอยู่บนสมมุติฐานที่ว่า่มีไฟล์ดังกล่าวนี้พร้อมแล้ว โดยจะไม่แสดงวิธีการสร้างไฟล์ การนำเข้า หรือการส่งออก)

แนะนำคำสั่ง dsadd.exe
คำสั่ง dsadd.exe นั้น เป็นคำสั่งสำหรับใช้ในการเพิ่มอ็อปเจ็กต์เข้าใน AD โดยสามารถเพิ่ม computer, contact, group, organization unit หรือ user โดยในบทความนี้จะกล่าวถึงเฉพาะการเพิ่ม user สำหรับการเพิ่มอ็อปเจ็กต์อื่นๆ จะนำเสนอในบทความต่อๆ ไป

คำสั่ง dsadd.exe นั้นจะมีอ็อปชันค่อนข้างมาก ซึ่งสามารถดูอ็อปชันทั้งหมดได้ด้วยการรันคำสั่ง dsadd.exe user /? ที่คอมมานด์พรอมท์ ซึ่งจะได้หน้า่ต่างลักษณะดังรูปที่ 1


รูปที่ 1

โดยในการสร้างแอคเคาท์ด้วยคำสั่ง dsadd user นั้น จะต้องป้อนค่า เป็นพารามิเตอร์ที่จะต้องป้อนค่า สำหรับพารามิเตอร์อื่นๆ ซึ่งมีอยู่หลายตัวนั้น สามารถเลือกเฉพาะพารามิเตอร์บางตัวที่มีความสำคัญหรือต้องการใช้งาน โดยบทความนี้จะใช้พารามิเตอร์ทั้งหมด 9 ตัวดังนี้
1. เป็นพารามิเตอร์ที่จะต้องป้อนค่า
UserDn จะเป็น User Distinguish Name โดยจะมีโครงสร้างซึ่งอ้างอิงมาจากรูปที่ 2 ดังนี้
"CN=User_Account,OU=Sub_Level_OU2,OU=Sub_Level_OU1,OU=Top_Level_OU,DC=techteam,DC=com"

2. -fn ใส่ชื่อของผู้ใช้

3. -ln ใส่นามสกุลของผู้ใช้

4. -display ชื่อที่จะใช้แสดงเมื่อคลิกปุ่ม Start ของวินโดวส์ โดยทั่วไปจะใส่เป็น "ชื่อ-นามสกุล" ของผู้ใช้

5. -pwd { / *} รหัสผ่านที่กำหนดให้กับแอคเคาท์ที่สร้าง หรือใส่ * ถ้าต้องการให้ระบบพร้อมท์ให้ป้อนรหัสผ่าน

6. -pwdneverexpires {Yes / No} กำหนดว่าจะให้รหัสผ่านมีการหมดอายุหรือไม่ โดยใส่ค่าเป็น Yes หรือ No (โดยทั่วไปควรกำหนดให้รหัสผ่านมีการหมดอายุ แต่ต้องดูความเหมาะสมในการใช้งานด้วย)

7. -disabled {Yes / No} กำหนดว่าจะให้ปิดหรือเปิดแอคเคาท์ที่ทำการสร้าง โดยใส่ค่าเป็น Yes หรือ No

8. -mustchpwd {Yes / No} กำหนดว่าจะให้ผู้ใช้ต้องทำการเปลี่ยนรหัสผ่านในการล็อกออนในครั้งแรกหรือไม่ โดยใส่ค่าเป็น Yes หรือ No

9. -canchpwd {Yes / No} กำหนดว่าจะให้ผู้ใช้สามารถทำการเปลี่ยนรหัสผ่านได้เองหรือไม่ โดยใส่ค่าเป็น Yes หรือ No อ็อปชันนี้จะต้องไม่ขัดแย้งกับอ็อปชัน pwdneverexpires

ตัวอย่างการเพิ่มแอคเคาท์
สมมุติว่าโดเมนชื่อ techteam.com และมี OU 3 ระดับ ดังรูปที่ 2 และต้องการสร้างแอคเคาท์รายละเอียดดังนี้
แอคเคาท์ชื่อ: S200901
ีชื่อ: "System"
นามสกุล: "Admin"
เก็บใน OU:
Top_Level_OU ชื่อ Division
Sub_Level_OU1 ชื่อ IT
Sub_Level_OU2 ชื่อ Admin
ข้อกำหนดอื่นๆ:
โดยกำหนดให้ ปิดแอคเคาท์ที่ทำการสร้าง, ต้องทำการเปลี่ยนรหัสผ่านในการล็อกออนในครั้งแรก และผู้ใช้สามารถทำการเปลี่ยนรหัสผ่านได้เอง


รูปที่ 2

คำสั่งที่ใช้จะมีลักษณะดังนี้

dsadd user "CN=S200901,OU=Admin,OU=IT,OU=Divisions,DC=techtem,DC=com" -fn System -ln Admin -display "Sysadmin" -pwd Q9@a7Tx -pwdneverexpires no -disabled yes -mustchpwd yes -canchpwd yes

ลดภาระโดยการใช้แบตช์ไฟล์
จากตัวอย่างด้านบนซึ่งเป็นการสร้างแอคเคาท์เพียงแอคเคาท์เดียว จะเห็นว่าต้องทำการป้อนคำสั่งต่างๆ เยอะมาก หากต้องเพิ่มแคเคาท์สัก 5 แอคเคาท์ก็คง คงจะเมื่อยมือน่าดู ดังนั้นวิธีที่ดีในการสร้างแอคเคาท์จำนวนมากๆ คือ การสร้างเป็นแบตช์ไฟล์ โดยอาจจะทำการบันทึกข้อมูลเบื้องตนลงในไฟล์ Excel จากนั้นจึงทำการส่งออกเป็นเท็กซ์ไฟล์ จากนั้นทำการปรับแต่งเท็กซ์ไฟล์ที่ได้ให้ตรงกับซินแท็กซ์ของคำสั่ง dsadd.exe ดังตัวอย่างด้านบน เสร็จแล้วแบตซ์ไฟล์ที่ได้จะมีลักษณะดังรูปที่ 3 (ไม่ต้องใส่คำว่า #ขึ้นบรรทัดใหม่#)



เมื่อได้แบทซ์ไฟล์ ให้ทำการรันบทซ์ไฟล์ที่ได้บนเครื่องเซิร์ฟเวอร์ที่เป็น Domain Controller เพื่อทำการสร้างแอคเคาท์ใน Active Directory ต่อไป

© 2009 TWAB. All Rights Reserved.

0 Comment: