รีเซต Administrator Password สำหรับ Windows Server 2019 ด้วย AWS EC2 Rescue

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

สวัสดีครับ ผมไลท์ครับ

วันนี้จะมาแนะนำขั้นตอนการรีเซตAdministrator Password สำหรับwindows server 2019 ด้วย EC2Rescueกันครับ

  • สำหรับท่านใดที่ยังไม่รู้เกี่ยวกับการใช้งาน Windows Serverผ่านAWS หรืออยากได้ข้อมูลเพิ่มเติมสามารถอ่านจากบทความทางด้านล่างก่อนเพื่อเพิ่มความเข้าใจก่อนดำเนินการตามบทความนี้ครับ

    สร้าง EC2สำหรับเปลี่ยนAdministrator Password

    เตรียม instance ของ windows serverสำหรับเปลี่ยน administartor password โดยจะใช้เป็นMicrosoft Windows Server 2019 Baseที่รองรับการสร้างผ่านAMIด้วยครับ

    หลังจากสร้าง instance แล้วให้ใช้key pairเข้าใช้งานผ่านremote desktop file และเข้าไปรับadministrator passwordสำหรับการเข้าสู่ windows server

    การเปลี่ยน Password

    หลังจากเชื่อมต่อผ่านRDP Clientโดยใช้ administrator password ตามข้อบนได้แล้ว จากนั้นให้เข้าไปเปลี่ยนadministrator passwordด้วยwindows powershellโดยใช้คำสั่งทางด้านล่างนี้ผ่าน windows server ของ Rescue instanceครับ

    PS C:\Users\Administrator> net user "Administrator" "HogeFuga111"
    The command completed successfully.

    แล้วลองเชื่อมต่อใหม่ซึ่งตอนนี้จะเชื่อมต่อไม่ได้แล้ว

    ขั้นตอนการแก้ไข

    ภาพรวมการแก้ไขปัญหาโดยคร่าวๆตามภาพนี้ครับ

    1.ในบทความนี้จะใช้ EC2 instance 2 ชุด
    ①.Target instance คือinstanceที่ถูกเปลี่ยนรหัส administrator password
    ②.Rescue instance คือinstanceสำหรับใช้กู้รหัส administrator password

    2.กู้รหัสผ่านโดยการ Attach volume ของ Rescue instance เข้าไปที่ Target instance แล้วเชื่อมต่อกับ windows server เพื่อทำการรีเซตรหัสผ่าน

    3.Attach volume ของ Target instance กลับเข้าไปแล้วเชื่อมต่ออีกครั้งก็จะสามารถกู้รหัสผ่าน administrator password

    หลังจากเข้าใจภาพรวมของการแก้ไขกันแล้วก็มาลองลงมือทำตามรายละเอียดทางด้านล่างนี้กันเลย

    1.สร้าง Rescue instance ของ Windows Serverไว้เพื่อใช้ในการกู้รหัสใหม่

    2.stop target instance แล้ว detach volume เดิมออกโดยจะ attach volume ของ Rescue instanceเข้าไปแทน

    3.เข้าใช้งาน windows server ผ่าน Rescue instance แล้วลงโปรแกรม EC2Rescue

    4.เปิดใช้งานEC2Rescueบน Rescue instance เพื่อทำการรีเซต administrator password

    5.attach volumeของ Target instance กลับคืนเข้าไปจากนั้นstart instance

    6.เชื่อมต่อ RDP แล้วเข้าไปรับadministrator passwordใหม่โดยใช้key pair (.PEM)

    จริงๆแล้วมีวิธีที่แก้ปัญหานี้ได้คือ EC2Rescue for Windows Server และ SSM Runbook แต่ในบทความนี้เราจะใช้ EC2Rescue for Windows Serverกันครับ

    1.สร้างRescue instanceของ Windows Serverไว้เพื่อใช้ในการกู้รหัสใหม่

    รองรับการใช้งาน EC2 ได้ตั้งแต่ Windows Server 2008 R2เป็นต้นไปโดยครั้งนี้เราจะมาใช้ Windows Server 2019ครับ

    2.stop target instance แล้ว detach volume เดิมออกโดยจะattach volumeของ Rescue instanceเข้าไปแทน

    stop instance ที่Target instanceก่อนเพื่อให้ทำการ Detach volumeได้

    จากนั้นเลื่อนลงมาที่หัวข้อ "storage" เลื่อนลงไปที่ Volume ID

    เลือก Volume ID ไปที่ Action เลือกDetach volume
    เป็นไปได้จดโน้ต หรือ copy volume ID ของ target instanceเก็บเอาไว้เพื่อจะได้สะดวกต่อการค้นหาในภายหลังด้วยครับ

    หลังจาก Detach volume แล้วกลับไปที่ Volume IDเดิมอีกครั้ง เลือกActionและเลือกAttach volume

    ในหน้าAttach volume เลือกที่ Instance จากนั้นเลือก Rescue instance(ในตัวอย่างคือ rescue-winn) แล้วเลือกที่Attach volume ครับ

    **ข้อสังเกตุ : การ Detach volume จะทำได้ต่อเมื่อInstance อยู่ในสถานะ Stopped เท่านั้น **

    3.เข้าใช้งาน windows server ผ่านRescue instance แล้วลงโปรแกรมEC2Rescue

    เข้าใช้งาน windows server ผ่านRescuse instanceได้แล้วให้ลงโปรแกรมEC2Rescueเพื่อทำการรีเซตรหัสผ่าน
    โดยสามารถลงโปรแกรมได้ 2วิธีดังนี้
    1. ใช้คำสั่งwindows powershellตามด้านล่างนี้บน windows serverของ Rescuse instance
    2. ดาวน์โหลดผ่าน linkนี้

    PS C:\Users\Administrator> Invoke-WebRequest https://s3.amazonaws.com/ec2rescue/windows/EC2Rescue_latest.zip -OutFile $env:USERPROFILE\Desktop\EC2Rescue_latest.zip

    4.เปิดใช้งานEC2RescueบนRescue instanceเพื่อทำการรีเซต administrator password

    แตกไฟล์ที่ดาวน์โหลดมาและเปิดใช้งาน EC2Rescue.exe

    ก่อนเข้าใช้งานจะมีให้เลือก 2mode ระหว่าง Current Instance และ Offline Instance
    ตัวแรก จะช่วยแก้ปัญหาและตรวจสอบปัญหาที่ซ่อนอยู่ใน instance ที่ active อยู่
    ตัวหลัง มีฟังก์ชั่นที่แก้ปัญหาอื่นๆในinstanceเช่นในครั้งนี้ที่เกี่ยวกับroot volume
    โดยเราจะเลือกใช้ Offline Instance ครับ

    โปรแกรมนี้ยังมีฟังก์ชั่นอีกมากมายแต่ในครั้งนี้เราจะใช้เพื่อการรีเซตรหัสผ่านเท่านั้น โดยให้เลือกหัวข้อDinagnose and Rescue → จะเข้าสู่หน้าDetected possible issue → เลือกที่Reset Administrator Password ในหัวข้อ EC2Launch

    5.attach volumeของTarget instanceกลับเข้าไปจากนั้นstart instance

    หลังจากรีเซตรหัสผ่านโดยใช้ EC2Rescue แล้วให้ทำการ stoprescue instance

    จากนั้นเข้ามาที่หน้า Management console ของ EC2 ไปที่หัวข้อ Elastic Block Store → เลือกVolume

    ในหน้าVolumeให้นำรหัสvolume IDของtarget instanceที่เราจดโน้ตหรือเก็บข้อมูลไว้มาค้นหา แล้วเลือกที่ Detach volume

    หลังจากDetach volumeของRescue instanceแล้วไปที่ Attach volume

    จะเข้ามาหน้า Attach volume ในหัวข้อinstance ให้เลือกTarget instance(ในตัวอย่างคือ hoge-win)และระบุ Device name เป็น /dev/sda1ด้วย

    หลังจากattach volumeเดิมกลับคืนTarget instanceให้ทำการstart instance

    6.เชื่อมต่อ RDP แล้วเข้าไปรับadministrator passwordใหม่โดยใช้key pair (.PEM)

    ที่หน้าเมนูให้เชื่อมต่อRDP client โดยใช้ key pair ที่มีอยู่ทำการขอรหัส

    เนื่องจากIP ADDRESS จะเปลี่ยนไปจึงต้องดาวน์โหลด RDP file (remote desktop file)อีกครั้ง

    หลังจากดาวน์โหลดRDP file ใหม่และทำการขอรหัสใหม่รวมถึงเข้าใช้งาน windows server ได้แล้วเท่านี้ก็ถือว่าการรีเซตรหัสadministrator passwordได้สำเร็จแล้วครับ โดยรหัสในตอนแรกกับหลังจากรีเซตจะเป็นคนละรหัสกันนะครับ

    เอกสารที่เกี่ยวข้อง

  • การสร้าง Microsoft SQL Server 2019 Standard ใน Windows Server 2019 บน EC2
  • วิธีการเพิ่ม Local Disk ด้วย Elastic Block Store (EBS)สำหรับ Windows Server 2019บนEC2
  • Amazon EC2のWindows用復旧ツール『EC2Rescue』が利用可能になりました | DevelopersIO