Vista 常被歸類為失敗的 Windows 版本 (上一個翻車的 Windows ME 吧),但我很喜歡它推出的 UAC,花點代價買一份保險,流汗好過流血,到後來的 Windows 10/11,我已習慣系統預設的 UAC 設定,寧可每次更異動系統前多一道確認關卡,好過不小心手滑或被惡意程式突襲。
(延伸閱讀:狗都嫌的Vista UAC,問題在哪裡?多想兩分鐘,你可以不必教User關掉Vista UAC)

不過,我發現在 Azure 建立的 Windows VM 怪怪的,明明有啟用 UAC:

但開始選單的 Terminal 項目點下去會用管理者權限執行 Administrator: Windows Powershell,過程也沒有同意提示(Prompt for Consent),UAC 形同失效:

研究後搞懂一件事。新增 Azure VM 時建立的管理者帳號跟我一般安裝 Windows 10/11 輸入的使用者帳號性質不同,雖然都命名為 jeffrey,但在我的本機,jeffrey 是個標準使用者,而系統預設的管理者則被停用(黃色標示處):

而在 Azure VM 則是將內建管理者帳號更名為 jeffrey,我平時其實是用內建管理者登入操作:

Windows 可選擇啟用或停用內建管理者帳號,預設為停用,因此我自己安裝的話,都是停用內建管理者再另建使用者帳號。參考:啟用和停用內建的 Administrator 帳戶 / Enable and disable the built-in administrator account

而在 Windows 群組原則中,針對內建管理者預設會停用「Admin Approval Mode / 管理員核准模式」,也就是省略同意提示,直接以管理者身分執行,這就解釋了為什麼在 Azure VM 上 UAC 等同失效,沒有同意提示,永遠都用管理者權限執行。如果想要平日用一般使用者身分執行,必要時再啟用管理者權限的管理員核准模式,另建一個標準使用者帳號,但加入 Administrators 群組,改用該帳號操作;另一個解法是修改群組原則設定,讓內建管理者也啟用管理員核准模式,將下圖的 Local Computer Policy\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Admin Approval Mode for the Built-in Administrator account 由 Not Defined 或 Disabled 改成 Enabled。參考:
使用者帳戶控制設定和組態 / User Account Control settings list

改完之後,Terminal 便會以一般使用者權限執行,Terminal (Admin) 則會跳出同意提示,再啟用管理者權限跑程式:

嗯,好多了。Windows 11 變回我習慣的操作模式,安心度 + 1。


Comments

Be the first to post a comment

Post a comment