虛擬機本機帳號無法登入時,該如何處理?(Hyper-v版)

當虛擬機本機帳號無法登入時,該如何處理呢?

最近公司發生了一個奇特的狀況,

某台伺服器登入本機帳號時因密碼到期更改密碼,

結果改完了出現存取被拒!?

該帳號是本機administrator居然也會存取被拒!?

經一查,

原因是因為之前透過GPO修改這個帳號的密碼,

但當時修改的時候,

忘記勾選「密碼永久有效」,

導致密碼過期,

過期之後也沒有去改他,

之後這台因為離開網域的時候不是用一般的離開的方法,

而是直接從AD去刪物件,

最後導致這個情況發生。

 

既然有問題出來了,

那就必須要找方法解決,

在網路上找到這篇文章:

https://www.itread01.com/content/1502524690.html

透過五次的shift來叫出命令提示字元,

進而變更密碼,

不過這方法僅限於虛擬機,

而這次要記錄的是Hyper-V版本,

以下就是這次的紀錄~

 

1. 先將有問題的Volume拿到其他台好的機器掛載起來

看是要從「磁碟管理中心」掛起來還是左鍵兩下掛起來都可以

(↑掛載到實體機上)

2. 將「Windows\System32」之中的「sethc.exe」備份起來

由網路上得知,

按下五次的Shift而叫出的程式是把「sethc.exe」這隻程式叫出來,

所以我們要變動的就是這支應用程式,

(↑先把「sethc.exe」備份出來,備份到哪就看你)

2. 修改「sethc.exe」的安全性權限並刪除

這裡就比較困難一點了,

把「Windows\System32」中的「sethc.exe」刪掉,

但刪除時會說沒有權限刪除,

(↑沒有權限無法刪除)

這樣就只能修改安全性了,

(↑沒有權限新增/刪除)​

不過沒有權限新增/刪除,

所以只能先繼承安全性囉,

(↑這裡就看要改誰囉,因為我這個是測試環境,所以就改成Everyone,正式環境的情況下是不建議改成Everyone的)​

改好之後就按下「套用」和「確定」,

好了之後再度開啟「sethc.exe」的安全性設定,

(↑這時候就可以新增/刪除了)

(↑一樣,因為是測試環境才是用Everyone,正式環境不建議設定Everyone)

設定完成之後,

就進行刪除的工作啦~

(↑刪掉了)​

3. 找到「cmd.exe」檔案,複製並將複製出來的檔案名稱改成「sethc.exe」

因為按五次Shift,

會叫出「sethc.exe」這隻應用程式,

但它似乎只會認名稱,

不會去管到底執行什麼,

所以我們就把「cmd.exe」複製一份出來,

把複製的那一份改名成「sethc.exe」。

(↑雖然改名之後看起來跟原來的「sethc.exe」,但執行之後卻是「命令提示字元」)

4. 把虛擬硬碟掛載回去原來的虛擬機上進行測試

好了之後,

就把虛擬硬碟掛回去原本的虛擬機上進行測試,

(↑掛上去之後,按下五次的Shift,就跑出「命令提示字元」囉)​

(↑透過"net user"指令,修改密碼)

(↑輸入新的密碼後,登入成功)