

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Windows LAPS 与 Amazon 微软 AD 托管
<a name="ms_using_windows_laps"></a>

Windows 本地管理员密码解决方案 (Windows LAPS) 可自动管理和备份已加入域的 Windows 计算机上的本地管理员密码。密码安全地存储在 Active Directory 中，并按可配置的时间表轮换，从而消除了队列中共享或静态本地管理员密码的安全风险。

Amazon 托管微软 AD 支持 Windows LAPS。所需的 Active Directory 架构扩展名和权限是自动配置的。您只需要创建组策略对象 (GPO) 即可在加入域的计算机上启用 LAPS。

**主题**
+ [先决条件](#ms_laps_prerequisites)
+ [Windows LAPS 的工作原理](#ms_laps_how_it_works)
+ [验证 LAPS 架构](#ms_laps_verify_schema)
+ [创建 LAPS 组策略](#ms_laps_create_gpo)
+ [配置 LAPS 设置](#ms_laps_configure_settings)
+ [应用策略并触发密码轮换](#ms_laps_apply_policy)
+ [正在检索密码](#ms_laps_retrieve_passwords)
+ [强制轮换密码](#ms_laps_force_rotation)
+ [授权 LAPS 访问权限](#ms_laps_delegate_access)
+ [验证 LAPS 是否正常工作](#ms_laps_verify_working)
+ [配置参考](#ms_laps_config_reference)
+ [Windows LAPS 故障排除](#ms_laps_troubleshooting)
+ [限制](#ms_laps_limitations)
+ [相关资源](#ms_laps_related_resources)

## 先决条件
<a name="ms_laps_prerequisites"></a>

要将 Windows LAPS 与 Amazon 托管微软 AD 一起使用，你需要满足以下条件：
+  Amazon 托管的 Microsoft AD 目录（标准版或企业版）。
+ Domain-joined Windows 计算机正在运行Windows Server 2019或更高版本，或者Windows 10/11使用 2023 年 4 月或更晚的累积更新。有关启动实例的更多信息，请参阅 [将 Amazon EC2 实例加入您的实例的方法 Amazon 微软 AD 托管](ms_ad_join_instance.md)。
+ 安装了用于 Active Directory 和组策略管理的远程服务器管理工具 (RSAT) 的加入域的管理实例。

## Windows LAPS 的工作原理
<a name="ms_laps_how_it_works"></a>

当通过组策略配置 Windows LAPS 时，会发生以下过程：

1. 每台加入域的计算机都会为其本地管理员帐户生成一个随机密码。

1. 计算机将密码存储在自己的 Active Directory 计算机对象中。

1. 密码将根据您配置的时间表自动轮换（默认值：30 天）。

1. 授权管理员在需要时从 Active Directory 中检索密码。

Amazon 托管 Microsoft AD 会自动处理以下内容：
+ LAPS 属性的活动目录架构扩展
+ 计算机对象存储自己的密码的权限
+ 用于密码检索的委派安全组（Amazon 委托 LAPS 管理员）

## 验证 LAPS 架构
<a name="ms_laps_verify_schema"></a>

在配置 LAPS 之前，请验证您的目录中是否存在所需的架构属性。

**验证 LAPS 架构属性**

1. 使用托管 M Amazon icrosoft AD 目录的管理员帐户连接到已加入域的 Windows 管理实例。

1. 打开 PowerShell 并运行以下命令以确认 Windows LAPS 架构属性是否可用：

   ```
   Get-ADObject -SearchBase ((Get-ADRootDSE).SchemaNamingContext) `
       -LDAPFilter "(lDAPDisplayName=computer)" `
       -Properties mayContain |
       Select-Object -ExpandProperty mayContain |
       Where-Object { $_ -like "*LAPS*" }
   ```

   您应该会看到列出的以下属性：
   + `msLAPS-EncryptedDSRMPasswordHistory`
   + `msLAPS-EncryptedDSRMPassword`
   + `msLAPS-EncryptedPasswordHistory`
   + `msLAPS-EncryptedPassword`
   + `msLAPS-Password`
   + `msLAPS-PasswordExpirationTime`

   如果这些属性不存在，请联系 Supp Amazon ort。架构扩展将在目录创建和修补期间自动应用。

## 创建 LAPS 组策略
<a name="ms_laps_create_gpo"></a>

创建新 GPO 并将其链接到包含您的计算机对象的组织单位 (OU)。

**创建和关联 LAPS GPO**
+ 运行以下 PowerShell 命令：

  ```
  New-GPO -Name "LAPS Policy" |
      New-GPLink -Target "OU=Computers,OU=corp,DC=corp,DC=example,DC=com"
  ```

  将该`-Target`值替换为包含您的计算机对象的 OU 的可分辨名称。

## 配置 LAPS 设置
<a name="ms_laps_configure_settings"></a>

创建 GPO 后，配置 LAPS 策略设置。您必须至少将备份目录配置为在 Active Directory 中存储密码。

**配置备份目录**
+ 

  ```
  Set-GPRegistryValue -Name "LAPS Policy" `
      -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
      -ValueName "BackupDirectory" -Type DWord -Value 2
  ```

### 启用密码加密（推荐）
<a name="ms_laps_enable_encryption"></a>

密码加密可保护存储的密码，因此只有经过授权的委托人才能对其进行解密。

**启用密码加密**
+ 

  ```
  Set-GPRegistryValue -Name "LAPS Policy" `
      -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
      -ValueName "ADPasswordEncryptionEnabled" -Type DWord -Value 1
  ```

**重要**  
启用加密时，还必须配置加密主体。默认情况下，只有域管理员才能解密加密的密码。在 Amazon 托管 Microsoft AD 中，管理员帐户不是域管理员的成员，因此除非将加密主体设置为管理员帐户所属的群组，否则您无法检索密码。

**配置加密主体**
+ 

  ```
  Set-GPRegistryValue -Name "LAPS Policy" `
      -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
      -ValueName "ADPasswordEncryptionPrincipal" -Type String -Value "corp\AWS Delegated LAPS Administrators"
  ```

  `corp`替换为目录的 NetBIOS 名称。

### 自定义密码设置（可选）
<a name="ms_laps_password_settings"></a>

您可以自定义密码长度、期限和复杂性。

```
# Password length (default: 14, range: 8-64)
Set-GPRegistryValue -Name "LAPS Policy" `
    -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
    -ValueName "PasswordLength" -Type DWord -Value 20

# Password age in days (default: 30, range: 1-365)
Set-GPRegistryValue -Name "LAPS Policy" `
    -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
    -ValueName "PasswordAgeDays" -Type DWord -Value 14

# Password complexity (1=Upper+Lower, 2=+Digits, 3=+Special, 4=Improved)
Set-GPRegistryValue -Name "LAPS Policy" `
    -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
    -ValueName "PasswordComplexity" -Type DWord -Value 4
```

### 管理自定义本地管理员帐户（可选）
<a name="ms_laps_custom_account"></a>

默认情况下，LAPS 管理内置管理员帐户 (RID 500)。要管理其他本地帐户，请配置帐户名称。

```
Set-GPRegistryValue -Name "LAPS Policy" `
    -Key "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS" `
    -ValueName "AdministratorAccountName" -Type String -Value "LocalAdmin"
```

**注意**  
如果指定自定义帐户名，则必须确保该帐户存在于目标计算机上。LAPS 不会创建账户。

## 应用策略并触发密码轮换
<a name="ms_laps_apply_policy"></a>

配置 GPO 后，在每台托管计算机上应用策略并触发 LAPS 策略处理。

**应用策略并触发密码轮换**
+ 在每台托管计算机上运行以下命令：

  ```
  gpupdate /force
  Invoke-LapsPolicyProcessing
  ```

  LAPS 每小时自动处理一次保单。上面的命令可以立即触发处理，无需等待下一个周期。

## 正在检索密码
<a name="ms_laps_retrieve_passwords"></a>

委 Amazon 托 LAPS 管理员或 Amazon 授权管理员的成员可以检索 LAPS 密码。

**取回 LAPS 密码**
+ 

  ```
  Get-LapsADPassword -Identity <ComputerName> -AsPlainText
  ```

  下面是示例输出：

  ```
  ComputerName        : SERVER01
  DistinguishedName   : CN=SERVER01,OU=Computers,OU=corp,DC=corp,DC=example,DC=com
  Account             : Administrator
  Password            : [PASSWORD]
  PasswordUpdateTime  : 6/2/2026 2:35:29 PM
  ExpirationTimestamp : 7/2/2026 2:35:29 PM
  Source              : EncryptedPassword
  DecryptionStatus    : Success
  AuthorizedDecryptor : corp\AWS Delegated LAPS Administrators
  ```

## 强制轮换密码
<a name="ms_laps_force_rotation"></a>

要立即轮换计算机的密码（例如，在发生安全事件后），可以将密码标记为已过期并触发新的轮换。

**从管理实例强制轮换密码**
+ 

  ```
  Set-LapsADPasswordExpirationTime -Identity <ComputerName>
  ```

  计算机将在下一个策略处理周期中生成一个新密码。

**在托管计算机上强制立即轮换**
+ 在托管计算机上运行以下命令之一：

  ```
  Invoke-LapsPolicyProcessing
  ```

  或：

  ```
  Reset-LapsPassword
  ```

## 授权 LAPS 访问权限
<a name="ms_laps_delegate_access"></a>

默认情况下，管理员帐户和 Amazon 授权管理员的成员可以检索 LAPS 密码。要向其他用户（例如服务台工作人员）授予访问权限，而不授予他们完全的管理权限，请将他们添加到 “ Amazon 委托 LAPS 管理员” 群组。

**委托 LAPS 密码检索访问权限**
+ 

  ```
  Add-ADGroupMember -Identity "AWS Delegated LAPS Administrators" -Members "HelpDeskTeam"
  ```

   Amazon 委派 LAPS 管理员组位于 Amazon 委派组 OU 中，可由管理员账户管理。

## 验证 LAPS 是否正常工作
<a name="ms_laps_verify_working"></a>

您可以通过检查托管计算机上的事件日志并从管理实例查询 Active Directory 来验证 LAPS 是否正常运行。

### 查看托管计算机上的事件日志
<a name="ms_laps_verify_event_log"></a>

LAPS 将事件写入日`Microsoft-Windows-LAPS/Operational`志。

```
Get-WinEvent -LogName 'Microsoft-Windows-LAPS/Operational' -MaxEvents 5 | Format-List TimeCreated, Id, Message
```

关键事件 ID：
+ **10018**-成功更新活动目录中的密码
+ **10017**-密码更新失败（检查错误代码）
+ **10021**-当前策略配置

### 从管理实例验证 LAPS
<a name="ms_laps_verify_from_mgmt"></a>

```
Get-ADComputer <ComputerName> -Properties msLAPS-PasswordExpirationTime |
    Select-Object Name, 'msLAPS-PasswordExpirationTime'
```

## 配置参考
<a name="ms_laps_config_reference"></a>

所有设置均在以下注册表项下配置：

```
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\LAPS
```

下表列出了可用的 LAPS 配置设置。


| 设置 | 注册表值 | Type | 默认值 | 说明 | 
| --- | --- | --- | --- | --- | 
| BackupDirectory | 2 | dWord | 未配置 | 必需。活动目录设置为 2。 | 
| PasswordLength | 8-64 | dWord | 14 | 生成的密码的长度。 | 
| PasswordAgeDays | 1-365 | dWord | 30 | 密码轮换前几天。 | 
| PasswordComplexity | 1-4 | dWord | 4 | 1=字母，2=\+数字，3=\+Special，4=已改进。 | 
| ADPasswordEncryptionEnabled | 0 或 1 | dWord | 0 | 启用密码加密。 | 
| ADPasswordEncryptionPrincipal | 组名 | 字符串 | Domain Admins | 谁可以解密密码。 | 
| AdministratorAccountName | 帐户名称 | 字符串 | Built-in 管理员 | 要管理哪个本地账户。 | 
| PostAuthenticationResetDelay | 0-24 | dWord | 24 | 使用后数小时后再进行轮换。 | 
| PostAuthenticationActions | 1-5 | dWord | 3 | 使用密码后的操作（1=重置，3=重置\+注销，5=重置\+重启）。 | 

## Windows LAPS 故障排除
<a name="ms_laps_troubleshooting"></a>

下表列出了常见问题及其解决方案。


| 症状 | 原因 | 解决方案 | 
| --- | --- | --- | 
| Get-LapsADPassword不返回任何数据 | 未应用 GPO 或计算机尚未处理策略 | gpupdate /force然后Invoke-LapsPolicyProcessing在托管计算机上运行。 | 
| 事件 10017，错误为 0x80070005 | 计算机无权写入其 LAPS 属性 | 请联系 S Amazon upport。可能需要重新应用自写权限。 | 
| 找回密码时出现 “访问被拒绝” | 用户不在授权群组中 | 将用户添加到 “ Amazon 委派 LAPS 管理员”。 | 
| DecryptionStatus: 未授权 | 加密已启用但 ADPasswordEncryptionPrincipal 未配置（默认为域管理员，管理员帐户不是 Amazon 托管 Microsoft AD 中的成员） | corp\\AWS Delegated LAPS Administrators在 LAPS GPO 中设置为ADPasswordEncryptionPrincipal，然后在托管计算机Reset-LapsPassword上运行，为正确的主体生成加密的新密码。 | 
| 无法解密加密的密码 | 用户不在加密主体组中 | 配置ADPasswordEncryptionPrincipal为包括您的群组，然后在托管计算机Reset-LapsPassword上运行以使用新的主体重新加密。 | 
| LAPS 不处理政策 | GPO 未链接到正确的 OU | 在托管计算机gpresult /r上使用进行验证。 | 
| 事件 10108 — ms LAPSCurrentPasswordVersion 属性不在架构中 | 预期的行为。此属性需要Windows Server 2025林架构，不适用于 Amazon 托管 Microsoft AD。 | 此警告仅供参考，可以放心地忽略。没有此属性，所有 LAPS 功能均可运行。它仅用于操作系统映像回滚检测，这是一项Windows Server 2025功能。欲了解更多信息，请参阅微软 Windows LAPS 文档。 | 

## 限制
<a name="ms_laps_limitations"></a>
+ Windows LAPS 要求在托管计算机上安装Windows Server 2019或更高版本（或Windows 10/11在 2023 年 4 月的累积更新中）。
+ LAPS 每台 GPO 在每台计算机上管理一个本地账户。要管理多个帐户，请使用单独的 GPO。
+ 密码历史记录仅在启用加密时可用。

## 相关资源
<a name="ms_laps_related_resources"></a>

以下资源位于微软网站上，提供有关 Windows LAPS 的相关信息。
+ [Windows LAPS 概述](https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-overview)
+ [Windows LAPS 组策略设置](https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-management-policy-settings)
+ [Windows LAPS cmdlet PowerShell ](https://learn.microsoft.com/en-us/powershell/module/laps/)