Windows LAPS 實務指南 ── 停止在所有電腦共用同一組本機系統管理員密碼

· · Windows, 資安, LAPS, 密碼管理, Active Directory, Intune, PowerShell, 資訊系統

在電腦配置(kitting)的第一線,長久以來一直存在著一種「經典的省事做法」:把相同的本機系統管理員密碼寫入母機映像檔,再部署到所有電腦上 ── 進行維護時只要用這組密碼登入即可,就流程而言看似合理。然而,這種組態如今正是攻擊者眼中最先鎖定的目標,因為它等同於「量產萬能鑰匙」。一台遭入侵,就會直接變成全部電腦遭入侵。

本文以中小企業的資訊部門負責人,以及承接電腦配置與維護營運的開發者為對象,先整理清楚全機共用本機系統管理員密碼為何危險,接著以 2026 年 8 月當下的第一手資料為基礎,說明作為解決方案、已內建於作業系統的Windows LAPS(Local Administrator Password Solution)運作機制、依環境區分的使用方式、導入步驟,以及運用上的陷阱。本文是延續BitLocker 實務指南、WSUS 廢止、防火牆、憑證存放區這一系列資訊部門資安連載的續篇。

1. 先講結論

  • 所有電腦共用同一組本機系統管理員密碼,是讓一台遭入侵就擴散到全部電腦的橫向擴散(lateral movement)溫床。因為密碼相同,NTLM 雜湊值也相同,一旦有一台電腦的雜湊值遭竊取,其餘所有電腦都能被 Pass-the-Hash 攻破。1
  • Windows LAPS 是把本機系統管理員密碼依端末各自隨機化、並自動輪替的作業系統標準功能。Microsoft 把它列為 Pass-the-Hash、橫向擴散對策中的首要優點。1
  • 內建於 2023 年 4 月 11 日更新程式以後的 Windows 10/11,以及 Windows Server 2019/2022 以後的版本。與舊版 LAPS(以 MSI 發佈)不同,不需要額外安裝。舊版 LAPS 在 Windows 11 23H2 以後已被列為不建議使用。1
  • 密碼的儲存位置是 Active Directory 或 Microsoft Entra ID 兩者擇一。僅加入網域的端末儲存到 AD,僅加入 Entra 的端末儲存到 Entra ID,混合式加入則兩者擇一。兩者皆未加入的工作群組端末無法使用。1
  • 預設狀態下什麼都不會發生。BackupDirectory 的預設值是「停用」,唯有透過原則(GPO 或 Intune/CSP)明確指定儲存位置後才會開始運作。2
  • AD 儲存需要三項事前準備。結構描述延伸(Update-LapsADSchema)、電腦本身的寫入權限(Set-LapsADComputerSelfPermission)、檢視權限的設計(Set-LapsADReadPasswordPermission)。3
  • 確認密碼用 Get-LapsADPassword / Get-LapsAADPassword,立即套用用 Invoke-LapsPolicyProcessing,在端末端立即輪替則用 Reset-LapsPassword4
  • 使用過的密碼會自動變成一次性密碼。在管理對象帳戶完成驗證後,預設會在 24 小時內執行重設+登出(PostAuthenticationActions)。2

2. 為什麼所有電腦共用本機系統管理員密碼很危險

首先要準確掌握威脅的結構。若把本機系統管理員帳戶(也就是內建的 Administrator,或配置電腦時建立的維護用帳戶)的密碼在所有電腦上設為相同,會發生什麼事?

Windows 並不會原封不動地保存本機帳戶的密碼,而是保存由密碼計算而來的 NT 雜湊值。而在 NTLM 驗證中,這個雜湊值本身就是驗證的材料。也就是說,只要密碼相同,雜湊值在所有電腦上也都相同。攻擊者透過惡意軟體或針對性攻擊取得一台電腦的管理員權限後,就能從該端末的記憶體或本機資料庫(SAM)中取出雜湊值。接下來才是重頭戲 ── 取出的雜湊值不需要還原成明文密碼就能直接用於驗證。這就是Pass-the-Hash 攻擊。在共用密碼的環境中,從一台電腦取得的雜湊值就會變成其餘所有電腦的「萬能鑰匙」,入侵會一口氣橫向擴散。關於 NTLM 驗證的機制、為何光憑雜湊值就能通過驗證,「圖解 NTLM 與 Kerberos」有詳細說明。

導入 LAPS 之後因為密碼依電腦各自不同取得 PC-01 的雜湊值PC-01 遭入侵這個雜湊值在其他 PC 上無法用於驗證(阻斷經由本機系統管理員帳戶的橫向擴散)共用密碼環境Pass-the-HashPass-the-HashPass-the-Hash取得系統管理員的 NT 雜湊值PC-01 遭入侵(惡意軟體・針對性攻擊)PC-02PC-03…擴散至全部電腦

