Pravidla dynamického členství pro skupiny v Azure Active Directory
V Azure Active Directory (Azure AD) můžete vytvořit složitá pravidla založená na atributech, která povolí dynamická členství ve skupinách. Dynamické členství ve skupinách snižuje administrativní režii při přidávání a odebírání uživatelů. Tento článek podrobně popisuje vlastnosti a syntaxi pro vytváření pravidel dynamického členství pro uživatele nebo zařízení. Můžete nastavit pravidlo pro dynamické členství ve skupinách zabezpečení nebo Microsoft 365 skupinách.
Když se jakékoli atributy uživatele nebo zařízení změní, systém vyhodnotí všechna pravidla dynamických skupin v adresáři a zobrazí, jestli by tato změna nespouštěl přidání nebo odebrání nějaké skupiny. Pokud uživatel nebo zařízení splňuje pravidlo pro skupinu, přidá se jako člen této skupiny. Pokud už pravidlo nesplňuje, jsou odebrány. Člena dynamické skupiny nemůžete ručně přidat ani odebrat.
- Dynamickou skupinu můžete vytvořit pro zařízení nebo pro uživatele, ale nemůžete vytvořit pravidlo, které bude obsahovat uživatele i zařízení.
- Skupinu zařízení nemůžete vytvořit na základě atributů vlastníků zařízení. Pravidla členství zařízení mohou odkazovat jenom na atributy zařízení.
Poznámka
Tato funkce vyžaduje Azure AD Premium P1 nebo Intune for Education pro každého jedinečného uživatele, který je členem jedné nebo více dynamických skupin. Nemusíte přiřazovat licence uživatelům, aby byli členy dynamických skupin, ale musíte mít minimální počet licencí v organizaci Azure AD, aby bylo možné pokrýt všechny tyto uživatele. Pokud byste například měli celkem 1 000 jedinečných uživatelů ve všech dynamických skupinách ve vaší organizaci, potřebovali byste alespoň 1 000 licencí pro Azure AD Premium P1 splnění licenčních požadavků. Pro zařízení, která jsou členy dynamické skupiny zařízení, se nevyžaduje žádná licence.
Tvůrce pravidel v Azure Portal
Azure AD poskytuje tvůrce pravidel, který umožňuje rychleji vytvářet a aktualizovat důležitá pravidla. Tvůrce pravidel podporuje vytváření až pěti výrazů. Tvůrce pravidel usnadňuje vytvoření pravidla s několika jednoduchými výrazy, ale nelze ho použít k reprodukci každého pravidla. Pokud tvůrce pravidel nepodporuje pravidlo, které chcete vytvořit, můžete použít textové pole.
Tady je několik příkladů rozšířených pravidel nebo syntaxe, pro které doporučujeme vytvořit sestavení pomocí textového pole:
- Pravidlo s více než pěti výrazy
- Pravidlo Přímé sestavy
- Nastavení priority operátorů
- Pravidla s komplexními výrazy; například
(user.proxyAddresses -any (_ -contains "contoso"))
Poznámka
Tvůrce pravidel nemusí být schopen zobrazit některá pravidla vytvořená v textovém poli. Může se zobrazit zpráva, když tvůrce pravidel pravidlo nemůže zobrazit. Tvůrce pravidel nezmění podporovanou syntaxi, ověřování ani zpracování pravidel dynamických skupin žádným způsobem.
Další podrobné pokyny najdete v tématu Vytvoření nebo aktualizace dynamické skupiny.

