Active Directory low available storage space - AWS Directory Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Active Directory low available storage space

当 AWS Managed Microsoft AD 由于 Active Directory 的可用存储空间不足而受损时,需要立即采取措施才能将目录恢复到活动状态。这种损伤的两个最常见原因在以下章节中介绍:

有关 AWS Managed Microsoft AD 存储的定价信息,请参阅 AWS Directory Service 定价.

SYSVOL folder is storing more than essential group policy objects

此损伤的一个常见原因是由于存储在 SYSVOL 文件夹中进行组策略处理的非必要文件。These non-essential files could be EXEs, MSIs, or any other file that is not essential for Group Policy to process. 要处理的组策略的基本对象是组策略对象、登录/注销脚本和组策略对象的中央存储. 任何非必要文件都应存储在 AWS Managed Microsoft AD 域控制器以外的文件服务器上。

If files for Group Policy Software Installation are needed you should use a file server to store those installation files. If you would prefer to not self manage a file server, AWS provides a managed file server option, Amazon FSx.

要删除任何不必要的文件,您可以通过通用命名约定 (UNC) 路径访问 SYSVOL 共享。例如,如果您的域的完全限定域名 (FQDN) 是 example.com,则 SYSVOL 的 UNC 路径将为“\\example.local\SYSVOL\example.local\”。一旦找到并删除组策略处理目录时不必要的对象,该目录应该在 30 分钟内恢复到活动状态。如果 30 分钟后该目录未处于活动状态,请联系 AWS Support。

仅在 SYSVOL 共享中存储基本的组策略文件的作法可确保您不会因 SYSVOL 膨胀而损害您的目录。

Active Directory database has filled the volume

此损害的一个常见原因是由于 Active Directory 数据库填充卷。To verify if this is the case, you can review the total count of objects in your directory. We bold the word total to ensure that you understand deleted objects still count towards the total number of objects in a directory.

默认情况下,AWS Managed Microsoft AD 将项目保留在 AD 回收站中 180 天,然后项目才会成为回收对象。一旦一个对象成为回收对象(逻辑删除),它会再保留 180 天,然后才最终从目录中清除。因此,当一个对象被删除时,它会在目录数据库中存在 360 天,然后再清除。这就是需要评估对象总数的原因。

有关 AWS Managed Microsoft AD 支持的对象计数的更多详细信息,请参阅 AWS Directory Service 定价.

To get the total number of objects in a directory that includes the deleted objects, you can run the following PowerShell command from a domain joined Windows instance. 有关如何设置管理实例的步骤,请参阅在 AWS Managed Microsoft AD 中管理用户和组.

Get-ADObject -Filter * -IncludeDeletedObjects | Measure-Object -Property 'Count' | Select-Object -Property 'Count'

下面是运行上述命令的示例输出:

Count 10000

如果总计数高于上述注释中列出的目录大小支持的对象计数,则表示您已超出目录的容量。

以下选项用于解决此损害:

  1. 清理 AD

    1. 删除任何不需要的 AD 对象。

    2. 从 AD 回收站中删除任何不需要的对象。请注意,此操作是破坏性的,恢复这些已删除对象的唯一方法是执行目录的还原。

    3. 以下命令将从 AD 回收站中删除所有已删除的对象。

      重要

      请谨慎使用此命令,因为这是一个破坏性命令,恢复这些已删除对象的唯一方法是执行目录的还原。

      $DomainInfo = Get-ADDomain $BaseDn = $DomainInfo.DistinguishedName $NetBios = $DomainInfo.NetBIOSName $ObjectsToRemove = Get-ADObject -Filter { isDeleted -eq $true } -IncludeDeletedObjects -SearchBase "CN=Deleted Objects,$BaseDn" -Properties 'LastKnownParent','DistinguishedName','msDS-LastKnownRDN' | Where-Object { ($_.LastKnownParent -Like "*OU=$NetBios,$BaseDn") -or ($_.LastKnownParent -Like '*\0ADEL:*') } ForEach ($ObjectToRemove in $ObjectsToRemove) { Remove-ADObject -Identity $ObjectToRemove.DistinguishedName -IncludeDeletedObjects }
    4. 向 AWS Support 创建一个案例,请求 AWS Directory Service 回收可用空间。

  2. 如果您的目录类型为标准版,请向 AWS Support 创建一个案例,请求将您的目录升级到企业版。这也会增加您目录的成本。有关定价信息,请参阅 AWS Directory Service 定价.

In AWS Managed Microsoft AD, members of the AWS Delegated Deleted Object Lifetime Administrators group have the ability to modify the msDS-DeletedObjectLifetime attribute which sets the amount of time in days that deleted objects are kept in the AD Recycling Bin before they become Recycled-Objects.

注意

这是一个高级主题。如果配置不当,则可能导致数据丢失。We highly recommend that you first review The AD Recycle Bin: Understanding, Implementing, Best Practices, and Troubleshooting to get a better understanding of these processes.

msDS-DeletedObjectLifetime 属性值更改为较低的数值的能力有助于确保您的对象计数不会超过支持的级别。此属性可设置为的最低有效值为 2 天。超过该值后,您将无法再使用 AD 回收站恢复已删除的对象。需要从快照还原目录才能恢复这样的对象。有关更多信息,请参阅 Snapshot or restore your directory. 任何快照还原都会导致数据丢失,因为它们是一些时间点。

要更改目录的已删除对象生命周期,请运行以下命令:

注意

如果按原样运行命令,它会将“Deleted Object Lifetime (删除对象生命周期)”属性值设置为 30 天。如果您想使生命周期更长或更短,请用您希望的任何数字替换“30”。但是,我们建议您不要高于默认数字 180。

$DeletedObjectLifetime = 30 $DomainInfo = Get-ADDomain $BaseDn = $DomainInfo.DistinguishedName Set-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,$BaseDn" -Partition "CN=Configuration,$BaseDn" -Replace:@{"msDS-DeletedObjectLifetime" = $DeletedObjectLifetime}