對策的方向很明確:依電腦各自設定不同的本機系統管理員密碼,並且定期更換。這樣一來,即使一台電腦的雜湊值外洩,在其他端末上也無法使用,可以阻斷「重複使用本機系統管理員帳戶」這條橫向擴散路徑(請注意,這並不代表能封住所有橫向擴散路徑,例如遭入侵電腦上網域認證資訊遭竊取等其他路徑並不會因此消失)。然而,靠手動作業來做這件事並不現實。要為數十台電腦分別產生密碼、用清冊管理、再定期輪流更新 ── 正是這種運用成本之高,讓共用密碼這種偷懶做法得以長期存在。把「個別化與定期更換的自動化」連同「安全地儲存到目錄」一併交由作業系統負責的,就是 Windows LAPS。Microsoft 自己也把「防範 Pass-the-Hash 攻擊與橫向擴散(lateral-traversal)攻擊」列為 Windows LAPS 的首要優點。1

另外,關於「日常業務原本就不該用系統管理員帳戶進行、維護用帳戶的用途應加以限縮」這種特殊權限管理的基本觀念,也請參考「Windows 什麼時候需要系統管理員權限」。

3. Windows LAPS 是什麼 ── 與舊版 LAPS 的差異

LAPS 這個名稱帶有歷史包袱,在實務上若不區分「說的是哪個 LAPS」,對話就會對不上。

舊版 LAPS(傳統 Microsoft LAPS)是 Microsoft 在 2016 年公開、需要額外安裝的工具。1 其組態是把 MSI 套件發佈到所有端末以安裝群組原則延伸(CSE),並把密碼以明文形式儲存在 Active Directory 的 ms-Mcs-AdmPwd 屬性中,長期以來是事實上的標準做法。

Windows LAPS 是作為其後繼、內建於作業系統的另一套實作。它涵蓋 2023 年 4 月 11 日更新程式以後的 Windows 10、Windows 11 21H2/22H2、Windows Server 2019/2022,而 Windows 11 23H2 以後以及 Windows Server 2025 以後則是一開始就內建。1 也就是說,只要環境正常套用更新程式,公司內部的電腦上其實已經內建了 Windows LAPS。剩下只需要設定原則即可。

觀點 舊版 LAPS(傳統) Windows LAPS
提供形式 把 MSI 發佈到所有端末並安裝 作業系統內建(2023 年 4 月更新以後)。不需要額外安裝1
密碼儲存位置 僅限 Active Directory Active Directory 或 Microsoft Entra ID1
AD 上的加密 不支援(明文+ACL 保護) 支援(DFL 2016 以上可加密儲存、保存密碼歷程)3
DSRM 密碼管理 不支援 也能管理網域控制站的 DSRM 帳戶1
驗證後自動重設 透過 PostAuthenticationActions 於驗證後自動重設+登出等2
PowerShell AdmPwd.PS 模組 LAPS 模組(Get-LapsADPassword 等)4
今後走向 Windows 11 23H2 以後不建議使用,新版作業系統上 MSI 安裝本身會被封鎖1 目前的標準做法

重要的是,Windows LAPS 並非舊版 LAPS 的改良版本,而是完全不同的實作,AD 的結構描述屬性也與舊版 LAPS 不同(msLAPS-*)。4 為了協助從舊版 LAPS 遷移,系統也提供了讓 Windows LAPS 解讀舊版 LAPS GPO 設定並運作的「模擬模式」,但這種模式有不少限制(第 6 章),新導入的情況沒有理由特地選用它。

4. 密碼儲存在哪裡 ── 依環境區分的判斷表

Windows LAPS 會把產生的密碼「備份」到目錄中。儲存位置由端末的加入狀態決定,無法同時儲存到 AD 與 Entra ID1

環境 儲存位置 原則發佈方式 密碼確認方式 判斷
僅加入 AD 網域 Active Directory(電腦物件的 msLAPS-* 屬性) 群組原則(LAPS.admx) Get-LapsADPassword、「AD 使用者和電腦」的內容頁面3 以地端為主的中小企業首選。事前需要結構描述延伸與權限設定
僅加入 Entra(+Intune) Microsoft Entra ID 由 Intune 透過 LAPS CSP 發佈 Entra 管理中心/Intune 管理中心、Get-LapsAADPassword(Microsoft Graph)5 已遷移到雲端管理的環境適用。需要在租用戶端啟用功能
混合式加入 AD 或 Entra ID 兩者擇一1 GPO 或 Intune 依所選的儲存位置採用上述之一 依服務台平常慣用哪一種介面來決定
工作群組(未加入) 沒有儲存位置,無法使用1 替代方案是每台電腦分別設定密碼+清冊的手動管理。台數增加時應考慮遷移到 Entra 加入/網域加入

