Windows LAPS 架构扩展必须在林根域域控制器上运行Update-LapsADSchema命令,添加msLAPS-Password和msLAPS-PasswordExpirationTime两个属性并更新计算机类的mayContain列表,该操作不可逆、需Schema Admins和Enterprise Admins权限,且要求林功能级别≥2008 R2。
active directory 的架构扩展不是常规管理操作,而是影响整个林的底层变更,必须提前规划、严格测试、一次到位。它不可逆,也不能删除已添加的类或属性,只能禁用。
什么情况下需要扩展架构
当现有属性无法满足业务需求时才考虑扩展。比如 Windows LAPS 需要存储密码和过期时间,而原生计算机对象没有对应字段,就必须添加 msLAPS-Password 和 msLAPS-PasswordExpirationTime 这两个属性。常见触发场景包括:
- 部署微软官方方案(如 LAPS、Windows Hello for Business 后端集成)
- 第三方身份治理工具要求写入自定义元数据(如员工入职部门、合规标签)
- 内部应用需在 AD 对象上持久化结构化状态(如设备生命周期阶段、审批流程ID)
扩展前的关键检查项
跳过验证可能引发复制失败、架构不一致甚至林级中断。必须确认以下几点:
- 当前林功能级别 ≥ Windows Server 2008 R2(LAPS 要求至少此版本)
- 所有域控制器在线且复制正常:运行 repadmin /replsum /bysrc /bydest /sort:delta,确保 Fail 列为 0,Delta 值远小于站点链接的复制间隔
- 执行账号同时属于 Schema Admins 和 Enterprise Admins 组
- 已在测试林中完成完整验证:包括属性写入、GPO 应用、权限委派、备份恢复全流程
典型扩展操作(以 LAPS 为例)
LAPS 架构扩展由 PowerShell 模块自动完成,但需人工介入控制时机和范围:
- 在林根域的任意一台域控制器上,以管理员身份运行 PowerShell
- 导入模块:Import-Module AdmPwd.PS
- 执行命令:Update-LapsADSchema(该命令会添加 2 个属性、更新计算机类的 mayContain 列表)
- 等待架构复制完成(通常 15–30 分钟),可通过 Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -Filter {name -eq "ms-LAPS-Password"} 验证
扩展后的持续维护要点
架构本身不自动“老化”,但依赖它的功能需要主动看护:
- 禁用而非删除:若某属性不再使用,用 Set-ADObject 将其 isDefunct 属性设为 $true
- 监控权限:msLAPS-Password 默认带 searchFlags = 904(含 confidential 标志),确保只有授权组(如 HelpDesk)能读取,普通用户不可见
- 定期审计:每年检查一次 cn=schema 容器下的新增类/属性,确认无未授权或遗忘的扩展
- 备份同步:架构变更后,立即执行系统状态备份,并验证可还原性

















