[วิธีทำ] การทำระบบเปลี่ยน Password ของ User บน Active Directory (Windows Server 2016) ผ่าน Web Browser โดยไม่ต้องเขียนโปรแกรม

admin

Staff Member
Administrator
#1
โดยปกติหาก User มีบัญชีอยู่บน AD อยู่แล้ว และต้องการเปลี่ยน Password ของตนเอง ส่วนใหญ่ก็จะใช้วิธีการ Logon Domain บนเครื่องของตนเองก่อน จากนั้นก็เข้าไปเปลี่ยน Password ได้เลยทันที
แต่ก็จะมีบางกรณีที่เรามีฐานข้อมูลของ User อยู่บน AD แต่ User ไม่มีคอมพิวเตอร์เพื่อ join domain มีเพียงแค่ account ส่วนตัวที่ใช้ในการ authenticate ระบบ WiFi, ระบบ VPN หรือระบบงานบางอย่าง เท่านั้น อีกทั้ง Password ยังมีการตั้งให้มีการหมดอายุ เพื่อให้เป็นไปตามนโยบายความปลอดภัยขององค์กร
ด้วยเหตุนี้เราจึงจำเป็นที่จะต้องมีระบบเพื่อให้ User สามารถที่จะเปลี่ยน password ของตนเองได้โดยที่ไม่มีเครื่องส่วนตัวที่ join domain ซึ่งวิธีการที่สะดวกที่สุดก็คือ การจัดทำระบบเปลี่ยน password ให้กับ user ผ่านทาง web browser นั่นเอง
วันนี้เลยจะมาแชร์วิธีการทำระบบเปลี่ยน password บน AD ให้กับ user โดยประยุกต์ใช้ IIS service + Remote Desktop Service ที่มากับ Windows Server 2016 แทนการเขียนโปรแกรม โดยจะมีหัวข้อหลักๆ ดังนี้ครับ
1. ติดตั้งระบบ Internet Information Service (IIS Web Server)
2. ติดตั้ง Remote Desktop Web Service (RDWeb)
3. เพิ่ม host record (A) บน DNS เพื่อให้ User สามารถจำ URL ได้ง่ายขึ้น
4. เปลี่ยน Logo บนหน้า Web ให้เป็น Logo ขององค์กร
5. ทดสอบการเปลี่ยน password
6. ข้อเสนอแนะ
เรามาเริ่มกันเลยดีกว่าครับ..(ในที่นี้สมมุติว่าเรามีระบบ AD อยู่แล้วนะครับ..)
1. ติดตั้งระบบ Internet Information Service (IIS Web Server)
  • เปิดโปรแกรม Server Manager -> Manage -> Add Role and Features
37138977_981837098644323_4952071595498668032_o.png

  • กด Next
37130320_981838021977564_4286214994464342016_n.png

  • กด Next
37121018_981838308644202_801652802530050048_n.png

  • กด Next
37161701_981838578644175_8458994752975536128_n.png

  • เลือก Remote Desktop Service และ Web Server (IIS) และกด Next
37109700_981839378644095_3815369553848827904_n.png

  • กด Next
37107942_981839721977394_3127330705156079616_n.png

  • เลือก Option ตามด้านล่าง
37095907_981840118644021_2009005892262952960_n.png

  • กด Next
37175625_981840608643972_346623707831074816_n.png

  • กด Next
37078652_981841128643920_1116503450406879232_n.png

  • กดปุ่ม Install
37214075_981841495310550_2562503516018966528_n.png

  • กดปุ่ม Close
37087311_981841918643841_3835554985311993856_n.png

  • หลังจากติดตั้งเสร็จ ให้ทำการ Restart Windows Server รอบนึงครับ
2. ติดตั้ง Remote Desktop Web Service (RDWeb)
  • เปิดโปรแกรม Server Manager -> Manage -> Add Roles and Features
37120731_981844018643631_5767426743862296576_o.png

  • เลือก Remote Desktop Services Installation และกด Next
37174864_981844438643589_959907954952241152_n.png

  • กด Next
37092823_981844741976892_5662715286566993920_n.png

  • เลือก Session-based desktop deployment
37115760_981844998643533_555670482070798336_n.png

  • กด Next
37085245_981845331976833_7770286679658594304_n.png

  • กด Next
37095852_981845581976808_8891268561184489472_n.png

  • กดเลือก Install the RD Web Access role service on the RD Connection Broker และกด Next
37262226_981846055310094_3084690119517536256_n.png

  • กดเลือก Server Pool Name และกด Next