以 AD 儲存的情況,密碼會寫入電腦物件的屬性(明文時為 msLAPS-Password,啟用加密時為 msLAPS-EncryptedPassword,期限則是 msLAPS-PasswordExpirationTime)。6 其中含有密碼的屬性(msLAPS-Password 以及加密系列的 msLAPS-Encrypted*)被標記為機密屬性(confidential),一般的讀取權限無法檢視。另一方面,期限用的 msLAPS-PasswordExpirationTime 沒有機密標記(SearchFlags: 0),是預設讀取權限就能檢視的中繼資料。6 使用加密儲存與密碼歷程需要網域功能等級(DFL)2016 以上。3 需要注意的是,加密設定(ADPasswordEncryptionEnabled)的預設值是啟用。2 DFL 低於 2016 的網域無法使用加密,不要指望系統會自動切換回明文,而應在原則中明確停用加密,採用明文+ACL 保護的儲存組態。3

以 Entra ID 儲存的情況,標準組態是先在租用戶端啟用「管理本機系統管理員密碼」功能,再由 Intune 透過 LAPS CSP 發佈原則。就授權而言,Windows LAPS 功能本身免費,AD 儲存沒有額外要求,Entra ID 儲存只需要 Microsoft Entra ID Free 以上即可使用。1

工作群組端末沒有替代方案,是因為根本不存在可以作為儲存位置的目錄,無從解決。實務上的做法是在配置電腦時為每台端末設定不同的密碼,再用密碼管理工具等進行清冊管理。若配置作業已經腳本化,把每台電腦不同密碼的產生機制加進去是確保萬無一失的做法(參見「用 winget + PowerShell 自動化 PC 配置 ── 讓操作手冊變得可執行」)。

5. 導入步驟的實務 ── 以 AD+GPO 組態為主軸

這裡以案例較多的 AD 網域+GPO 組態為主軸,實際走一遍步驟。與 Entra+Intune 組態的差異整理在最後。

5.1. 事前準備(僅需執行一次的作業)

以 AD 儲存的情況,在發佈原則之前要先完成樹系端的準備。3

# 1. 結構描述延伸(整個樹系只需執行一次。以 Schema Admins 權限執行)
Update-LapsADSchema

# 2. 授予目標 OU 底下的電腦更新自身密碼屬性的權限
Set-LapsADComputerSelfPermission -Identity "OU=社内PC,DC=example,DC=co,DC=jp"

# 3. 授予可檢視密碼的群組(Domain Admins 預設即可檢視)
Set-LapsADReadPasswordPermission -Identity "OU=社内PC,DC=example,DC=co,DC=jp" `
    -AllowedPrincipals @("EXAMPLE\HelpdeskAdmins")

# 4. 授予可操作密碼期限(立即失效=下達重設指示)的群組
#    (5.4 節的 Set-LapsADPasswordExpirationTime 需要用到。Domain Admins 預設即可執行)
Set-LapsADResetPasswordPermission -Identity "OU=社内PC,DC=example,DC=co,DC=jp" `
    -AllowedPrincipals @("EXAMPLE\HelpdeskAdmins")

# 5. 確認是否存在預期之外的檢視權限持有者(第 6 章詳述)
Find-LapsADExtendedRights -Identity "OU=社内PC,DC=example,DC=co,DC=jp"

若要使用加密儲存(DFL 2016 以上,預設啟用),還需要多一項設定。檢視權限與解密權限是分開的兩件事,預設只有 Domain Admins 能夠解密。3 若想讓服務台群組實際能取得密碼,也必須在原則端的 ADPasswordEncryptionPrincipal 中指定相同的群組(EXAMPLE\HelpdeskAdmins)。2 若忘記這一步,即使照上面的步驟授予了檢視權限,也會落入「屬性讀得到、卻無法解密」的狀態。

Update-LapsADSchema 與舊版 LAPS 的 Update-AdmPwdADSchema 是不同的命令,新增的是 msLAPS-* 屬性。即使環境中已經導入過舊版 LAPS,Windows LAPS 用的結構描述延伸仍然需要重新執行。4 另外,若環境中使用了 GPO 的中央存放區(Central Store),Windows LAPS 的範本不會透過 Windows Update 複製到中央存放區,需要手動複製。2 這時不只要複製 %windir%\PolicyDefinitions\LAPS.admx,也要把語言資源檔 LAPS.adml(若是日文介面,則位於 ja-JP 子資料夾內;繁體中文介面則對應 zh-TW 子資料夾)一併複製到對應的語言資料夾。若缺少 ADML,GPMC 顯示 LAPS 原則時就會出現資源錯誤。

