Microsoft Entra 連線:設定 AD DS 連線or 帳戶許可權

名為 ADSyncConfig.psm1 的 PowerShell 模組是引進組建 1.1.880.0(于 2018 年 8 月發行),其中包含 Cmdlet 集合,以協助您為 Microsoft Entra 連線 部署設定正確的 Active Directory 許可權。

概觀

下列 PowerShell Cmdlet 可用來設定 AD DS 連線or 帳戶的 Active Directory 許可權,針對您在 Microsoft Entra 連線 中選取啟用的每個功能。 若要避免任何問題,每當您想要使用自訂網域帳戶安裝 Microsoft Entra 連線以連線到您的樹系時,您應該事先準備 Active Directory 許可權。 部署 Microsoft Entra 連線之後,也可以使用這個 ADSyncConfig 模組來設定許可權。

overview of ad ds account

針對 Microsoft Entra 連線 Express 安裝,會自動產生的帳戶 (MSOL_nnnnnnnnnn) 會以所有必要的許可權在 Active Directory 中建立,因此,除非您在組織單位或您想要同步處理至 Microsoft Entra ID 的特定 Active Directory 物件上封鎖許可權繼承,否則不需要使用此 ADSyncConfig 模組。

許可權摘要

下表提供 AD 物件所需許可權的摘要:

