共用方式為


在 Microsoft Entra ID 中為組動態成員資格群組建立更簡單且更有效率的規則

本文討論可用來簡化動態成員資格群組規則的最常見方法。 較簡單且更有效率的規則會導致動態群組的處理時間更好。

當您撰寫動態成員資格群組的成員資格規則時,請遵循本文中的秘訣,以確保您盡可能有效率地建立這些規則。

將 -match 運算子的使用降到最低

盡量將 -match 運算元的使用降至最低。 請改為探索是否可以使用 -startswith-eq 運算符。 請考慮使用其他屬性,讓您撰寫規則來選取群組的使用者,而不需使用 -match 運算符。

例如,如果您想要包含城市為 Lagos 之所有使用者的群組規則,請勿使用如下的規則:

  • user.city -match "ago"
  • user.city -match ".*?ago.*"

最好使用類似此範例的規則:

  • user.city -startswith "Lag"

或者,最棒的是:

  • user.city -eq "Lagos"

將 -contains 運算子的使用降到最低

-match 一樣,在規則中盡可能減少使用 -contains 運算符。 請改為探索是否可以使用 -startswith-eq 運算符。 使用 -contains 可增加處理時間,特別是對於具有許多動態成員資格群組的使用者。

使用較少的 -or 運算符

識別規則在使用各種值的相同屬性時,透過運算符 -or 將它們連結在一起。 請改用 -in 運算子將它們分組為單一準則。 單一準則可讓規則更容易評估。

例如,請勿使用如下的規則:

(user.department -eq "Accounts" -and user.city -eq "Lagos") -or 
(user.department -eq "Accounts" -and user.city -eq "Ibadan") -or 
(user.department -eq "Accounts" -and user.city -eq "Kaduna") -or 
(user.department -eq "Accounts" -and user.city -eq "Abuja") -or 
(user.department -eq "Accounts" -and user.city -eq "Port Harcourt")

最好使用類似此範例的規則:

  • user.department -eq "Accounts" -and user.city -in ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]

相反地,識別具有不同於各種值的相同屬性的類似子準則,這些值是與-and運算符相連。 然後使用 -notin 運算子將其分組成單一準則,讓規則更容易了解與評估。

例如,請勿使用如下的規則:

  • (user.city -ne "Lagos") -and (user.city -ne "Ibadan") -and (user.city -ne "Kaduna") -and (user.city -ne "Abuja") -and (user.city -ne "Port Harcourt")

最好使用類似此範例的規則:

  • user.city -notin ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]

避免冗餘的準則

請確定您未在規則中使用備援準則。 例如,請勿使用如下的規則:

  • user.city -eq "Lagos" or user.city -startswith "Lag"

最好使用類似此範例的規則:

  • user.city -startswith "Lag"