5.2. 原則設定

GPO 的設定位置是「電腦設定 > 原則 > 系統管理範本 > 系統 > LAPS」。2 最低限度的必要設定是指定儲存位置,只要不把 BackupDirectory 設為「Active Directory」(值為 2),Windows LAPS 就什麼都不會做(預設值是「停用」)。2 主要設定與預設值如下。

設定 預設值 實務上的思路
BackupDirectory 停用(0) 必要設定。AD=2、Entra ID=12
AdministratorAccountName 未指定(管理內建 Administrator) 若未指定,系統會透過 RID 自動識別內建帳戶。僅在要管理自訂維護帳戶時才需要指定名稱。帳戶本身不會被自動建立,需要另外建立2
PasswordAgeDays 30 天 輪替週期。1〜365 天(儲存到 Entra 時最短 7 天)2
PasswordLength / PasswordComplexity 14 字元 / 大小寫英數符號(4) 沿用預設值即實務上已足夠。複雜度 1〜3 是為了與舊版 LAPS 相容,不建議使用2
PasswordExpirationProtectionEnabled 啟用 防止期限超過原則上限而被延長2
ADPasswordEncryptionEnabled 啟用(需 DFL 2016 以上) 加密儲存。預設只有 Domain Admins 能夠解密(第 6 章)2
PostAuthenticationResetDelay / PostAuthenticationActions 24 小時 / 重設+登出(3) 驗證後的自動一次性化(第 6 章)2

這裡容易被忽略的是管理對象帳戶的啟用/停用狀態。內建的 Administrator 帳戶在 Windows 安裝階段就會被停用。7 Windows LAPS 即使帳戶仍處於停用狀態,也會管理其密碼,但不會連帳戶一起啟用2 也就是說,若維持預設組態,可能會出現「密碼已經儲存到目錄裡,但沒有任何人能用該帳戶登入」的狀態。若要把它用作復原手段,必須明確選擇以下其中一種做法:啟用內建 Administrator 並持續運用、把已啟用的自訂維護帳戶列為管理對象,或是在 Windows 11 24H2 / Server 2025 以後透過自動帳戶管理(AutomaticAccountManagement 系列設定)連同啟用狀態一起管理。2

5.3. 動作確認與密碼取得

Windows LAPS 會每小時處理一次已生效的原則。若不想等套用時機、想立即確認結果,可以在目標端末上執行立即處理。3

# 端末端:立即處理原則(驗證時的常用做法)
Invoke-LapsPolicyProcessing

# 端末端:透過事件記錄檔確認結果
# 10003=處理開始 / 10004=成功 / 10005=失敗 / 10018=成功儲存至 AD
Get-WinEvent -LogName "Microsoft-Windows-LAPS/Operational" -MaxEvents 20

已儲存的密碼,由具備權限的管理端末取得。3

# 從 AD 取得密碼(不加 -AsPlainText 則可在保持字串遮蔽的狀態下處理)
Get-LapsADPassword -Identity PC-0123 -AsPlainText

# 輸出範例:會回傳 Account、Password、PasswordUpdateTime、ExpirationTimestamp、
#           Source(EncryptedPassword 代表加密儲存)、AuthorizedDecryptor 等資訊

偏好 GUI 的使用者,可以在「Active Directory 使用者和電腦」中電腦物件的內容頁面裡找到新增的 LAPS 分頁,同樣能從那裡檢視。1

5.4. 立即輪替

維護作業用完密碼之後,或懷疑遭到入侵時,不必等待下一次定期輪替,可以立即進行輪替。3

# 從管理端末:把期限設為「現在」,讓下一次處理時執行輪替
Set-LapsADPasswordExpirationTime -Identity PC-0123
# 在目標端末上踢一下立即處理,就會當場換成新密碼
Invoke-LapsPolicyProcessing

# 想在目標端末上直接進行立即輪替的情況
Reset-LapsPassword

5.5. Entra+Intune 組態的差異

以 Entra ID 儲存的情況,不需要像 AD 那樣進行結構描述延伸與 ACL 設定。3 取而代之的是,必須在Microsoft Entra 租用戶的[裝置設定]中啟用本機系統管理員密碼管理,若忘記這一步,端末就無法儲存密碼。5 原則透過 Intune 以 LAPS CSP 發佈,密碼則可以在 Entra 管理中心/Intune 管理中心的畫面中查看,或透過 Microsoft Graph 用 Get-LapsAADPassword 取得。5

