

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Managed Microsoft AD 低可用儲存空間
<a name="ms_ad_troubleshooting_low_storage_space"></a>

當您的 AWS Managed Microsoft AD 由於 Active Directory 的可用儲存空間不足而受損時，需要立即採取動作，才能將目錄恢復為作用中狀態。以下章節涵蓋造成這種損害最常見的兩個原因：

1. [SYSVOL 資料夾正在存放超過必要的群組政策物件](#sysvol-folder-gpo)

1. [Active Directory 資料庫已填滿磁碟區](#ad-db-filled-volume)

如需 AWS Managed Microsoft AD 儲存體的定價資訊，請參閱 [Directory Service 定價](https://aws.amazon.com/directoryservice/pricing/#Comparison_Table)。

## SYSVOL 資料夾正在存放超過必要的群組政策物件
<a name="sysvol-folder-gpo"></a>

這種損害的常見原因是在 SYSVOL 資料夾中存放了非必要的群組原則處理檔案。這些非必要的檔案可能是 EXE、MSI 或任何其他並非群組原則應處理的必要檔案。群組原則應處理的必要物件是群組政策物件、登入/登出指令碼，以及[群組原則物件的中央存放區](https://learn.microsoft.com/en-us/troubleshoot/windows-client/group-policy/create-and-manage-central-store)。任何非必要檔案都應存放在 Managed Microsoft AD 網域控制站 ( AWS Managed Microsoft AD) 以外的檔案伺服器上。

如果需要[群組原則軟體安裝](https://learn.microsoft.com/en-us/troubleshoot/windows-server/group-policy/use-group-policy-to-install-software)的檔案，建議您使用檔案伺服器來存放這些安裝檔案。如果您不想自行管理檔案伺服器， AWS 會提供受管檔案伺服器選項 [Amazon FSx](https://aws.amazon.com/fsx/)。

若要移除任何不必要的檔案，您可以透過通用命名慣例 (UNC) 路徑存取 SYSVOL 共用。例如，如果您網域的完整網域名稱 (FQDN) 是 example.com，SYSVOL 的 UNC 路徑會是 "\$1\$1example.local\$1SYSVOL\$1example.local\$1"。一旦您找到並移除群組原則處理目錄時不需要的物件，其應該就會在 30 分鐘內回到作用中狀態。如果 30 分鐘後目錄未處於作用中狀態，請聯絡 AWS Support。

只將必要的群組原則檔案存放在您的 SYSVOL 共享中，可以確保您不會因為 SYSVOL 膨脹而損害您的目錄。

## Active Directory 資料庫已填滿磁碟區
<a name="ad-db-filled-volume"></a>

造成這種損害的常見原因是 Active Directory 資料庫填滿了磁碟區。如要驗證是否是這種情況，您可以檢閱您目錄中物件的 **total (總)** 計數。我們將 **total (總)** 這個字以粗體表示，是為了讓您了解 **deleted (已刪除)** 的物件仍然會計入目錄中的物件總數。

根據預設， AWS Managed Microsoft AD 會將 AD Recycling Bin 中的項目保留 180 天，之後才會成為 Recycled-Object。一旦物件成為 Recycled-Object (已標記)，便會另外再保留 180 天，最後才會從目錄清除。所以當物件遭到刪除時，物件仍會存在目錄資料庫中達 360 天，之後才會遭到清除。這就是為什麼必須評估物件的總數。

如需 AWS Managed Microsoft AD 支援物件計數的詳細資訊，請參閱 [Directory Service 定價](https://aws.amazon.com/directoryservice/pricing/#Comparison_Table)。

如要取得目錄中包含已刪除物件的物件總數，您可以從加入網域的 Windows 執行個體執行以下 PowerShell 命令。如需如何設定管理執行個體的步驟，請參閱 [AWS Managed Microsoft AD 中的使用者和群組管理](ms_ad_manage_users_groups.md)。

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

以下是以上命令的範例輸出：

```
Count
10000
```

如果總計數超過您上述備註中您目錄大小所支援的物件數，您便已超過您目錄的容量。

以下是解決這項損害的選項：

1. 清理 AD

   1. 刪除任何不需要的 AD 物件。

   1. 從 AD 資源回收筒移除任何不需要的物件。請注意，這是一項破壞性動作，且復原這些遭到刪除物件的唯一方法是執行目錄還原。

   1. 以下命令將會從 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 }
      ```

   1. 向 AWS Support 開啟案例，請求 Directory Service 回收可用空間。

1. 如果您的目錄類型是 Standard Edition 使用 AWS Support 開啟案例，請求將目錄升級至 Enterprise Edition。這也會增加您目錄的成本。如需定價資訊，請參閱 [Directory Service 定價](https://aws.amazon.com/directoryservice/pricing/#Comparison_Table)。

在 AWS Managed Microsoft AD 中，**AWS 委派的已刪除物件存留期管理員**群組的成員能夠修改 `msDS-DeletedObjectLifetime` 屬性，該屬性會設定已刪除物件在變成資源回收物件之前保留在 AD 回收筒中的天數。

**注意**  
這是進階主題。如果設定不當，可能會導致資料遺失。我們強烈建議您先檢閱 [The AD Recycle Bin: Understanding, Implementing, Best Practices, and Troubleshooting](https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/the-ad-recycle-bin-understanding-implementing-best-practices-and/ba-p/396944)，以進一步了解這些程序。

將 `msDS-DeletedObjectLifetime` 屬性值變更為較低的數字，有助於確保您的物件數不會超過支援的層級。此屬性最低的有效值可以設為 2 天。一旦超過這個值，您將再也無法使用 AD 資源回收筒復原遭到刪除的物件。您將需要從快照還原目錄，才能復原這些物件。如需詳細資訊，請參閱[使用快照還原 AWS Managed Microsoft AD](ms_ad_snapshots.md)。**系統會從時間點進行還原，因此快照還原可能導致資料遺失。**

如要變更您目錄的刪除物件生命週期，請執行以下命令：

**注意**  
如果您照原樣執行命令，該命令會將刪除物件生命週期屬性值設為 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}
```