Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przegląd
W tym artykule omówiono najbardziej typowe metody, których można użyć do uproszczenia reguł dla dynamicznych grup członkostwa. Reguły, które są prostsze i wydajniejsze powodują lepsze czasy przetwarzania dla grup dynamicznych.
Podczas pisania reguł członkostwa dla dynamicznych grup członkostwa postępuj zgodnie z poradami w tym artykule, aby upewnić się, że te reguły są tak wydajne, jak to możliwe.
Zminimalizowanie użycia operatora -match
Zminimalizuj użycie operatora -match w regułach, jak to tylko możliwe. Zamiast tego sprawdź, czy można użyć operatora -startsWith, -endsWith lub -eq.
-eq jest preferowany, gdy jest znana pełna wartość atrybutu; -startsWith i -endsWith są najwydajniejsze, gdy znany jest tylko prefiks lub sufiks. Rozważ użycie innych właściwości, które umożliwiają pisanie reguł w celu wybrania użytkowników dla grupy bez użycia -match operatora.
Jeśli na przykład chcesz utworzyć regułę dla grupy zawierającej wszystkich użytkowników, których miasto to Lagos, nie używaj reguły podobnej do następującej:
user.city -match "ago"user.city -match ".*?ago.*"
Lepiej użyć reguły podobnej do tego przykładu:
user.city -startsWith "Lag"
Lub, najlepiej ze wszystkich:
user.city -eq "Lagos"
Podobnie w przypadku reguł domeny poczty e-mail nie należy używać:
- user.mail -match ".*@Contoso.com$"
- user.mail -notMatch ".*@Contoso.com$"
Lepiej użyć:
- user.userPrincipalName -endsWith "@Contoso.com"
- user.mail -notEndsWith "@Contoso.com"
Zminimalizowanie użycia operatora -contains
Podobnie jak w przypadku -match, zminimalizuj użycie operatora -contains w regułach tak, jak najmniej. Zamiast tego sprawdź, czy można użyć operatora -startsWith, -endsWith lub -eq. Użycie -contains może zwiększyć czas przetwarzania, szczególnie w przypadku najemców, którzy mają wiele dynamicznych grup członkostwa.
Używanie mniejszej liczby operatorów -or
Zidentyfikuj, kiedy reguła używa różnych wartości dla tej samej właściwości połączonej z operatorami -or . Zamiast tego użyj -in operatora , aby pogrupować je w jedno kryterium. Pojedyncze kryterium ułatwia ocenę reguły.
Na przykład nie używaj reguły podobnej do następującej:
(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")
Lepiej użyć reguły podobnej do tego przykładu:
user.department -eq "Accounts" -and user.city -in ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]
Z drugiej strony zidentyfikuj podobne podkryteria z taką samą właściwością, które nie są równe różnym wartościom, połączonym z operatorami -and. Następnie użyj -notin operatora , aby pogrupować je w jedno kryterium, aby ułatwić zrozumienie i ocenę reguły.
Na przykład nie używaj reguły podobnej do następującej:
(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")
Lepiej użyć reguły podobnej do tego przykładu:
user.city -notin ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]
Unikaj nadmiarowych kryteriów
Upewnij się, że nie używasz kryteriów nadmiarowych w regule. Na przykład nie używaj reguły podobnej do następującej:
user.city -eq "Lagos" or user.city -startswith "Lag"
Lepiej użyć reguły podobnej do tego przykładu:
user.city -startswith "Lag"