# 透過 Graph 取得儲存在 Entra ID 的密碼(委派存取的範例)
# 連線時明確要求所需的範圍
Connect-MgGraph -Scopes "Device.Read.All","DeviceLocalCredential.Read.All"
Get-LapsAADPassword -DeviceIds PC-0123 -IncludePasswords -AsPlainText

儲存成功的事件 ID,AD 是 10018,而 Entra ID 則是 10029。8

6. 運用上的陷阱

導入完成不代表結束。以下依序列出實務上容易踩到的重點。

6.1. 檢視權限比想像中更廣

密碼屬性是機密屬性(confidential),一般讀取無法看見,但對目標 OU 擁有擴充權限(All Extended Rights)的主體卻能夠讀取。在過去曾對 OU 委派過大範圍權限的環境中,容易出現「意料之外的群組其實可以讀取密碼」的狀態。導入時請用 Find-LapsADExtendedRights 找出擴充權限的持有者,若出現 SYSTEM 與 Domain Admins 以外的對象,請重新檢視委派內容。3

此外,啟用加密儲存(ADPasswordEncryptionEnabled)後,可以把檢視權限與解密權限分開設計。單純授予檢視權限並無法解密加密後的密碼,預設只有 Domain Admins 能夠解密,若要變更,則透過 ADPasswordEncryptionPrincipal 指定可解密的群組。3 想達到「服務台只能解密自己負責 OU 的密碼」這類細分需求,就要靠這兩層機制來設計。

6.2. 「用過即拋」機制及其極限 ── PostAuthenticationActions

若服務台取得的密碼原封不動地留在便條紙或聊天記錄裡,那就失去意義了。Windows LAPS 會偵測到管理對象帳戶完成驗證後,在經過緩衝時間(PostAuthenticationResetDelay,預設 24 小時)之後自動執行善後。預設動作是「重設密碼並登出」。2

PostAuthenticationActions 動作
1 重設密碼
3(預設) 重設+登出互動工作階段(同時中斷 SMB 工作階段)2
5 重設+重新啟動端末2
11 重設+登出+終止殘留處理序(Windows 11 24H2 / Server 2025 以後)2

有兩點需要注意。第一,若把緩衝時間設為 0,這個功能本身就會停用。2 第二,觸發條件是「驗證」而不是「密碼查詢」。若只是從目錄取出密碼卻沒有使用,這個自動重設不會啟動。無論查詢到的密碼是否被使用,把「作業完成時用 Set-LapsADPasswordExpirationTime 使其失效」固定為標準運用流程,才是確實可靠的做法。

6.3. 與舊版 LAPS 的併用・遷移

遷移期間最危險的狀況,是同一個帳戶同時由舊版 LAPS 與 Windows LAPS 兩套機制管理。兩套機制爭相搶奪同一帳戶密碼的組態,本身就是安全性風險,也不受支援。9 規則整理如下:

  • 只要端末上套用了任何一項 Windows LAPS 原則,Windows LAPS 本身就會永遠忽略舊版 LAPS 的原則(Windows LAPS 優先)。9 不過,這僅止於 Windows LAPS 這一端的解讀。如果舊版 LAPS 的 CSE(群組原則延伸)仍安裝著,舊版 CSE 仍會獨立繼續處理舊版 GPO。若在保留舊 GPO 套用對象的狀態下啟用 Windows LAPS 原則,就會演變成兩套機制同時輪替同一帳戶的雙重管理狀態。
  • 讓 Windows LAPS 解讀舊版 LAPS GPO 設定的「模擬模式」,只有在未安裝舊版 LAPS CSE 的端末上才會運作。它會沿用舊版 LAPS 環境的前提(舊結構描述、舊 ACL),但無法使用加密、儲存到 Entra 等新功能。9
  • 有時只是更新了作業系統,殘留舊版 LAPS GPO 的端末就會在不知不覺間以模擬模式開始運作。若要避免配置電腦後出現非預期的密碼變更,可以在本機組態機碼中設定 BackupDirectory=0 來停止模擬模式。9

遷移應依「先讓目標 OU 脫離舊版 LAPS 的 GPO 套用範圍(或解除安裝舊版 CSE)→ 套用 Windows LAPS 原則 → 撤除殘留的舊 GPO・舊 CSE」的順序進行,先解除舊管理再啟用新管理,並確保以端末為單位,永遠只會有一方在管理。若順序相反(先套用 Windows LAPS 原則),殘留舊 CSE 的端末就會發生上述的雙重管理狀況。

6.4. 稽核 ── 留下「誰在何時檢視過」的紀錄

