Windows LAPS 實務指南 ── 停止在所有電腦共用同一組本機系統管理員密碼
· Go Komura · Windows, 資安, LAPS, 密碼管理, Active Directory, Intune, PowerShell, 資訊系統
更新紀錄(僅初版,2026年08月01日 發布)
- 初次發布
引用本文(DOI(已登錄存檔): 10.5281/zenodo.22175663)
以下 DOI 指向先前登錄的存檔,內容可能與目前正文不同。引用目前正文時,請使用本頁網址。
Go Komura(2026)。〈Windows LAPS 實務指南 ── 停止在所有電腦共用同一組本機系統管理員密碼〉。小村軟體有限公司。 https://comcomponent.com/zh-TW/blog/windows-laps-guide/
- DOI(已登錄存檔)
- 10.5281/zenodo.22175663
- DOI(上次登錄版本)
- 10.5281/zenodo.22175664
所有電腦都用同一組本機系統管理員密碼時,從一台電腦外洩的認證資料,就會變成入侵其他電腦的「備用鑰匙」。即使維護的步驟很簡單,這種組態仍然留著一條讓入侵橫向移動的路徑。
把這組共用密碼改成每台電腦各不相同,並把定期變更與儲存到目錄這兩件事自動化的,就是作業系統標準功能 Windows LAPS(Local Administrator Password Solution)。不過,光是作業系統裡帶著它並不會運作。要先定下儲存位置、管理對象帳戶、權限,以及維護後的善後處理,再套用原則。12
本文以中小企業的資訊部門負責人,以及承接電腦配置、維護與維運的開發者為對象,依據截至 2026 年 8 月的第一手資料進行說明。這是繼 BitLocker、WSUS 廢止、防火牆、憑證存放區之後,面向資訊部門的資安系列文章之一。
1. 先要定下來的事 ── 儲存位置、帳戶、權限、善後處理
把導入時要定下來的事和導入後要確認的事分開,作業的先後順序就浮現出來了。
| 要定下來、要確認的事 | 判斷要點 | 閱讀位置 |
|---|---|---|
| 要把密碼儲存到哪裡 | 配合電腦的加入狀態,在 AD 與 Entra ID 之間擇一。工作群組電腦無法使用 | 第 3 章 |
| 要管理哪個帳戶 | 在內建 Administrator 與自訂維護帳戶之間做選擇,並確認要用的時候它是否處於啟用狀態 | 第 4 章 |
| 由誰經手密碼 | 在 AD 中把自我更新、檢視、解密、變更期限的權限分開設計。在 Entra ID 中確認角色與 Graph 權限 | 第 5、6 章 |
| 維護作業之後要做什麼 | 自動重設的起點是「驗證」而不是「查詢」。就算只是把密碼取出來,也要把作業後的明確輪替寫進步驟 | 第 7 章 |
| 要怎麼從舊版 LAPS 切換 | 不要讓同一個帳戶由新舊兩方同時管理。先解除舊的管理,再啟用新的管理 | 第 8 章 |
| 要怎麼確認它真的運作了 | 把電腦端的處理與儲存結果,和系統管理員檢視密碼的稽核分開確認 | 第 9 章 |
想了解機制就從第 2 章開始;要推進導入,就先用第 3、4 章定下方針,再依 AD + GPO 看第 5 章、依 Entra ID + Intune 看第 6 章。如果正在使用舊版 LAPS,在發佈新原則之前還要確認第 8 章的遷移順序。
最先要抓住的一點是,Windows LAPS 的預設值是停用。要用 BackupDirectory 指定了儲存位置,它才會開始運作。另外,「密碼已經儲存下來」和「能用那個帳戶進行復原作業」是兩項不同的確認事項。2
圖中實線表示始終成立的關係,虛線表示附帶條件的關係(成立條件寫在詳細頁面中各關係的說明中)。關係的完整清單(共 31 條,附依據與可信度)以及主要概念的定義,彙整在知識地圖詳細頁面(日文)。資料:JSON-LD / Turtle
2. Windows LAPS 能減少哪一種風險
2.1. 共用密碼,就是共用的 NT 雜湊
被管理的對象,是內建 Administrator,以及配置電腦時建立的維護用帳戶這類本機系統管理員帳戶。
Windows 保存著由本機帳戶密碼計算而來的 NT 雜湊。在 NTLM 驗證中,這個雜湊就是驗證的材料。因此,密碼在所有電腦上相同,雜湊也就在所有電腦上相同。
攻擊者只要奪下一台電腦的系統管理員權限,從記憶體或本機資料庫(SAM)中取出雜湊,就能不還原成明文密碼直接用於驗證。這就是 Pass-the-Hash 攻擊。在共用密碼的環境中,從一台電腦取得的雜湊在其他電腦上照樣能用,入侵於是橫向蔓延。驗證的機制在「圖解NTLM與Kerberos」中有詳細說明。13
flowchart TB
subgraph BEFORE["共用密碼的環境"]
A1["PC-01 遭入侵<br/>(惡意軟體、針對性攻擊)"] --> H["取得系統管理員的 NT 雜湊"]
H -->|"Pass-the-Hash"| B1["PC-02"]
H -->|"Pass-the-Hash"| B2["PC-03"]
H -->|"Pass-the-Hash"| B3["…橫向移動到所有電腦"]
end
subgraph AFTER["導入 LAPS 之後"]
C1["PC-01 遭入侵"] --> H2["取得 PC-01 的雜湊"]
H2 -->|"因為每台電腦的密碼都不同"| STOP["其他 PC 無法用這個雜湊<br/>通過驗證(經由本機系統<br/>管理員的橫向移動被阻斷)"]
end
圖 1:讓每台電腦的密碼各不相同,就能切斷把一台電腦上取得的本機系統管理員雜湊複用到其他電腦的路徑。
2.2. 別讓個別化與定期變更停留在手工作業
對策就是讓本機系統管理員密碼依電腦各不相同,而且要定期變更。不過,把幾十台份的密碼分別產生、記入清冊、持續更新,這樣的維運會成為負擔。共用密碼之所以被長期沿用,背後正是這筆管理成本。
Windows LAPS 把依電腦個別化、自動輪替、儲存到目錄這幾件事一併接了過去。Microsoft 自己也把防範 Pass-the-Hash 與橫向移動(lateral-traversal)列為它的首要優點。1
LAPS 切斷的,是本機系統管理員帳戶被重複沿用而形成的橫向移動路徑。它並不會把其他橫向移動路徑也一併堵死,例如從遭入侵的 PC 竊取網域認證資料。日常業務不要用系統管理員帳戶來做,維護用帳戶的用途也要收斂。另請參閱「Windows 什麼時候需要系統管理員權限」。
2.3. 舊版 LAPS 與 Windows LAPS 是兩套不同的實作
舊版 LAPS(傳統 Microsoft LAPS)是 Microsoft 在 2016 年公開、需要額外安裝的工具。它用 MSI 把群組原則延伸(CSE)裝進每一台電腦,把密碼以明文儲存到 AD 的 ms-Mcs-AdmPwd 屬性,再用 ACL 保護。1
Windows LAPS 是作為它的後繼、內建於作業系統的另一套實作。它包含在 2023 年 4 月 11 日更新程式以後的 Windows 10、Windows 11 21H2/22H2、Windows Server 2019/2022 中,而 Windows 11 23H2 以後與 Windows Server 2025 以後則是一開始就內建。只要是符合條件的作業系統與更新程式組合,就不需要額外安裝。1
| 觀點 | 舊版 LAPS(傳統) | Windows LAPS |
|---|---|---|
| 提供形式 | 把 MSI 發佈到所有電腦並安裝 | 作業系統內建(2023 年 4 月更新以後)。不需要額外安裝1 |
| 密碼儲存位置 | 僅限 Active Directory | Active Directory 或 Microsoft Entra ID1 |
| AD 上的加密 | 不支援(明文 + ACL 保護) | 支援(DFL 2016 以上可加密儲存、保存密碼歷程)4 |
| DSRM 密碼管理 | 不支援 | 也能管理網域控制站的 DSRM 帳戶1 |
| 驗證後的自動重設 | 無 | 用 PostAuthenticationActions 在驗證後自動重設 + 登出等2 |
| PowerShell | AdmPwd.PS 模組 | LAPS 模組(Get-LapsADPassword 等)5 |
| 今後 | Windows 11 23H2 以後不建議使用。新版作業系統上連 MSI 安裝本身都會被封鎖1 | 目前的標準 |
Windows LAPS 不是舊版 LAPS 的單純改良版,它在 AD 中使用的結構描述屬性也是 msLAPS-* 這一套不同的屬性。即使已經導入過舊版 LAPS,Windows LAPS 用的結構描述延伸仍然要重新做一次。5
也有讓 Windows LAPS 解讀舊版 GPO 的「模擬模式」,但那是為遷移準備的機制,新導入沒有理由選它。限制與切換步驟在第 8 章說明。
3. 從電腦的加入狀態出發,選擇儲存位置
3.1. 儲存位置只能是 AD 或 Entra ID 其中一個
Windows LAPS 產生的密碼會「備份」到目錄中。無法同時儲存到 AD 與 Entra ID 兩邊。1
| 環境 | 儲存位置 | 原則發佈 | 確認密碼的手段 | 判斷 |
|---|---|---|---|---|
| 僅加入 AD 網域 | Active Directory(電腦物件的 msLAPS-* 屬性) |
群組原則(LAPS.admx) | Get-LapsADPassword、「Active Directory 使用者和電腦」的內容畫面4 |
以地端為主的中小企業首選。事前需要結構描述延伸與權限設定 |
| 僅加入 Entra(+Intune) | Microsoft Entra ID | 由 Intune 透過 LAPS CSP 發佈 | Entra 管理中心/Intune 管理中心、Get-LapsAADPassword(Microsoft Graph)6 |
已轉向雲端管理的選這個。需要在租用戶端啟用功能 |
| 混合式加入 | 在 AD 與 Entra ID 中擇一1 | GPO 或 Intune | 依所選的儲存位置對應上述之一 | 由服務台平常看哪一側辦事來決定 |
| 工作群組(未加入) | 沒有儲存位置,無法使用1 | ─ | ─ | 替代方案是為每台電腦設定各自的密碼並做清冊的人工維運。電腦數量增加就該考慮遷移到加入 Entra/加入網域 |
工作群組電腦沒有可以當作儲存位置的目錄,因此用不了 Windows LAPS。若要繼續這樣維運,就在配置電腦時為每台電腦設定不同的密碼,再用密碼管理工具等安全地做清冊管理。如果配置作業已經腳本化,就把依電腦產生密碼也一併納入腳本。另請參閱「用 winget + PowerShell 自動化 PC 配置」。
3.2. 儲存到 AD 時,要區分密碼屬性與期限屬性
儲存到 AD 時,寫入的是電腦物件的屬性。密碼本體與它的期限,在機密性上的處理並不相同。7
| 屬性 | 儲存的內容 | 是否為機密屬性 |
|---|---|---|
msLAPS-Password |
明文密碼與附隨資訊 | 機密屬性。只有一般的讀取權限看不到 |
msLAPS-EncryptedPassword 等 msLAPS-Encrypted* |
加密後的密碼等 | 機密屬性。檢視屬性與解密內容是兩種不同的權限 |
msLAPS-PasswordExpirationTime |
密碼的期限 | 不是機密屬性(SearchFlags: 0)。用預設的讀取權限就看得到的中繼資料 |
加密儲存與密碼歷程需要網域功能等級(DFL)2016 以上。另一方面,加密設定 ADPasswordEncryptionEnabled 的預設值是啟用。在 DFL 比 2016 舊的網域中,不要指望它會自動切回明文,而要在原則中明確停用加密,做成明文 + ACL 保護的組態。42
3.3. 把 LAPS 本身的授權與管理服務的授權分開看
Windows LAPS 的功能本身是免費的。儲存到 AD 沒有額外的授權要求,儲存到 Entra ID 也可以用 Microsoft Entra ID Free 以上的授權。1
不過,用 Intune 發佈原則時所需的 Intune 授權這類周邊功能的要求,要另外確認。儲存到 Entra ID 時,還需要在租用戶端啟用功能。實際的步驟彙整在第 6 章。
4. 定下管理對象帳戶與要套用的原則
4.1.「管理密碼」與「讓帳戶能用」是兩回事
如果不指定 AdministratorAccountName,Windows LAPS 會用已知的 RID 定位內建 Administrator。只有在要管理自訂維護帳戶時,才指定名稱。這項設定並不會建立自訂帳戶,帳戶本身要另行準備。2
另一件必須做的事,是確認啟用與停用狀態。內建 Administrator 會在 Windows 安裝過程中被停用。Windows LAPS 也會管理已停用帳戶的密碼,但在這種一般的組態下它不會啟用帳戶。32
因此可能出現「密碼已經儲存下來,但復原時登入不進去」的狀態。若要拿來做復原用途,就從下面幾項中明確選一個。
| 管理對象的選法 | 要準備、要確認的事 |
|---|---|
| 使用內建 Administrator | 決定啟用它並納入維運,使它可以使用 |
| 使用自訂維護帳戶 | 建立並啟用帳戶,然後指定管理對象名稱 |
| 使用自動帳戶管理 | 在 Windows 11 24H2 / Server 2025 以後,用 AutomaticAccountManagement 系列設定連啟用狀態一起管理 |
4.2. 指定了儲存位置,它才開始運作
Windows LAPS 的 BackupDirectory 預設是停用(0)。要儲存到 AD 就指定 2,要儲存到 Entra ID 就指定 1。這裡不設定,密碼的備份就不會開始。2
主要設定彙整如下。AdministratorAccountName 的說明針對的是不使用自動帳戶管理的一般組態。本表中的 PasswordExpirationProtectionEnabled 與 ADPasswordEncryptionEnabled 是面向儲存到 AD 的設定,不適用於儲存到 Entra ID。
| 設定 | 預設值 | 實務上的思路 |
|---|---|---|
| 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 能解密(5.2 節)2 |
| PostAuthenticationResetDelay / PostAuthenticationActions | 24 小時 / 重設 + 登出(3) | 驗證後的自動作廢(7.3 節)2 |
本章決定的是設定方針,實際的原則發佈要等儲存位置準備完成之後再做。用 AD 就進入下一章,用 Entra ID 就進入第 6 章。
5. 以 AD + GPO 組態導入
5.1. 準備樹系的結構描述與目標 OU 的權限
儲存到 AD 時,要在發佈原則之前把結構描述與權限準備好。結構描述延伸在整個樹系只做一次,自我更新、檢視、變更期限的權限則配合目標 OU 與負責的群組來設定。4
下面的 OU、網域名稱、群組名稱以及後面出現的 PC 名稱都是範例。請替換成自己環境中的對象再執行。
# 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. 授予可以操作密碼期限(立即失效=下達重設指示)的群組
# (7.1 節的 Set-LapsADPasswordExpirationTime 需要它。Domain Admins 預設就可以)
Set-LapsADResetPasswordPermission -Identity "OU=公司PC,DC=example,DC=co,DC=jp" `
-AllowedPrincipals @("EXAMPLE\HelpdeskAdmins")
# 5. 確認有沒有預期之外的檢視權限持有者(5.2 節詳述)
Find-LapsADExtendedRights -Identity "OU=公司PC,DC=example,DC=co,DC=jp"
Update-LapsADSchema 與舊版 LAPS 的 Update-AdmPwdADSchema 是不同的 Cmdlet。它新增的屬性也不一樣,因此只做過舊版 LAPS 的準備是不夠的。5
5.2. 檢視、解密、變更期限,要分別授權
使用加密儲存時,只給檢視權限是解不開密碼的。預設能解密的只有 Domain Admins。如果要把取得密碼的工作委派給服務台,就在原則的 ADPasswordEncryptionPrincipal 中也指定目標群組(照上面的範例就是 EXAMPLE\HelpdeskAdmins)。42
| 需要的操作 | 權限、設定 | 忘了會發生什麼 |
|---|---|---|
| 電腦更新自身的屬性 | Set-LapsADComputerSelfPermission |
電腦無法儲存密碼 |
| 系統管理員讀取密碼屬性 | Set-LapsADReadPasswordPermission |
負責取得密碼的系統管理員讀不到屬性 |
| 解密加密後的內容 | ADPasswordEncryptionPrincipal |
讀得到屬性,卻取不到明文密碼 |
| 系統管理員操作期限 | Set-LapsADResetPasswordPermission |
無法用 Set-LapsADPasswordExpirationTime 下達到期指示 |
到這一步,別只看已經授權的群組就算完。對目標 OU 擁有 All Extended Rights(擴充權限)的主體,同樣讀得到機密屬性。如果過去範圍寬鬆的權限委派還留著,就會變成非預期的群組也讀得到的狀態。用 Find-LapsADExtendedRights 把持有者清點出來,一旦出現 SYSTEM 與 Domain Admins 以外的對象,就重新檢視委派內容。4
有了加密儲存,就能把屬性的檢視與解密分離開來。「服務台只能解密自己負責的 OU 的密碼」這樣的設計,就是靠這兩層機制來實現。
5.3. 備妥系統管理範本,再發佈 GPO
GPO 的設定位置是「電腦設定 > 原則 > 系統管理範本 > 系統 > LAPS」。除了第 4 章定下的管理對象與密碼設定之外,還要指定 BackupDirectory = 2。DFL 與加密的組合見 3.2 節,負責解密的群組見 5.2 節。24
如果使用 GPO 的中央存放區(Central Store),還需要複製範本。Windows Update 不會把 Windows LAPS 的範本自動複製到中央存放區。2
要把 %windir%\PolicyDefinitions\LAPS.admx 與對應語言的 LAPS.adml 成對複製過去。若是繁體中文介面,就把 zh-TW 子資料夾裡的 ADML 放到中央存放區對應的語言資料夾中。請注意,只放 ADMX 會讓 GPMC 出現資源錯誤。
5.4. 在目標電腦上確認儲存,從管理端取得密碼
Windows LAPS 每小時處理一次生效的原則。如果不想等它自然套用,就在目標電腦上執行立即處理,再確認事件記錄檔。4
# 電腦端:立即處理原則(驗證時的常用做法)
Invoke-LapsPolicyProcessing
# 電腦端:用事件記錄檔確認結果
# 10003=處理開始 / 10004=成功 / 10005=失敗 / 10018=儲存到 AD 成功
Get-WinEvent -LogName "Microsoft-Windows-LAPS/Operational" -MaxEvents 20
已儲存的密碼,由管理端具備檢視、解密權限的使用者取得。4
# 從 AD 取得密碼(不加 -AsPlainText 就能在字串保持遮蔽的狀態下處理)
Get-LapsADPassword -Identity PC-0123 -AsPlainText
# 輸出範例:會回傳 Account、Password、PasswordUpdateTime、ExpirationTimestamp、
# Source(EncryptedPassword 代表加密儲存)、AuthorizedDecryptor 等
不加 -AsPlainText 時,可以在字串保持遮蔽的狀態下處理。在圖形介面上,可以從「Active Directory 使用者和電腦」裡電腦內容的 LAPS 索引標籤查看。1
確認過儲存與取得之後,還要確認 4.1 節定下的帳戶能不能用於復原用途。取得之後的輪替見第 7 章,記錄檔的分辨方式見第 9 章。
6. 以 Entra ID + Intune 組態導入
儲存到 Entra ID 時,不需要 AD 用的結構描述延伸,也不需要設定 OU 的 ACL。取而代之,要確認租用戶端的啟用狀態,以及 Entra ID 端的檢視權限。6
| 步驟 | 要做的事 |
|---|---|
| 1. 租用戶的準備 | 在 Microsoft Entra 租用戶的「裝置設定」中啟用本機系統管理員密碼管理 |
| 2. 原則發佈 | 由 Intune 透過 LAPS CSP 發佈,套用 BackupDirectory = 1 以及管理對象帳戶、密碼的設定 |
| 3. 確認儲存結果 | 在目標電腦的事件記錄檔中確認儲存到 Entra ID 成功的 10029 |
| 4. 取得密碼 | 使用 Entra 管理中心/Intune 管理中心,或經 Microsoft Graph 的 Get-LapsAADPassword |
如果沒有在租用戶端啟用功能,電腦就儲存不了密碼。另外,AD 的儲存成功是 10018,而 Entra ID 是 10029。要確認與儲存位置相符的事件。68
在 Entra ID 中,預設由全域管理員等特殊權限角色檢視密碼。從 Microsoft Graph 取得時,也要用具備所需權限的連線來執行。下面是用委派存取明確指定範圍的範例。6
# 經 Graph 取得儲存在 Entra ID 中的密碼(委派存取的範例)
# 連線時明確要求所需的範圍
Connect-MgGraph -Scopes "Device.Read.All","DeviceLocalCredential.Read.All"
Get-LapsAADPassword -DeviceIds PC-0123 -IncludePasswords -AsPlainText
管理對象帳戶的啟用狀態,在儲存到 Entra ID 時同樣需要做 4.1 節那樣的確認。維護之後的輪替,不要用僅限 AD 的期限變更 Cmdlet,而要用 7.2 節說明的電腦端操作或 Intune 的操作。
7. 維護作業之後,輪替密碼
7.1. 區分「下達到期指示」與「電腦上完成變更」
在維護作業中取得過密碼之後,或懷疑遭到入侵時,不要等到下一次定期輪替,直接變更。請依命令分清執行的位置,以及在那裡完成的事。45
| 操作 | 執行的位置 | 要做的事 |
|---|---|---|
Set-LapsADPasswordExpirationTime |
具備 AD 期限變更權限的管理端 | 把 AD 上的期限設為「現在」,讓電腦在下一次處理時輪替。僅適用於儲存到 AD |
Invoke-LapsPolicyProcessing |
受管理的目標電腦上 | 立即處理 LAPS 原則。與上面的到期指示組合起來,就能不等定期處理直接完成變更 |
Reset-LapsPassword |
受管理的目標電腦上 | 直接、立即輪替該電腦的管理對象密碼 |
儲存到 AD 時,照下面的方式分開使用。前兩條命令的執行位置並不相同。
# 從管理端:把期限設為「現在」,讓下一次處理完成輪替
Set-LapsADPasswordExpirationTime -Identity PC-0123
# 在目標電腦上觸發立即處理,當場就換成新密碼
Invoke-LapsPolicyProcessing
# 想在目標電腦上直接立即輪替時
Reset-LapsPassword
變更期限的命令成功了,和目標電腦的密碼已經換新,不是同一回事。要一直確認到目標電腦的處理結果與儲存成功的記錄檔。
7.2. 儲存到 Entra ID 時,從目標電腦或 Intune 變更
Set-LapsADPasswordExpirationTime 僅適用於儲存到 AD。儲存到 Entra ID 的電腦,要在目標電腦上執行 Reset-LapsPassword,或使用 Intune 的本機系統管理員密碼輪替操作。請這樣理解:儲存位置不同,管理端的操作也不同。65
7.3. 自動重設是在「驗證之後」,不是「查詢之後」
Windows LAPS 有 PostAuthenticationActions,它偵測到管理對象帳戶完成驗證之後,會等寬限時間過去才做善後處理。預設是在 24 小時後執行「重設密碼 + 登出」。2
| PostAuthenticationActions | 動作 |
|---|---|
| 1 | 重設密碼 |
| 3(預設) | 重設 + 登出互動式工作階段(同時中斷 SMB 工作階段)2 |
| 5 | 重設 + 重新啟動電腦2 |
| 11 | 重設 + 登出 + 結束殘留的處理程序(Windows 11 24H2 / Server 2025 以後)2 |
這不是「一用完就立刻失效」的功能。在寬限時間之內,同一組密碼依然有效。此外,還要區分下面兩點。
| 設定、操作 | 自動處理的表現 |
|---|---|
把 PostAuthenticationResetDelay 設為 0 |
不是立即執行,而是驗證後的處理本身被停用 |
| 只是從目錄查詢了密碼,並沒有拿它來驗證 | 不會成為驗證後處理的起點,這項自動重設不會運作 |
為了不讓密碼留在便條或聊天記錄裡,也要把取得之後,無論有沒有使用,都要在作業完成時做明確的輪替固定進作業步驟。用 AD 就照 7.1 節、用 Entra ID 就照 7.2 節的方法做,並且要確認到結果為止。
8. 從舊版 LAPS 遷移時,不要造出雙重管理
8.1. Windows LAPS 的優先,與停用舊 CSE 是兩回事
同一個帳戶同時由舊版 LAPS 與 Windows LAPS 管理的組態,並不受支援。因為兩套機制會互相變更同一組密碼,會成為安全性風險。9
容易混為一談的是下面兩件事。
| Windows LAPS 端的行為 | 光靠它停不下來的東西 |
|---|---|
| 只要有一項 Windows LAPS 的原則生效,Windows LAPS 自身就會忽略舊版 LAPS 的原則 | 已安裝的舊 CSE 會獨立地繼續處理舊 GPO |
也就是說,並不是「反正 Windows LAPS 會優先,舊 CSE 留著也沒關係」。如果把電腦留在舊 GPO 的套用對象裡就啟用新原則,就會變成兩邊同時輪替同一個帳戶的狀態。9
8.2. 確認模擬模式運作的條件
讓 Windows LAPS 處理舊版 LAPS GPO 的模擬模式,只在沒有安裝舊 CSE 的電腦上運作。它會原樣沿用舊結構描述、舊 ACL 等舊版 LAPS 環境的前提,但用不了加密、儲存到 Entra ID 等新功能。9
有時只是更新了作業系統,還留著舊 GPO 的電腦就會在無意間開始以模擬模式運作。若想避免電腦配置剛結束時出現非預期的密碼變更,可以在本機組態機碼中設定 BackupDirectory = 0 來抑制它。9
8.3. 先解除舊的管理,再啟用新的管理
遷移照下面的順序推進。
- 把目標 OU 從舊版 LAPS 的 GPO 套用範圍中移出,或解除安裝舊 CSE,解除舊的管理。
- 套用 Windows LAPS 的原則。
- 撤除殘留的舊 GPO、舊 CSE。
要點是以電腦為單位,把「是哪一套機制在管理」唯一確定下來。順序反過來,就會在還留著舊 CSE 的電腦上造出雙重管理。
9. 把動作確認的記錄檔與密碼檢視的稽核分開
9.1. 在電腦上確認處理、儲存位置與生效的原則
Windows LAPS 的運作情況記錄在事件檢視器的「應用程式與服務記錄檔 > Microsoft > Windows > LAPS > Operational」中。8
| 事件 ID | 要確認的事 |
|---|---|
| 10003 | 原則處理開始 |
| 10004 / 10005 | 原則處理成功 / 失敗 |
| 10018 / 10029 | 密碼儲存成功。AD 是 10018,Entra ID 是 10029 |
| 10021 / 10022 / 10023 | 生效中原則的內容。儲存到 AD / 儲存到 Entra ID / 舊版 LAPS 模擬 |
可以用 5.4 節的 Get-WinEvent 取得。遇到「不運作」「取不到」的情況時,要分開確認:原則是否生效、儲存位置是否準備完成、儲存是否成功、取得的一方有沒有檢視與解密權限。
9.2. 在目錄端留下「誰、在什麼時候看過」
電腦正常完成輪替的紀錄,代替不了系統管理員檢視密碼的歷程。集中儲存的密碼被人檢視這件事,要另行稽核。
儲存到 AD 時,用 Set-LapsADAuditing 設定目標 OU 的稽核組態,把對密碼屬性的存取記錄到網域控制站的安全性記錄檔中。儲存到 Entra ID 時,用 Entra 端的稽核記錄檔與報表功能來追蹤。51
10. 總結 ── 密碼存得進去,不代表導入就結束了
Windows LAPS 是把所有電腦共用的本機系統管理員密碼,變成依電腦個別管理並自動輪替的機制。它內建在受支援的 Windows 中,所以不需要額外安裝,但沒有指定儲存位置的原則它就不會運作。新導入要選 Windows LAPS,舊版 LAPS 則要規劃遷移。12
導入與維護的確認,要涵蓋到下面這些地方。
| 確認的階段 | 完成的判斷基準 |
|---|---|
| 儲存位置 | 選好了與電腦加入狀態相符的 AD 或 Entra ID,並完成了必要的準備與原則設定 |
| 管理對象 | 要管理的帳戶確實存在,並定下了復原時可用的啟用狀態 |
| 權限 | 確認過有沒有非預期的檢視者,並為負責人設定了必要的檢視、解密、變更期限的權限 |
| 日常維運 | 取得之後無論有沒有使用都做輪替,並且有確認到電腦端處理與儲存結果的步驟 |
| 遷移與稽核 | 不存在與舊版 LAPS 的雙重管理,電腦的動作與密碼的檢視都能分別追蹤 |
工作群組電腦不在 LAPS 的適用範圍內,因此需要以人工方式依電腦管理密碼,或重新檢討是否改為加入 Entra ID、加入網域。另外,LAPS 處理的是本機系統管理員密碼被重複沿用的問題,並不能連其他認證資料的竊取也一併防住。
重要的是把「存得進去」「需要的負責人取得得到」「能用於復原」「作業之後改得掉」這幾件事,當作一套維運一併確認。
相關文章
- BitLocker 實務指南 ── 從回復金鑰的管理開始建立磁碟機加密
- 圖解NTLM與Kerberos ── 為什麼驗證會「回退」到NTLM
- Windows 什麼時候需要系統管理員權限 - UAC、保護區、設計上的分辨方式
- 用 winget + PowerShell 自動化 PC 配置 ── 讓操作手冊變得可執行
- Windows 的 TPM 是什麼 ── 圖解「不讓金鑰外流的保險箱」與測量啟動
- 廢棄 Windows PC 前該做的事 ── 資料清除、帳戶解除、備份的實務檢查清單
相關諮詢領域
合同會社小村軟體承接電腦配置自動化腳本的製作、包含 Windows LAPS 導入在內的電腦資安設定整備,以及從既有共用密碼維運遷移出去的計畫規劃。從「配置操作手冊倒是有,但太過依賴特定人員」「想導入 LAPS,但對 AD 的權限設定沒有把握」這樣的階段開始談也沒問題。
參考連結
-
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 是完全不同的實作、透過 Active Directory 使用者和電腦的內容畫面・專用事件記錄檔頻道・PowerShell 模組進行管理、功能本身免費且儲存到 AD 不需要額外授權、儲存到 Entra ID 只需 Entra ID Free 以上即可使用等說明。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16
-
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
-
Microsoft Learn, Local accounts。關於內建 Administrator 帳戶在 Windows 安裝過程中會被停用、改為建立另一個屬於 Administrators 群組的本機帳戶、已停用的 Administrator 帳戶除安全模式的特例外無法使用、本機系統管理員帳戶密碼重複沿用會構成 Pass-the-Hash 攻擊導致橫向移動的風險、LAPS 被列為隨機化的首要手段等說明。 ↩ ↩2
-
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
-
Microsoft Learn, Overview of Windows LAPS PowerShell cmdlets。關於 LAPS PowerShell 模組各 Cmdlet(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 的 Cmdlet 是針對與舊版 LAPS 完全不同的結構描述延伸運作的說明。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
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 ↩4 ↩5
-
Microsoft Learn, Windows LAPS schema extensions reference。關於 Update-LapsADSchema 為電腦物件新增的 msLAPS-* 屬性(msLAPS-Password=明文密碼與附隨資訊、msLAPS-PasswordExpirationTime=期限、msLAPS-EncryptedPassword=加密密碼等)的規格,以及密碼相關屬性的 SearchFlags 為 904(含 fCONFIDENTIAL=機密屬性),而 msLAPS-PasswordExpirationTime 的 SearchFlags 為 0、未標記為機密的說明。 ↩
-
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
-
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
相關文章
共用相同標籤的最新文章。能以相近的主題延伸理解。
群組原則(GPO)實務入門 ── 運作機制、生效確認與 Intune 的分工
你是否在不清楚「用 GPO 發布」是什麼意思的情況下,就在操作 AD 環境?本文從實務角度說明群組原則的運作機制與 LSDOU 套用順序、以 gpupdate、gpresult 確認生效狀況、與 Intune 的分工,以及客戶端 GPO 改變應用程式行為的陷阱。
SMB 簽章與 LDAP 通道繫結 ── 在實務中收緊 NTLM 對策的「剩餘一半」
在停用 NTLM 之前,能壓低中繼攻擊損害的防禦手段,就是 SMB 簽章與 LDAP 簽章、通道繫結。本文以實務角度整理各作業系統的預設值、稽核事件的判讀方式、推進到強制的步驟,以及業務應用程式與機器的修正方法。
NTLM廢除會讓業務應用程式停擺嗎 ── 稽核記錄的擷取方式,以及消除相依性的順序
本文彙整了在 NTLM 廢除之前,盤點自家 Windows 環境與業務應用程式在何處相依 NTLM 的具體步驟。內容涵蓋稽核原則、NTLM/Operational 記錄檔中事件 8001~8004 的追蹤方式、落回 NTLM 的典型模式與修正方法,以及 SMB 的 NTLM...
Windows 安全性稽核原則與事件記錄調查實務 ── 成為看得懂 4625 的資訊系統人員
這是一份實務指南,用來回應「請幫忙查一下登入失敗的記錄」這類需求。內容涵蓋基本與進階稽核原則的關係、最低限度應啟用的子類別、事件 ID 4624/4625/4688 的判讀方式、Security 記錄檔的容量設計,以及使用 Get-WinEvent 擷取的方法。
Windows 防火牆與業務應用程式 ── 輸入規則要在安裝程式中登錄
Windows 業務應用程式在客戶端無法通訊時,要如何從輸入規則、接聽狀態、網路設定檔與管理原則縮小範圍。本文說明不依賴首次啟動警訊的規則設計、在安裝程式中的登錄與更新,以及防火牆記錄檔的判讀方式。
相關主題
與本文相近的主題頁面。以本文為起點,可進一步連到相關服務與其他文章。
Windows 技術主題
彙整 KomuraSoft LLC 關於 Windows 開發、故障調查與既有資產活用文章的主題中心。
常見問題
整理諮詢這個主題時常見的問題。
- 我們已經在使用舊版 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 讓它到期(這個 Cmdlet 僅適用於儲存到 AD 的情形)。儲存到 Entra ID 時,則在目標電腦上執行 Reset-LapsPassword,或使用 Intune 的本機系統管理員密碼輪替操作。
- 既沒有加入網域、也沒有加入 Entra ID,以工作群組方式維運的電腦可以使用嗎?
- 不能。Windows LAPS 需要 Active Directory 或 Microsoft Entra ID 作為密碼的儲存位置,兩邊都沒有加入的電腦沒有可以備份的去處。若要繼續以工作群組方式維運,現實的替代方案是人工做法:為每台電腦設定各不相同的本機系統管理員密碼,並放在安全的地方(密碼管理工具等)做清冊管理。等電腦數量變多,為了享受包含 LAPS 在內的集中管理效益,就該考慮遷移到加入 Entra ID(+Intune)或加入網域了。
- 已儲存的密碼,誰可以檢視?
- 儲存到 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 相關功能,可能另有授權要求,只要另外確認這一點即可。