功能 權限
ms-DS-ConsistencyGuid 功能 在設計概念 - 使用 ms-DS-ConsistencyGuid 作為 sourceAnchor 記載之 ms-DS-ConsistencyGuid 屬性的讀取和寫入權限。
密碼雜湊同步處理
  • 複寫目錄變更 - 基本唯讀的必要專案
  • 複寫目錄變更 (全部)
  • Exchange 混合式部署 讀取和寫入 Exchange 混合式回 寫中所 記載之使用者、群組和連絡人的屬性許可權。
    Exchange 郵件公用資料夾 公用資料夾屬性 (詳情記載於 Exchange 郵件公用資料夾) 的讀取權限。
    密碼回寫 使用者開始使用密碼管理 中所述 之屬性的讀取和寫入權限。
    裝置回寫 裝置回 寫中記載之裝置物件和容器的 讀取和寫入權限。
    群組回寫 已同步 處理 Office 365 群組的讀取、建立、更新和刪除群組 物件。

    使用 ADSyncConfig PowerShell 模組

    ADSyncConfig 模組需要 AD DS 的遠端伺服器管理員istration Tools (RSAT),因為它取決於 AD DS PowerShell 模組和工具。 若要安裝 AD DS 的 RSAT,請使用 [執行身分管理員istrator] 開啟 Windows PowerShell 視窗,然後執行:

    Install-WindowsFeature RSAT-AD-Tools 
    

    Configure

    注意

    您也可以將 C:\Program Files\Microsoft Entra 連線\AdSyncConfig\ADSyncConfig.psm1 檔案 複製到已安裝 AD DS RSAT 的網域控制站,並從該處使用此 PowerShell 模組。 請注意,某些 Cmdlet 只能在裝載 Microsoft Entra 連線的電腦上執行。

    若要開始使用 ADSyncConfig,您需要在 Windows PowerShell 視窗中載入模組:

    Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1" 
    

    若要檢查此課程模組中包含的所有 Cmdlet,您可以輸入:

    Get-Command -Module AdSyncConfig  
    

    Check

    每個 Cmdlet 都有相同的參數來輸入 AD DS 連線or Account 和 管理員SDHolder 參數。 若要指定 AD DS 連線or 帳戶,您可以提供帳戶名稱和網域,或只提供帳戶辨別名稱 (DN),

    例如:

    Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountName <ADAccountName> -ADConnectorAccountDomain <ADDomainName>
    

    Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountDN <ADAccountDN>
    

    請務必將 和 <ADDomainName><ADAccountDN> 取代 <ADAccountName> 為您環境的適當值。

    如果您想要修改 管理員SDHolder 容器的許可權,請使用 參數 -IncludeAdminSdHolders 。 請注意,不建議這麼做。

    根據預設,所有設定許可權 Cmdlet 都會嘗試在樹系中每個網域的根目錄設定 AD DS 許可權,這表示執行 PowerShell 會話的使用者需要樹系中每個網域的網域管理員istrator 許可權。 基於這項需求,建議從樹系根目錄使用 Enterprise 管理員istrator。 如果您的 Microsoft Entra 連線部署有多個 AD DS 連線ors,則必須在具有 AD DS 連線or 的每個樹系上執行相同的 Cmdlet。

    您也可以使用 參數 -ADobjectDN 來設定特定 OU 或 AD DS 物件的許可權,後面接著您要設定許可權的目標物件的 DN。 使用目標 ADobjectDN 時,Cmdlet 只會在此物件上設定許可權,而不是在網域根目錄或管理員SDHolder 容器上設定許可權。 當您的特定 OU 或 AD DS 物件已停用許可權繼承時,此參數很有用(請參閱找出已停用許可權繼承的 AD DS 物件)

    這些常見參數的例外狀況是 Set-ADSyncRestrictedPermissions Cmdlet,用來設定 AD DS 連線or Account 本身的許可權,以及 Set-ADSyncPasswordHashSyncPermissions Cmdlet,因為密碼雜湊同步所需的許可權只會在網域根目錄設定,因此此 Cmdlet 不包含 -ObjectDN-IncludeAdminSdHolders 參數。

    判斷您的 AD DS 連線or 帳戶

    如果已安裝 Microsoft Entra 連線,而且您想要檢查 Microsoft Entra 連線目前使用中的 AD DS 連線or 帳戶,您可以執行 Cmdlet:

    Get-ADSyncADConnectorAccount 
    

    找出停用許可權繼承的 AD DS 物件

    如果您想要檢查是否有任何 AD DS 物件已停用許可權繼承,您可以執行:

    Get-ADSyncObjectsWithInheritanceDisabled -SearchBase '<DistinguishedName>' 
    

    根據預設,此 Cmdlet 只會尋找具有停用繼承的 OU,但您可以在 參數中 -ObjectClass 指定其他 AD DS 物件類別,或對所有物件類別使用 '*',如下所示:

    Get-ADSyncObjectsWithInheritanceDisabled -SearchBase '<DistinguishedName>' -ObjectClass * 
    

    檢視物件的 AD DS 許可權

    您可以使用下列 Cmdlet 來檢視 Active Directory 物件上目前設定的許可權清單,方法是提供其 DistinguishedName:

    Show-ADSyncADObjectPermissions -ADobjectDN '<DistinguishedName>' 
    

    設定 AD DS 連接器帳戶權限

    設定基本唯讀許可權

    若要在不使用任何 Microsoft Entra 連線 功能時,設定 AD DS 連線or 帳戶的基本唯讀許可權,請執行:

    Set-ADSyncBasicReadPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [-IncludeAdminSdHolders] [<CommonParameters>] 
    

    或;

    Set-ADSyncBasicReadPermissions -ADConnectorAccountDN <String> [-ADobjectDN <String>] [<CommonParameters>] 
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 讀取全部內容 子系裝置物件
    允許 AD DS 連線or 帳戶 讀取全部內容 Descendant InetOrgPerson 物件
    允許 AD DS 連線or 帳戶 讀取全部內容 子系 Computer 物件
    允許 AD DS 連線or 帳戶 讀取全部內容 Descendant foreignSecurityPrincipal 物件
    允許 AD DS 連線or 帳戶 讀取全部內容 子系群組物件
    允許 AD DS 連線or 帳戶 讀取全部內容 子系使用者物件
    允許 AD DS 連線or 帳戶 讀取全部內容 子系連絡人物件
    允許 AD DS 連線or 帳戶 複寫目錄變更 僅限此物件 (網域根目錄)

    設定 MS-DS-Consistency-Guid 許可權

    若要在使用 ms-Ds-Consistency-Guid 屬性做為來源錨點時設定 AD DS 連線or 帳戶的許可權(也稱為「讓 Azure 管理我的來源錨點」選項),請執行:

    Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [-IncludeAdminSdHolders] [<CommonParameters>] 
    

    或;

    Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountDN <String> [-ADobjectDN <String>] [<CommonParameters>] 
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 讀取/寫入屬性 子系使用者物件

    密碼雜湊同步處理的許可權

    若要在使用密碼雜湊同步處理時設定 AD DS 連線or 帳戶的許可權,請執行:

    Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [<CommonParameters>] 
    

    或;

    Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountDN <String> [<CommonParameters>] 
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 複寫目錄變更 僅限此物件 (網域根目錄)
    允許 AD DS 連線or 帳戶 複寫目錄變更全部 僅限此物件 (網域根目錄)

    密碼回寫的許可權

    若要在使用密碼回寫時設定 AD DS 連線or 帳戶的許可權,請執行:

    Set-ADSyncPasswordWritebackPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [-IncludeAdminSdHolders] [<CommonParameters>] 
    

    或;

    Set-ADSyncPasswordWritebackPermissions -ADConnectorAccountDN <String> [-ADobjectDN <String>] [<CommonParameters>] 
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 重設密碼 子系使用者物件
    允許 AD DS 連線or 帳戶 寫入屬性 lockoutTime 子系使用者物件
    允許 AD DS 連線or 帳戶 Write 屬性 pwdLastSet 子系使用者物件

    群組回寫的許可權

    若要在使用群組回寫時設定 AD DS 連線or 帳戶的許可權,請執行:

    Set-ADSyncUnifiedGroupWritebackPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [-IncludeAdminSdHolders] [<CommonParameters>] 
    

    或;

    Set-ADSyncUnifiedGroupWritebackPermissions -ADConnectorAccountDN <String> [-ADobjectDN <String>] [<CommonParameters>]
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 一般讀取/寫入 物件類型群組和子物件的所有屬性
    允許 AD DS 連線or 帳戶 建立/刪除子物件 物件類型群組和子物件的所有屬性
    允許 AD DS 連線or 帳戶 刪除/刪除樹狀目錄物件 物件類型群組和子物件的所有屬性

    Exchange 混合式部署的許可權

    若要在使用 Exchange 混合式部署時設定 AD DS 連線or 帳戶的許可權,請執行:

    Set-ADSyncExchangeHybridPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [-IncludeAdminSdHolders] [<CommonParameters>] 
    

    或;

    Set-ADSyncExchangeHybridPermissions -ADConnectorAccountDN <String> [-ADobjectDN <String>] [<CommonParameters>] 
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 讀取/寫入所有屬性 子系使用者物件
    允許 AD DS 連線or 帳戶 讀取/寫入所有屬性 Descendant InetOrgPerson 物件
    允許 AD DS 連線or 帳戶 讀取/寫入所有屬性 子系群組物件
    允許 AD DS 連線or 帳戶 讀取/寫入所有屬性 子系連絡人物件

    Exchange Mail 公用資料夾的許可權

    若要在使用 Exchange Mail 公用資料夾功能時設定 AD DS 連線or 帳戶的許可權,請執行:

    Set-ADSyncExchangeMailPublicFolderPermissions -ADConnectorAccountName <String> -ADConnectorAccountDomain <String> [-IncludeAdminSdHolders] [<CommonParameters>] 
    

    或;

    Set-ADSyncExchangeMailPublicFolderPermissions -ADConnectorAccountDN <String> [-ADobjectDN <String>] [<CommonParameters>] 
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 AD DS 連線or 帳戶 讀取全部內容 子系 PublicFolder 物件

    限制 AD DS 連線or 帳戶的許可權

    此 PowerShell 腳本會將 AD 連線or 帳戶的許可權收緊為參數。 收緊許可權牽涉到下列步驟:

    • 停用指定物件的繼承

    • 移除特定物件上的所有 ACE,除了 ACE 專屬於 SELF 之外,因為我們想要在與 SELF 相關的預設許可權保持不變時保留預設許可權。

      -AD連線orAccountDN 參數是需要收緊許可權的 AD 帳戶。 這通常是在 AD DS 連線or 中設定的MSOL_nnnnnnnnnnnn網域帳戶(請參閱判斷您的 AD DS 連線or 帳戶)。 -Credential 參數必須指定具有限制目標 AD 物件之 Active Directory 許可權的管理員istrator 帳戶(此帳戶必須與 AD連線orAccountDN 帳戶不同)。 這通常是 Enterprise 或 Domain 管理員istrator。

    Set-ADSyncRestrictedPermissions [-ADConnectorAccountDN] <String> [-Credential] <PSCredential> [-DisableCredentialValidation] [-WhatIf] [-Confirm] [<CommonParameters>] 
    

    例如:

    $credential = Get-Credential 
    Set-ADSyncRestrictedPermissions -ADConnectorAccountDN 'CN=ADConnectorAccount,OU=Users,DC=Contoso,DC=com' -Credential $credential  
    

    此 Cmdlet 會設定下列許可權:

    類型 名稱 存取 套用至
    允許 系統 完全控制 這個物件
    允許 Enterprise Admins 完全控制 這個物件
    允許 Domain Admins 完全控制 這個物件
    允許 系統管理員 完全控制 這個物件
    允許 Enterprise Domain Controllers 列出內容 這個物件
    允許 Enterprise Domain Controllers 讀取所有屬性 這個物件
    允許 Enterprise Domain Controllers 讀取權限 這個物件
    允許 已驗證的使用者 列出內容 這個物件
    允許 已驗證的使用者 讀取所有屬性 這個物件
    允許 已驗證的使用者 讀取權限 這個物件

    後續步驟