既然要集中儲存本機系統管理員密碼,檢視紀錄自然是稽核對象。端末端的動作全部會記錄在事件記錄檔的專用頻道(事件檢視器的「應用程式與服務記錄檔 > Microsoft > Windows > LAPS > Operational」)中,可以確認處理開始 10003/成功 10004/失敗 10005、儲存成功 10018(AD)/10029(Entra)、套用中原則內容 10021〜10023 等事件。8 AD 端可以用 Set-LapsADAuditing 為目標 OU 設定稽核組態,把對密碼屬性的存取記錄到網域控制站的安全性記錄檔中。4 若是 Entra ID 儲存,則透過 Entra 端的稽核記錄・報表功能進行追蹤。1

7. 總結

  • 所有電腦共用同一組本機系統管理員密碼,會形成一台遭入侵就透過 Pass-the-Hash 波及全部電腦的結構。對策是依端末各自個別化並自動輪替,而擔負這項任務的就是 Windows LAPS。
  • Windows LAPS 已內建於 2023 年 4 月更新以後的 Windows 10/11、Windows Server 2019/2022 以後,不需要額外安裝。舊版 LAPS(以 MSI 發佈)已不建議使用,新導入應一律選擇 Windows LAPS。
  • 儲存位置是 AD 或 Entra ID 兩者擇一,由端末的加入狀態決定。工作群組端末無法使用,需要手動個別管理或重新檢討加入形式。
  • 預設為停用。若採 AD 組態,需準備結構描述延伸、自我更新權限、檢視權限這三項,並在 GPO 中設定 BackupDirectory 之後才會開始運作。
  • 日常運用以 PowerShell 為主軸。取得用 Get-LapsADPassword / Get-LapsAADPassword,立即套用用 Invoke-LapsPolicyProcessing,立即輪替用 Reset-LapsPassword。
  • 陷阱包括:因擴充權限而導致的意外檢視、單純查詢並不會觸發 PostAuthenticationActions、與舊版 LAPS 的雙重管理,以及稽核機制未建置。導入時請固定進行 Find-LapsADExtendedRights 的權限確認,以及查詢後的失效流程。

相關文章

相關諮詢領域

合同會社小村軟體承接電腦配置自動化腳本的製作、包含 Windows LAPS 導入在內的端末資安設定整備,以及從既有共用密碼運用遷移出來的計畫規劃。「已經有配置操作手冊,但太過依賴特定人員」、「想導入 LAPS,但對 AD 的權限設定沒有把握」這類階段也歡迎諮詢。

