使用AD域管理您的本地计算机密码
摘要: 本文档介绍本地管理员密码解决方案 (LAPS) 的基本操作。
目录
1. 简介
此方案是将本地管理员密码存储在LDAP上,作为计算机账户的一个机密属性,配合GPO,实现自动定期修改密码、设置密码长度、强度等,然后配置某些指的账号,能查看存储的密码,如果用户需要,可以用PowerShell或指的工具查询密码,但对非授权用户,确无法获取,从而实现本机管理员的自动化管理。
LAPS使用两个LDAP属性来存储本地管理员凭证,这两个属性分别是ms-MCS-AdmPwd(存储密码)和ms-MCS-AdmPwdExpirationTime(存储过期时间)。
2. 工具下载
您可以点击此处下载LAPS程序。
3. 管理端计算机(AD域)安装LAPS
-
在您的管理端计算机(AD域服务器)上,选择合适您操作系统的安装程序。 32位计算机请运行LAPS.x86.msi,64位计算机请运行LAPS.x64.msi,进入安装导航界面。
-
点击Next
-
选择完整安装
-
点击Install
-
安装完成后,可以在程序中查看。
到此管理端计算机程序安装完毕。
4. 客户端计算机(AD域成员计算机)安装LAPS
4.1 安装包安装LAPS
-
将安装包复制到您的客户端计算机,只需安装"AdmPwd GPO Extension"和"GPO Editor templates"
-
选择"AdmPwd GPO Extension"会将AdmPwd.dll文件,安装到C:\Program Files\LAPS\CSE\目录。(客户端必须)
-
选择"GPO Editor templates",会将AdmPwd.admx和AdmPwd.adml安装到您的计算机,这将会使你的组策略编辑中出现LAPS选项。(客户端必须)
-
选择"Fat client UI"会将AdmPwd.UI.exe安装到计算机。(管理端必须)
-
选择"PowerShell module"会将AdmPwd.PS模块。(管理端必须)
4.2 复制admpwd.dll方式(仅适用于AD域推送策略)
- 在安装好LAPS的服务器上,进入到C:\Program Files\LAPS\CSE\目录。
- 将C:\Program Files\LAPS\CSE\AdmPwd.dll复制到您客户端计算机的C:\Windows\System32目录下。
- 在命令行下运行以下命令:
regsvr32.exe AdmPwd.dll
5. 在客户端上获取AD域写权限
客户端必须有权访问可写域控制器才能更新密码。确认此类访问存在的一种方法是在托管客户端上运行 nltest.exe 实用程序,在客户端计算机上运行以下命令:
nltest.exe /dsgetdc: /writable /force
成功后,该实用程序将输出找到的特定域控制器的详细信息。
6. AD域上的配置
Active Directory 架构需要通过两个新属性进行扩展,这些属性存储每台计算机的托管本地管理员帐户的密码和密码过期的时间戳。这两个属性都添加到计算机 类的可能包含 属性集中。
ms-Mcs-AdmPwd – 以明文形式存储密码
ms-Mcs-AdmPwdExpirationTime – 存储重置密码的时间
要更新架构,您首先需要导入 PowerShell 模块。打开管理 PowerShell 窗口并使用以下命令:
Import-module AdmPwd.PS
您可以使用以下命令更新 Schema:
Update-AdmPwdADSchema
7. 客户端启用LAPS
- 打开组策略设置:
运行gpedit.msc,定位到计算机配置/管理模板/LAPS - 将 Enable local admin password management设置为启用。
- 设置password Settings
- 设置纳管本地管理员帐号名称。
- 防止密码重置计划时间过长
如果您不想让管理员帐户的计划密码过期时间超过最大密码期限,可以启用以下配置。
8.AD上管理客户端密码
配置完所有内容并在客户端上刷新组策略后,您可以查看计算机对象的属性并查看新设置。
8.1 添加机器权限
必须将所有计算机帐户的 ms-Mcs-AdmPwdExpirationTime 和 ms-Mcs-AdmPwd 属性的写入权限添加到 SELF 内置帐户。这是必需的,以便机器可以更新其自己管理的本地管理员密码的密码和过期时间戳。这是使用 PowerShell 完成的。 如果这是一个新窗口,您可能需要运行Import-module AdmPwd.PS。
Set-AdmPwdComputerSelfPermission -OrgUnit <name of the OU to delegate permissions>
8.2 添加用户权限
将计算机帐户的 ms-Mcs-AdmPwd 属性的 CONTROL_ACCESS 权限(扩展权限)添加到允许读取托管计算机上托管本地管理员帐户的存储密码的组或用户。
Set-AdmPwdReadPasswordPermission -OrgUnit <name of the OU to delegate permissions> -AllowedPrincipals <users or groups>
8.3 查看客户端密码
- 在AD上运行C:\Program Files\LAPS\AdmPwd.UI.exe程序。
- 在Computer name:中输入您客户端计算机的名称,可以搜索到该计算机的密码。
9. 总结
9.1 在AD域上的操作:
- 安装LAPS程序。
- 在Powershell下导入adminpwd.ps模块。
Import-module AdmPwd.PS
- 更新 Schema
Update-AdmPwdADSchema
- 添加机器权限
Set-AdmPwdComputerSelfPermission -OrgUnit LAPS
- 添加用户权限
Set-AdmPwdReadPasswordPermission -OrgUnit LAPS -AllowedPrincipals administrator
9.2 在客户端上的操作
- 安装LAPS程序。
- 获取域控制器写权限,在命令行下输入:
nltest.exe /dsgetdc: /writable /force
- 配置组策略,如下所示:
9.3 查看密码
在AD上运行C:\Program Files\LAPS\AdmPwd.UI.exe程序,输入计算机名搜索计算机。
补充
查找拥有扩展权限的用户和组命令
要快速查找哪些安全主体对 OU 具有扩展权限,您可以使用 PowerShell cmdlet。 如果这是一个新窗口,您可能需要运行Import-module AdmPwd.PS 。
Find-AdmPwdExtendedRights -Identity:<OU名称> | Format-Table ExtendedRightHolders
更多详细资料,可以可看工具包中的《LAPS_OperationsGuide.docx》文档。