Syntaxe pravidla pro jeden výraz
Jeden výraz je nejjednodušší forma pravidla členství a má pouze tři části uvedené výše. Pravidlo s jedním výrazem vypadá podobně jako toto: , kde syntaxe vlastnosti je Property Operator Value název object.property.
Následuje příklad správně sestavené pravidla členství s jediným výrazem:
user.department -eq "Sales"
Závorky jsou pro jeden výraz volitelné. Celková délka textu pravidla členství nesmí překročit 3 072 znaků.
Vytvoření textu pravidla členství
Pravidlo členství, které automaticky naplní skupinu uživateli nebo zařízeními, je binární výraz, který má za výsledek hodnotu true nebo false. Toto jsou tři části jednoduchého pravidla:
- Vlastnost
- Operátor
- Hodnota
Pořadí částí ve výrazu je důležité, abyste se vyhnuli chybám syntaxe.
Podporované vlastnosti
Existují tři typy vlastností, které lze použít k vytvoření pravidla členství.
- Logická hodnota
- Řetězec
- Kolekce řetězců
Následuje seznam vlastností uživatele, které můžete použít k vytvoření jednoho výrazu.
Vlastnosti typu boolean
| Vlastnosti | Povolené hodnoty | Využití |
|---|---|---|
| accountEnabled | true false | user.accountEnabled -eq true |
| dirSyncEnabled | true false | user.dirSyncEnabled -eq true |
Vlastnosti řetězce typu
| Vlastnosti | Povolené hodnoty | Využití |
|---|---|---|
| city | Libovolná řetězcová hodnota nebo hodnota null | (user.city -eq "value") |
| country | Libovolná řetězcová hodnota nebo hodnota null | (user.country -eq "value") |
| Companyname | Libovolná řetězcová hodnota nebo hodnota null | (user.companyName -eq "value") |
| Oddělení | Libovolná řetězcová hodnota nebo hodnota null | (user.department -eq "value") |
| displayName | Libovolná řetězcová hodnota | (user.displayName -eq "value") |
| Employeeid | Libovolná řetězcová hodnota | (user.employeeId -eq "value") (user.employeeId -ne null) |
| facsimileTelephoneNumber | Libovolná řetězcová hodnota nebo hodnota null | (user.facsimileTelephoneNumber -eq "value") |
| givenName | Libovolná řetězcová hodnota nebo hodnota null | (user.givenName -eq "value") |
| jobTitle | Libovolná řetězcová hodnota nebo hodnota null | (user.jobTitle -eq "value") |
| pošta | Libovolná řetězcová hodnota nebo hodnota null (adresa SMTP uživatele) | (user.mail -eq "value") |
| mailNickName | Libovolná řetězcová hodnota (e-mailový alias uživatele) | (user.mailNickName -eq "value") |
| mobil | Libovolná hodnota řetězce nebo hodnota null | (User. Mobile-EQ "value") |
| objectId | Identifikátor GUID objektu uživatele | (User. objectId-EQ "11111111-1111-1111-1111-111111111111") |
| onPremisesSecurityIdentifier | Místní identifikátor zabezpečení (SID) pro uživatele, kteří byli synchronizováni z místního prostředí do cloudu. | (User. onPremisesSecurityIdentifier-EQ "S-1-1-11-1111111111-1111111111-1111111111-1111111") |
| passwordPolicies | Žádné DisableStrongPassword DisablePasswordExpiration DisablePasswordExpiration, DisableStrongPassword | (User. passwordPolicies-EQ "DisableStrongPassword") |
| physicalDeliveryOfficeName | Libovolná hodnota řetězce nebo hodnota null | (User. physicalDeliveryOfficeName-EQ "value") |
| postalCode | Libovolná hodnota řetězce nebo hodnota null | (User. postalCode-EQ "hodnota") |
| preferredLanguage | Kód ISO 639-1 | (User. preferredLanguage-EQ "en-US") |
| sipProxyAddress | Libovolná hodnota řetězce nebo hodnota null | (User. sipProxyAddress-EQ "value") |
| state | Libovolná hodnota řetězce nebo hodnota null | (User. State-EQ "value") |
| streetAddress | Libovolná hodnota řetězce nebo hodnota null | (User. streetAddress-EQ "value") |
| surname | Libovolná hodnota řetězce nebo hodnota null | (User. příjmení-EQ "hodnota") |
| telephoneNumber | Libovolná hodnota řetězce nebo hodnota null | (User. telephoneNumber-EQ "value") |
| usageLocation | Dva směrové číslo země/oblasti | (User. usageLocation-EQ "US") |
| userPrincipalName (Hlavní název uživatele) | Libovolná hodnota řetězce | (User. userPrincipalName-EQ " alias@domain ") |
| userType | člen typu host null | (User. userType-EQ "Member") |
Vlastnosti kolekce řetězců typu
| Vlastnosti | Povolené hodnoty | Využití |
|---|---|---|
| otherMails | Libovolná hodnota řetězce | (User. otherMails-Contains " alias@domain ") |
| proxyAddresses | SMTP: alias@domain SMTP: alias@domain | (User. proxyAddresses-obsahuje "SMTP: alias@domain ") |
Vlastnosti používané pro pravidla zařízení najdete v tématu pravidla pro zařízení.
Podporované operátory výrazů
V následující tabulce jsou uvedeny všechny podporované operátory a jejich syntaxe pro jeden výraz. Operátory lze použít s předponou spojovníku (-) nebo bez ní. Operátor Contains provede částečnou shodu řetězců, ale neshoduje se s položkou v kolekci.
| Operátor | Syntax |
|---|---|
| Nerovná se | -Ne |
| Je rovno | – EQ |
| Nezačíná na | -notStartsWith |
| Začíná na | – startsWith |
| Neobsahuje | -notContains |
| Contains | -obsahuje |
| Neodpovídá | -notMatch |
| Shoda | – shoda |
| V | -in |
| Není v | -notIn |
Používání operátorů-in a-notIn
Pokud chcete porovnat hodnotu atributu uživatele s řadou různých hodnot, můžete použít operátory-in nebo-notIn. K zahájení a ukončení seznamu hodnot použijte symboly závorek "[" a "]".
V následujícím příkladu se výraz vyhodnotí jako true, pokud se hodnota User. Department rovná libovolné hodnotě v seznamu:
user.department -in ["50001","50002","50003","50005","50006","50007","50008","50016","50020","50024","50038","50039","51100"]
Použití operátoru-Match
Operátor -Match se používá pro porovnávání libovolného regulárního výrazu. Příklady:
user.displayName -match "Da.*"
Hodnota da, dav, David vyhodnocena jako true, hodnota aDa je vyhodnocena jako false.
user.displayName -match ".*vid"
David se vyhodnotí jako true, da se vyhodnotí jako false.
Podporované hodnoty
Hodnoty použité ve výrazu mohou sestávat z několika typů, včetně:
- Řetězce
- Logická hodnota – true, false
- Čísla
- Pole – číselné pole, pole řetězců
Při zadávání hodnoty v rámci výrazu je důležité použít správnou syntaxi, aby nedocházelo k chybám. Zde jsou některé tipy syntaxe:
- Dvojité uvozovky jsou volitelné, pokud hodnota není řetězec.
- Operace řetězců a regulárních výrazů rozlišují malá a velká písmena.
- Pokud řetězcová hodnota obsahuje dvojité uvozovky, měly by být obě uvozovky uvozeny znakem , například ` user.department -eq "Sales" je správná syntaxe, pokud je hodnota ` ` "Sales". Jednoduché uvozovky by měly být pokaždé uvozeny dvěma jednoduchými uvozovkami místo jedné.
- Můžete také provést kontroly hodnoty Null a jako hodnotu použít hodnotu null, například
user.department -eq null.
Použití hodnot Null
Pokud chcete v pravidle zadat hodnotu null, můžete použít hodnotu null.
- Při porovnávání hodnoty null ve výrazu použijte -eq nebo -ne.
- Uvozovky kolem slova null používejte jenom v případě, že chcete, aby se interpretoval jako řetězcová hodnota literálu.
- Operátor -not nelze použít jako srovnávací operátor pro hodnotu null. Pokud ji použijete, zobrazí se chyba bez ohledu na to, jestli používáte hodnotu null nebo $null.
Správný způsob, jak odkazovat na hodnotu null, je následující:
user.mail –ne null
Pravidla s více výrazy
Pravidlo členství ve skupině se může skládat z více než jednoho výrazu připojeného logickými operátory -and, -or a -not. Logické operátory lze také použít v kombinaci.
Tady jsou příklady správně vytvořených pravidel členství s více výrazy:
(user.department -eq "Sales") -or (user.department -eq "Marketing")
(user.department -eq "Sales") -and -not (user.jobTitle -contains "SDE")
Priorita operátorů
Všechny operátory jsou uvedené níže v pořadí podle priority od nejvyššího po nejnižší. Operátory na stejném řádku mají stejnou prioritu:
-eq -ne -startsWith -notStartsWith -contains -notContains -match –notMatch -in -notIn
-not
-and
-or
-any -all
Následuje příklad priority operátorů, kde se pro uživatele vyhodnocují dva výrazy:
user.department –eq "Marketing" –and user.country –eq "US"
Závorky jsou potřeba jenom v případě, že priorita nesplňuje vaše požadavky. Pokud například chcete, aby se oddělení vyhodnotili jako první, následující příklad ukazuje, jak lze pomocí závorek určit pořadí:
user.country –eq "US" –and (user.department –eq "Marketing" –or user.department –eq "Sales")
Pravidla s komplexními výrazy
Pravidlo členství se může skládat ze složitých výrazů, ve kterých mají vlastnosti, operátory a hodnoty složitější podobu. Výrazy se považují za složité, pokud platí kterákoli z následujících podmínek:
- Vlastnost se skládá z kolekce hodnot. konkrétně vlastnosti s více hodnotami
- Výrazy používají operátory -any a -all.
- Hodnota výrazu může být sama o sobě jedním nebo více výrazy.
Vlastnosti s více hodnotami
Vlastnosti s více hodnotami jsou kolekce objektů stejného typu. Lze je použít k vytvoření pravidel členství pomocí logických operátorů -any a -all.
| Vlastnosti | Hodnoty | Využití |
|---|---|---|
| assignedPlans | Každý objekt v kolekci zpřístupňuje následující vlastnosti řetězce: capabilityStatus, service, servicePlanId. | user.assignedPlans -any (assignedPlan.servicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and assignedPlan.capabilityStatus -eq "Enabled") |
| proxyAddresses | SMTP: alias@domain smtp: alias@domain | (user.proxyAddresses -any ( _ -contains "contoso")) |
Použití operátorů -any a -all
Pomocí operátorů -any a -all můžete použít podmínku na jednu nebo všechny položky v kolekci.
- -any (splněno, pokud alespoň jedna položka v kolekci odpovídá podmínce)
- -all (splněno, když všechny položky v kolekci odpovídají podmínce)
Příklad 1
assignedPlans je vlastnost s více hodnotami, která obsahuje seznam všech plánů služeb přiřazených uživateli. Následující výraz vybere uživatele, kteří mají plán služby Exchange Online (Plán 2) (jako hodnotu GUID), který je také ve stavu Povoleno:
user.assignedPlans -any (assignedPlan.servicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and assignedPlan.capabilityStatus -eq "Enabled")
Pravidlo, jako je toto, můžete použít k seskupení všech uživatelů, pro které je povolená Microsoft 365 (nebo jiná online služba Microsoftu). Pak můžete použít se skupinou zásad pro skupinu.
Příklad 2
Následující výraz vybere všechny uživatele, kteří mají jakýkoli plán služby přidružený ke službě Intune (identifikovaný názvem služby "SCO"):
user.assignedPlans -any (assignedPlan.service -eq "SCO" -and assignedPlan.capabilityStatus -eq "Enabled")
Příklad 3
Následující výraz vybere všechny uživatele, kteří nemají přiřazený plán služby:
user.assignedPlans -all (assignedPlan.servicePlanId -eq "")
Použití syntaxe podtržítka ( _ )
Syntaxe podtržítka ( ) odpovídá výskytům konkrétní hodnoty v jedné z vícehodnotových vlastností kolekce řetězců pro přidání uživatelů _ nebo zařízení do dynamické skupiny. Používá se s operátory -any nebo -all.
Tady je příklad použití podtržítka ( ) v pravidle pro přidání členů založených na _ user.proxyAddress (funguje stejně pro user.otherMails). Toto pravidlo přidá do skupiny libovolného uživatele s adresou proxy serveru, který obsahuje contoso.
(user.proxyAddresses -any (_ -contains "contoso"))
Další vlastnosti a běžná pravidla
Vytvoření pravidla "Přímé sestavy"
Můžete vytvořit skupinu obsahující všechny přímé sestavy manažera. Když se přímé sestavy manažera v budoucnu změní, členství ve skupině se automaticky upraví.
Pravidlo přímých sestav je vytvořeno pomocí následující syntaxe:
Direct Reports for "{objectID_of_manager}"
Tady je příklad platného pravidla, kde 62e19b97-8b3d-4d4a-a106-4ce66896a863 je objectID správce:
Direct Reports for "62e19b97-8b3d-4d4a-a106-4ce66896a863"
Následující tipy vám můžou pomoct správně používat pravidlo.
- ID manažera je ID objektu manažera. Najdete ho v profilu manažera.
- Aby pravidlo fungovalo, ujistěte se, že je pro uživatele ve vaší organizaci správně nastavená vlastnost Manager. Aktuální hodnotu můžete zkontrolovat v profilu uživatele.
- Toto pravidlo podporuje pouze přímé sestavy manažera. Jinými slovy nemůžete vytvořit skupinu s přímými a jejich zprávami manažera.
- Toto pravidlo nelze kombinovat s žádnými jinými pravidly členství.
Vytvoření pravidla Všichni uživatelé
Pomocí pravidla členství můžete vytvořit skupinu obsahující všechny uživatele v organizaci. Když v budoucnu uživatele přidáte nebo odeberete z organizace, členství ve skupině se automaticky upraví.
Pravidlo Všichni uživatelé je vytvořeno pomocí jednoho výrazu pomocí operátoru -ne a hodnoty null. Toto pravidlo přidá do skupiny uživatele B2B hosta i členské uživatele.
user.objectId -ne null
Pokud chcete, aby vaše skupina vyloučila uživatele typu host a zahrnovala pouze členy vaší organizace, můžete použít následující syntaxi:
(user.objectId -ne null) -and (user.userType -eq "Member")
Vytvoření pravidla Všechna zařízení
Pomocí pravidla členství můžete vytvořit skupinu obsahující všechna zařízení v organizaci. Při budoucím přidání nebo odebrání zařízení z organizace se členství ve skupině automaticky upraví.
Pravidlo "Všechna zařízení" se zkonstruováno pomocí jednoho výrazu pomocí operátoru -ne a hodnoty null:
device.objectId -ne null
Vlastnosti rozšíření a vlastní vlastnosti rozšíření
Atributy rozšíření a vlastní vlastnosti rozšíření jsou podporovány jako vlastnosti řetězce v pravidlech dynamického členství. Atributy rozšíření se synchronizují z místní služby AD Windows Serveru a přechytají formát ExtensionAttributeX, kde X se rovná 1 až 15. Tady je příklad pravidla, které jako vlastnost používá atribut rozšíření:
(user.extensionAttribute15 -eq "Marketing")
Vlastní vlastnosti rozšíření se synchronizují z místního Windows Server AD nebo z připojené aplikace SaaS a mají formát user.extension_[GUID]_[Attribute] , kde:
- [GUID] je jedinečný identifikátor v Azure AD pro aplikaci, která vytvořila vlastnost v Azure AD.
- [Attribute] je název vlastnosti, kterou jste vytvořili.
Příkladem pravidla, které používá vlastní vlastnost rozšíření, je:
user.extension_c272a57b722d4eb29bfe327874ae79cb_OfficeNumber -eq "123"
Název vlastní vlastnosti lze najít v adresáři dotazem na vlastnost uživatele pomocí Graph Exploreru a vyhledáním názvu vlastnosti. V tvůrci pravidel dynamických skupin uživatelů teď také můžete vybrat odkaz Získat vlastní vlastnosti rozšíření a zadat jedinečné ID aplikace a získat úplný seznam vlastních vlastností rozšíření, které se mají použít při vytváření dynamického pravidla členství. Tento seznam můžete také aktualizovat, abyste pro tuto aplikaci mohli získat nové vlastnosti vlastního rozšíření.
Další informace najdete v tématu Použití atributů v dynamických skupinách v článku Synchronizace služby Azure AD Připojení: Rozšíření adresáře.
Pravidla pro zařízení
Můžete také vytvořit pravidlo, které vybere objekty zařízení pro členství ve skupině. Jako členy skupiny nemůžete mít uživatele ani zařízení.
Poznámka
Atribut organizationalUnit už není uvedený a neměl by se používat. Tento řetězec intune nastavuje v určitých případech, ale Azure AD ho nerozpozná, takže se do skupin na základě tohoto atributu nepřidávají žádná zařízení.
Poznámka
systemlabels je atribut jen pro čtení, který se v Intune nemůže nastavit.
Například Windows 10, správný formát atributu deviceOSVersion je následující: (device.deviceOSVersion -eq "10.0.17763"). Formátování lze ověřit pomocí rutiny prostředí PowerShell Get-MsolDevice.
Je možné použít následující atributy zařízení.
| Atribut zařízení | Hodnoty | Příklad |
|---|---|---|
| accountEnabled | true false | (Device. accountEnabled-EQ true) |
| displayName | libovolná hodnota řetězce | (Device. DisplayName-EQ "Rob iPhone") |
| deviceOSType | libovolná hodnota řetězce | (device. deviceOSType-eq "iPad")-nebo (device. deviceOSType-eq "iPhone") (Device. deviceOSType-obsahuje "AndroidEnterprise") (Device. deviceOSType-EQ "AndroidForWork") (Device. deviceOSType-EQ "Windows") |
| deviceOSVersion | libovolná hodnota řetězce | (Device. deviceOSVersion-EQ "9,1") (Device. deviceOSVersion-EQ "10.0.17763.0") |
| deviceCategory | platný název kategorie zařízení | (Device. deviceCategory-EQ "BYOD") |
| deviceManufacturer | libovolná hodnota řetězce | (Device. deviceManufacturer-EQ "Samsung") |
| deviceModel | libovolná hodnota řetězce | (device. deviceModel-eq "iPad vzduch") |
| deviceOwnership | Osobní, společnost, neznámá | (Device. deviceOwnership-EQ "společnost") |
| enrollmentProfileName | název profilu registrace zařízení Apple, Android Enterprise název profilu registrace vyhrazené zařízení ve vlastnictví firmy nebo název profilu Windows autopilotu | (zařízení. enrollmentProfileName-EQ "DEP – iPhone") |
| s kořenem | true false | (Device.-rooted-EQ true) |
| managementType | MDM (pro mobilní zařízení) | (Device. managementType-EQ "MDM") |
| deviceId | platné ID zařízení Azure AD | (Device. deviceId-EQ "d4fe7726-5966-431c-b3b8-cddc8fdb717d") |
| objectId | platné ID objektu Azure AD | (Device. objectId-EQ "76ad43c9-32c5-45e8-a272-7b58b58f596d") |
| devicePhysicalIds | libovolná hodnota řetězce používaná autopilotem, například všechna zařízení s autopilotem, ČísloObjednávky nebo PurchaseOrderID | (Device. devicePhysicalIDs-any _-obsahuje "[ZTDId]") (Device. devicePhysicalIds-any _-EQ "[ČísloObjednávky]: 179887111881") (Device. devicePhysicalIds-any _-EQ "[PurchaseOrderId]: 76222342342") |
| systemLabels | libovolný řetězec odpovídající vlastnosti zařízení Intune pro označování moderních zařízení na pracovišti | (Device. systemLabels-obsahuje "M365Managed") |
Poznámka
Pro deviceOwnership při vytváření dynamických skupin pro zařízení musíte nastavit hodnotu rovnou "společnost". V Intune se vlastnictví zařízení prezentuje jako firemní. Další podrobnosti najdete v tématu OwnerTypes .
Další kroky
Tyto články poskytují další informace o skupinách v Azure Active Directory.