參考連結

  1. Microsoft Learn, What is Windows LAPS?。關於 Windows LAPS 是能自動管理・備份 Entra 加入或 AD 加入裝置本機系統管理員帳戶密碼的 Windows 功能、受支援的作業系統版本(2023 年 4 月 11 日更新以後的 Windows 10・Windows 11 21H2/22H2・Windows Server 2019/2022,以及 Windows 11 23H2 以後・Windows Server 2025 以後標準內建)、首要優點是防範 Pass-the-Hash 攻擊與橫向擴散攻擊、依加入狀態決定儲存位置的限制(僅加入 Entra→Entra ID、僅加入 AD→AD、混合式→兩者擇一,無法同時儲存到兩者)、舊版 LAPS 在 Windows 11 23H2 以後不建議使用且新版作業系統上會封鎖 MSI 安裝、舊版 LAPS 是 2016 年公開的另一項產品而 Windows LAPS 是完全不同的實作、透過 AD 使用者和電腦的內容頁面・專用事件記錄檔頻道・PowerShell 模組進行管理、功能本身免費且 AD 儲存不需要額外授權、Entra ID 儲存只需 Entra ID Free 以上即可使用等說明。  2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

  2. Microsoft Learn, Configure policy settings for Windows LAPS。關於透過 GPO(電腦設定>原則>系統管理範本>系統>LAPS,範本位於 %windir%\PolicyDefinitions\LAPS.admx)與 LAPS CSP 進行原則組態、GPO 中央存放區需要手動複製 LAPS.admx、各項設定的預設值(BackupDirectory=停用、PasswordAgeDays=30 天・最短 1 天・Entra 儲存時最短 7 天、PasswordLength=14、PasswordComplexity=4 而 1〜3 是為了與舊版 LAPS 相容、PasswordExpirationProtectionEnabled=啟用、ADPasswordEncryptionEnabled=啟用且需要 DFL 2016 以上、PostAuthenticationResetDelay=24 小時且設為 0 即停用、PostAuthenticationActions=3)、AdministratorAccountName 未指定時會透過 RID 自動識別內建帳戶且 LAPS 不會建立自訂帳戶、PostAuthenticationActions 各數值(1=重設、3=重設+登出+刪除 SMB 工作階段、5=重設+重新啟動、11=重設+登出+終止處理序限 Windows 11 24H2/Server 2025 以後)的說明。  2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

  3. Microsoft Learn, Get started with Windows LAPS and Windows Server Active Directory。關於透過 Update-LapsADSchema 進行整個樹系僅需一次的結構描述延伸、透過 Set-LapsADComputerSelfPermission 授予電腦自身的更新權限、透過 Set-LapsADReadPasswordPermission 授予檢視權限(Domain Admins 預設可檢視)、透過 Set-LapsADResetPasswordPermission 授予期限設定(立即失效)權限(Domain Admins 預設具備)、檢視權限與解密權限是分開的且 ADPasswordEncryptionPrincipal(預設為 Domain Admins)決定可解密者、透過 Find-LapsADExtendedRights 確認擴充權限持有者(LAPS 密碼屬性全部為機密屬性,擴充權限持有者可讀取)、BackupDirectory=2 為必要設定、原則每小時處理一次且可透過事件 10018 確認 AD 儲存成功、透過 Invoke-LapsPolicyProcessing 立即處理、透過 Get-LapsADPassword 取得、透過 Set-LapsADPasswordExpirationTime 設定期限失效以及透過 Reset-LapsPassword 在端末上立即輪替、加密需要 DFL 2016 以上而未達此等級只能以明文(ACL 保護)儲存的說明。  2 3 4 5 6 7 8 9 10 11 12 13

  4. Microsoft Learn, Overview of Windows LAPS PowerShell cmdlets。關於 LAPS PowerShell 模組各命令(Get-LapsAADPassword、Get-LapsADPassword、Invoke-LapsPolicyProcessing、Reset-LapsPassword、Set-LapsADAuditing、Set-LapsADComputerSelfPermission、Set-LapsADPasswordExpirationTime、Set-LapsADReadPasswordPermission、Set-LapsADResetPasswordPermission、Update-LapsADSchema、Find-LapsADExtendedRights、Get-LapsDiagnostics)的作用、與舊版 LAPS 的 AdmPwd.PS 模組的對照表、Windows LAPS 的命令是針對與舊版 LAPS 完全不同的結構描述延伸運作的說明。  2 3 4 5

  5. Microsoft Learn, Get started with Windows LAPS and Microsoft Entra ID。關於 Entra ID 儲存需要在租用戶的裝置設定中啟用功能、對 Entra 加入裝置建議透過 Intune+LAPS CSP 發佈原則、Entra 儲存時適用的設定子集、密碼取得透過 Microsoft Graph(Get-LapsAADPassword 是 Graph PowerShell 的包裝)或 Entra/Intune 管理中心畫面進行、所需的 Graph 權限(Device.Read.All 與 DeviceLocalCredential.Read.All 或 DeviceLocalCredential.ReadBasic.All)、儲存成功可透過事件 10029 確認的說明。  2 3

  6. Microsoft Learn, Windows LAPS schema extensions reference。關於 Update-LapsADSchema 為電腦物件新增的 msLAPS-* 屬性(msLAPS-Password=明文密碼與附隨資訊、msLAPS-PasswordExpirationTime=期限、msLAPS-EncryptedPassword=加密密碼等)的規格,以及密碼相關屬性的 SearchFlags 為 904(含 fCONFIDENTIAL=機密屬性),而 msLAPS-PasswordExpirationTime 的 SearchFlags 為 0、未標記為機密的說明。  2

  7. Microsoft Learn, Local accounts。關於內建 Administrator 帳戶在 Windows 安裝過程中會被停用、改為建立另一個屬於 Administrators 群組的本機帳戶、已停用的 Administrator 帳戶除安全模式的特例外無法使用、本機系統管理員帳戶密碼重複使用會構成 Pass-the-Hash 攻擊橫向擴散的風險、LAPS 被列為隨機化的首要手段等說明。 

  8. Microsoft Learn, Use Windows LAPS event logs。關於所有動作都記錄在專用事件記錄檔頻道(事件檢視器的應用程式與服務記錄檔>Microsoft>Windows>LAPS>Operational)中、原則處理的開始 10003・成功 10004・失敗 10005、套用中原則內容的記錄(AD 儲存 10021・Entra 儲存 10022・舊版 LAPS 模擬 10023)、密碼儲存成功的事件(AD=10018、Entra ID=10029)的說明。  2

  9. Microsoft Learn, Get started with Windows LAPS in legacy Microsoft LAPS emulation mode。關於讓 Windows LAPS 解讀舊版 LAPS GPO 設定並運作的模擬模式的限制(僅限明文儲存、舊結構描述延伸・舊 GPO 定義・舊 ACL 管理需要安裝舊版 LAPS、若存在 Windows LAPS 原則則永遠優先套用而忽略舊原則、在已安裝舊版 LAPS CSE 的端末上不會運作)、以同一機制管理同一帳戶的組態存在安全性風險且不受支援、可透過在本機組態機碼中設定 BackupDirectory=0 抑止模擬模式的說明。  2 3 4