37119451_981846385310061_8604299728596762624_n.png

  • เลือก Restart the destination server automatically if required และกดปุ่ม Deploy
37208273_981846738643359_713254949579915264_n.png

  • กดปุ่ม Close
37196227_981847315309968_646981830381142016_n.png

  • เปิด IIS Web Server จาก Server Manager อีกครั้ง
37121553_981847808643252_4983546163815776256_o.png

  • เมื่อเปิด IIS แล้ว ไปที่ RDWeb -> Pages -> Application Settings
37229566_981848425309857_5857949128155201536_o.png

  • เปลี่ยน PasswordChangeEnabled จาก False เป็น True
37161379_981849265309773_860882523255734272_o.png

  • Restart IIS Web Server รอบนึงครับ
37171394_981849568643076_2004903953682137088_n.png

37105295_981849968643036_326811049464430592_o.png

3. เพิ่ม host record (A) บน DNS เพื่อให้ User สามารถจำ URL ได้ง่ายขึ้น
  • ไปที่ Server Manager -> Tools -> DNS
37124646_981850955309604_8549427346682150912_o.png

  • เพิ่ม A Record ของ Web เปลี่ยน password โดยไปที่ Domain -> Forward Lookup Zone จากนั้นเพิ่มชื่อ host, IP ตามที่ต้องการ
37146858_981851421976224_5509243336143142912_n.png

  • ทดสอบ hostname ใหม่โดยการ Ping ชื่อ หรือทำการ nslookup
37087812_981851811976185_1572283279619391488_o.png

  • กลับไปที่ IIS อีกครั้ง จากนั้นไปที่ Default Web Site -> HTTP Redirect
37102570_981852281976138_2571558986411147264_o.png

  • ตั้งค่า HTTP Redirect ตามตัวอย่างด้านล่าง จากนั้นกด Apply
37199008_981852711976095_4457782655718522880_o.png

  • เมื่อทดสอบพิมพ์ URL: https://changepass เราจะถูก redirect ไปยัง path เต็มที่เรากำหนดไว้
37097610_981853245309375_1158788378393575424_o.png

4. เปลี่ยน Logo ของหน้า Web ให้เป็น Logo ขององค์กร
  • เริ่มต้นโดยนำไฟล์ภาพ Logo ของเราไปวางไว้ที่ path C:\Windows\Web\RDWeb\Pages\images
37113083_981853771975989_263048115311869952_n.png

  • แก้ไขไฟล์ Site.xsl ที่ path: C:\Windows\Web\RDWeb\Pages โดยไปที่บรรทัดที่ 50 จากนั้นใส่ชื่อไฟล์ Logo ของเราที่เตรียมไว้แทนชื่อไฟล์เดิม และทำการ Save ไฟล์
37214729_981854595309240_5869069047592648704_o.png

  • ทดสอบ Refresh หน้า web อีกครั้งจะพบว่า Logo ถูกเปลี่ยนไปเป็น Logo ของเราเรียบร้อยครับ
37114472_981856215309078_1832538575267168256_o.png

5. ทดสอบการเปลี่ยน password โดยใช้ web browser
  • เริ่มทำการทดสอบการเปลี่ยน Password โดยกรอกข้อมูล Domain\User,Current password, New password และ Confirm new password จากนั้นกด Submit
37284695_981856831975683_305347594647764992_o.png

  • หากขั้นตอนทำได้อย่างถูกต้อง เราจะพบว่า สามารถเปลี่ยน password ได้ครับ ตามตัวอย่างด้านล่าง
37125720_981857618642271_1845383731527811072_n.png

6. ข้อเสนอแนะ
สิ่งที่ควรปรับปรุงเพิ่มเติม หากนำไปประยุกต์ใช้งานจริง..
  • ทำการติดตั้งหรือ clone AD ชุดสำรองมา 1 ชุด และติดตั้งระบบเปลี่ยน Password ที่ตัวนี้แทนการติดตั้งที่ AD ตัวหลัก
  • ทำการเปลี่ยน หมายเลข Port ของ Web Server จากค่า Default = 443 ไปเป็น port อื่น
  • ป้องกันการเข้าถึง URL path อื่นๆ ที่ไม่เกี่ยวข้องกับระบบเปลี่ยน Password โดยใช้ Web Application Firewall หรือ Reverse Proxy เข้ามาช่วยป้องกัน เป็นต้นครับ

credit ; https://www.facebook.com/notes/n-no...ry-windows-server-2016-ผ่าน-/981387938689239/
 

แฟนเพจ


Top