Skip to content

Commit cf24202

Browse files
committed
Acrolinx
1 parent a2f8817 commit cf24202

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

articles/active-directory/enterprise-users/groups-dynamic-membership.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ms.collection: M365-identity-device-management
2020

2121
You can create attribute-based rules to enable dynamic membership for a group in Azure Active Directory (Azure AD), part of Microsoft Entra. Dynamic group membership adds and removes group members automatically using membership rules based on member attributes. This article details the properties and syntax to create dynamic membership rules for users or devices. You can set up a rule for dynamic membership on security groups or Microsoft 365 groups.
2222

23-
When any attributes of a user or device change, the system evaluates all dynamic group rules in a directory to see if the change would trigger any group adds or removes. If a user or device satisfies a rule on a group, they are added as a member of that group. If they no longer satisfy the rule, they are removed. You can't manually add or remove a member of a dynamic group.
23+
When the attributes of a user or a device change, the system evaluates all dynamic group rules in a directory to see if the change would trigger any group adds or removes. If a user or device satisfies a rule on a group, they're added as a member of that group. If they no longer satisfy the rule, they're removed. You can't manually add or remove a member of a dynamic group.
2424

2525
- You can create a dynamic group for devices or for users, but you can't create a rule that contains both users and devices.
2626
- You can't create a device group based on the user attributes of the device owner. Device membership rules can reference only device attributes.
@@ -38,7 +38,7 @@ Here are some examples of advanced rules or syntax for which we recommend that y
3838
- Rule with more than five expressions
3939
- The Direct reports rule
4040
- Setting [operator precedence](#operator-precedence)
41-
- [Rules with complex expressions](#rules-with-complex-expressions); for example `(user.proxyAddresses -any (_ -contains "contoso"))`
41+
- [Rules with complex expressions](#rules-with-complex-expressions); for example, `(user.proxyAddresses -any (_ -contains "contoso"))`
4242

4343
> [!NOTE]
4444
> The rule builder might not be able to display some rules constructed in the text box. You might see a message when the rule builder is not able to display the rule. The rule builder doesn't change the supported syntax, validation, or processing of dynamic group rules in any way.
@@ -49,15 +49,15 @@ For more step-by-step instructions, see [Create or update a dynamic group](group
4949

5050
### Rule syntax for a single expression
5151

52-
A single expression is the simplest form of a membership rule and only has the three parts mentioned above. A rule with a single expression looks similar to this: `Property Operator Value`, where the syntax for the property is the name of object.property.
52+
A single expression is the simplest form of a membership rule and only has the three parts mentioned above. A rule with a single expression looks similar to this example: `Property Operator Value`, where the syntax for the property is the name of object.property.
5353

54-
The following is an example of a properly constructed membership rule with a single expression:
54+
The following example illustrates a properly constructed membership rule with a single expression:
5555

5656
```
5757
user.department -eq "Sales"
5858
```
5959

60-
Parentheses are optional for a single expression. The total length of the body of your membership rule cannot exceed 3072 characters.
60+
Parentheses are optional for a single expression. The total length of the body of your membership rule can't exceed 3072 characters.
6161

6262
## Constructing the body of a membership rule
6363

@@ -115,7 +115,7 @@ dirSyncEnabled |true false |user.dirSyncEnabled -eq true
115115
| streetAddress |Any string value or *null* | user.streetAddress -eq "value" |
116116
| surname |Any string value or *null* | user.surname -eq "value" |
117117
| telephoneNumber |Any string value or *null* | user.telephoneNumber -eq "value" |
118-
| usageLocation |Two lettered country/region code | user.usageLocation -eq "US" |
118+
| usageLocation |Two letter country or region code | user.usageLocation -eq "US" |
119119
| userPrincipalName |Any string value | user.userPrincipalName -eq "alias@domain" |
120120
| userType |member guest *null* | user.userType -eq "Member" |
121121

@@ -147,7 +147,7 @@ The following table lists all the supported operators and their syntax for a sin
147147

148148
### Using the -in and -notIn operators
149149

150-
If you want to compare the value of a user attribute against a number of different values you can use the -in or -notIn operators. Use the bracket symbols "[" and "]" to begin and end the list of values.
150+
If you want to compare the value of a user attribute against multiple values, you can use the -in or -notIn operators. Use the bracket symbols "[" and "]" to begin and end the list of values.
151151

152152
In the following example, the expression evaluates to true if the value of user.department equals any of the values in the list:
153153

@@ -178,10 +178,10 @@ The values used in an expression can consist of several types, including:
178178
- Numbers
179179
- Arrays – number array, string array
180180

181-
When specifying a value within an expression it is important to use the correct syntax to avoid errors. Some syntax tips are:
181+
When specifying a value within an expression, it's important to use the correct syntax to avoid errors. Some syntax tips are:
182182

183183
- Double quotes are optional unless the value is a string.
184-
- String and regex operations are not case sensitive.
184+
- String and regex operations aren't case sensitive.
185185
- When a string value contains double quotes, both quotes should be escaped using the \` character, for example, user.department -eq \`"Sales\`" is the proper syntax when "Sales" is the value. Single quotes should be escaped by using two single quotes instead of one each time.
186186
- You can also perform Null checks, using null as a value, for example, `user.department -eq null`.
187187

@@ -222,13 +222,13 @@ All operators are listed below in order of precedence from highest to lowest. Op
222222
-any -all
223223
```
224224

225-
The following is an example of operator precedence where two expressions are being evaluated for the user:
225+
The following example illustrates operator precedence where two expressions are being evaluated for the user:
226226

227227
```
228228
user.department –eq "Marketing" –and user.country –eq "US"
229229
```
230230

231-
Parentheses are needed only when precedence does not meet your requirements. For example, if you want department to be evaluated first, the following shows how parentheses can be used to determine order:
231+
Parentheses are needed only when precedence doesn't meet your requirements. For example, if you want department to be evaluated first, the following shows how parentheses can be used to determine order:
232232

233233
```
234234
user.country –eq "US" –and (user.department –eq "Marketing" –or user.department –eq "Sales")
@@ -286,7 +286,7 @@ user.assignedPlans -all (assignedPlan.servicePlanId -eq "")
286286

287287
### Using the underscore (\_) syntax
288288

289-
The underscore (\_) syntax matches occurrences of a specific value in one of the multivalued string collection properties to add users or devices to a dynamic group. It is used with the -any or -all operators.
289+
The underscore (\_) syntax matches occurrences of a specific value in one of the multivalued string collection properties to add users or devices to a dynamic group. It's used with the -any or -all operators.
290290

291291
Here's an example of using the underscore (\_) in a rule to add members based on user.proxyAddress (it works the same for user.otherMails). This rule adds any user with proxy address that contains "contoso" to the group.
292292

@@ -306,7 +306,7 @@ The direct reports rule is constructed using the following syntax:
306306
Direct Reports for "{objectID_of_manager}"
307307
```
308308

309-
Here's an example of a valid rule where "62e19b97-8b3d-4d4a-a106-4ce66896a863" is the objectID of the manager:
309+
Here's an example of a valid rule, were "62e19b97-8b3d-4d4a-a106-4ce66896a863" is the objectID of the manager:
310310

311311
```
312312
Direct Reports for "62e19b97-8b3d-4d4a-a106-4ce66896a863"
@@ -323,7 +323,7 @@ The following tips can help you use the rule properly.
323323

324324
You can create a group containing all users within an organization using a membership rule. When users are added or removed from the organization in the future, the group's membership is adjusted automatically.
325325

326-
The "All users" rule is constructed using single expression using the -ne operator and the null value. This rule adds B2B guest users as well as member users to the group.
326+
The "All users" rule is constructed using single expression using the -ne operator and the null value. This rule adds B2B guest users and member users to the group.
327327

328328
```
329329
user.objectId -ne null
@@ -419,7 +419,7 @@ The following device attributes can be used.
419419
systemLabels | any string matching the Intune device property for tagging Modern Workplace devices | device.systemLabels -contains "M365Managed"
420420

421421
> [!NOTE]
422-
> When using deviceOwnership to create Dynamic Groups for devices, you need to set the value equal to "Company". On Intune the device ownership is represented instead as Corporate. Refer to [OwnerTypes](/intune/reports-ref-devices#ownertypes) for more details.
422+
> When using deviceOwnership to create Dynamic Groups for devices, you need to set the value equal to "Company". On Intune the device ownership is represented instead as Corporate. For more information, see [OwnerTypes](/intune/reports-ref-devices#ownertypes) for more details.
423423
> When using deviceTrustType to create Dynamic Groups for devices, you need to set the value equal to "AzureAD" to represent Azure AD joined devices, "ServerAD" to represent Hybrid Azure AD joined devices or "Workplace" to represent Azure AD registered devices.
424424
> When using extensionAttribute1-15 to create Dynamic Groups for devices you need to set the value for extensionAttribute1-15 on the device. Learn more on [how to write extensionAttributes on an Azure AD device object](/graph/api/device-update?view=graph-rest-1.0&tabs=http#example-2--write-extensionattributes-on-a-device&preserve-view=true)
425425

0 commit comments

Comments
 (0)