共用相同標籤的最新文章。能以相近的主題延伸理解。

與本文相近的主題頁面。以本文為起點,可進一步連到相關服務與其他文章。

本文連結到以下服務頁面,歡迎從最接近的入口查看。

常見問題

整理諮詢這個主題時常見的問題。

已經在運用舊版 LAPS(以 MSI 發佈的 Microsoft LAPS)。需要做什麼嗎?
請開始規劃遷移。舊版 LAPS 在 Windows 11 23H2 以後已被列為不建議使用,在新版作業系統上,MSI 本身的安裝就會被封鎖。現行的作業系統(已套用 2023 年 4 月更新的 Windows 10/11、Windows Server 2019/2022 以後)內建了 Windows LAPS,因此不需要額外安裝就能遷移。遷移期間也可以讓 Windows LAPS 以「舊版 LAPS 模擬模式」繼續處理舊有原則,但這種模式有限制:在已安裝舊版 LAPS CSE 的端末上無法運作,也無法使用加密、儲存至 Entra ID 等新功能。同一個帳戶同時由新舊兩套機制管理的組態不受支援,因此請以端末為單位釐清目前是由哪一方管理,再進行切換。
取得的密碼用完之後,直接放著不管也沒關係嗎?
若採用預設組態會自動善後,但並非立即生效。Windows LAPS 有一個叫 PostAuthenticationActions 的機制,會偵測到管理對象帳戶完成驗證(登入)後,在經過緩衝時間後才進行處理,預設值是在驗證後 24 小時執行密碼重設與登出。換句話說,在緩衝時間過去之前,同一組密碼仍然有效可用,並不是「一用完就立刻失效」。而且這個機制的觸發條件是「用密碼完成驗證」,單純「從目錄查詢密碼」並不會觸發。確實可靠的做法,是在作業完成時明確地讓密碼失效。AD 儲存的情況下,用 Set-LapsADPasswordExpirationTime 讓密碼到期(這個命令僅適用於 AD 儲存)。Entra ID 儲存的情況下,則在目標端末上執行 Reset-LapsPassword,或使用 Intune 的本機系統管理員密碼輪替操作。
既未加入網域也未加入 Entra ID、以工作群組方式運作的電腦可以使用嗎?
不能使用。Windows LAPS 需要 Active Directory 或 Microsoft Entra ID 作為密碼的儲存位置,兩者都未加入的端末沒有可以備份的目的地。若要繼續維持工作群組運作方式,現實的替代做法是為每台端末設定不同的本機系統管理員密碼,並以清冊(密碼管理工具等)方式管理 ── 這是一種手動運用。等到台數增加後,就該考慮遷移到 Entra ID 加入(+Intune)或網域加入,以享受包含 LAPS 在內的集中管理效益。
已儲存的密碼,誰可以檢視?
以 Active Directory 儲存的情況,預設可以檢視的是 Domain Admins 的成員,若要授予其他使用者或群組權限,需要透過 Set-LapsADReadPasswordPermission 明確授權。不過,雖然密碼屬性被標記為機密屬性(confidential),但對該 OU 擁有擴充權限(All Extended Rights)的主體仍然能夠讀取,因此請務必在導入時用 Find-LapsADExtendedRights 確認是否存在預期之外的持有者。此外,若透過 ADPasswordEncryptionEnabled 啟用加密(需要網域功能等級 2016 以上),就能透過 ADPasswordEncryptionPrincipal 把能夠解密的對象限縮到指定群組。以 Entra ID 儲存的情況,預設可檢視的是全域管理員等特殊權限角色,透過 Microsoft Graph 取得則需要 DeviceLocalCredential.Read.All 權限。
使用 Windows LAPS 需要額外授權嗎?
功能本身是免費的。Windows LAPS 是內建於受支援 Windows 版本的標準功能,將密碼儲存到 Active Directory 沒有額外的授權要求。儲存到 Microsoft Entra ID 也只需要 Microsoft Entra ID Free 以上的授權即可使用。若透過 Intune 發佈原則,則需要 Intune 授權,這類周邊的 Entra/Intune 相關功能可能存在個別的授權要求,只需要另外確認這一部分即可。

作者檔案

本文作者的個人檔案頁面。

Go Komura

小村軟體有限公司 代表

以 Windows 軟體開發、技術諮詢與故障調查為中心,在難以重現的故障調查與既有資產仍在運作的專案上具有優勢。

回到部落格一覽