Pages - Menu

Pages - Menu

Pages

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.

No comments:

Post a Comment

เชิญแลกเปลี่ยนความคิดเห็น ขอสงวนสิทธิ์ในการเผยแพร่ข้อความ HTML