Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматриваются наиболее распространенные методы, которые можно использовать для упрощения правил для динамических групп членства. Правила, которые являются более простыми и эффективными, приводят к улучшению времени обработки динамических групп.
При написании правил членства в динамических группах членства следуйте рекомендациям, приведенным в этой статье, чтобы обеспечить максимально эффективное создание этих правил.
Минимизация использования оператора -match
Максимально сведите к минимуму использование оператора -match
в правилах. Вместо этого изучите, можно ли использовать оператор -startswith
или оператор -eq
. Рассмотрите возможность использования других свойств, позволяющих создавать правила для выбора пользователей для группы без использования -match
оператора.
Например, если требуется правило для группы, содержащей всех пользователей, город которых — Лагос, не используйте следующие правила:
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"