Creare regole basate su attributi per l'appartenenza dinamica ai gruppi in Azure Active DirectoryCreate attribute-based rules for dynamic group membership in Azure Active Directory

In Azure Active Directory (Azure AD) è possibile creare regole avanzate per abilitare complesse appartenenze dinamiche ai gruppi basate su attributi.In Azure Active Directory (Azure AD), you can create advanced rules to enable complex attribute-based dynamic memberships for groups. Questo articolo descrive in dettaglio la sintassi e gli attributi per creare regole di appartenenza dinamica per utenti o dispositivi.This article details the attributes and syntax to create dynamic membership rules for users or devices.

Quando gli attributi di un utente o un dispositivo cambiano, il sistema valuta tutte le regole dinamiche del gruppo in una directory per verificare se la modifica attiverà aggiunte o rimozioni nel gruppo.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. Se un utente o un dispositivo soddisfa una regola in un gruppo, viene aggiunto come membro a tale gruppo.If a user or device satisfies a rule on a group, they are added as a member of that group. Se non soddisfano la regola, vengono rimossi.If they no longer satisfy the rule, they are removed.

Nota

  • È possibile configurare una regola per l'appartenenza dinamica nei gruppi di sicurezza o nei gruppi di Office 365.You can set up a rule for dynamic membership on security groups or Office 365 groups.

  • Questa funzionalità richiede una licenza Azure AD Premium P1 per ogni utente membro per almeno un gruppo dinamico.This feature requires an Azure AD Premium P1 license for each user member added to at least one dynamic group. Perché gli utenti siano membri dei gruppi dinamici, non è obbligatorio che vengano effettivamente assegnate a loro le licenze, ma è necessario avere il numero minimo di licenze nel tenant per coprire tutti gli utenti.It is not mandatory to actually assign licenses to users for them to be members in dynamic groups, but you do need to have the minimum number of licenses in the tenant to cover all such users. Se ad esempio si ha un totale di 1.000 utenti univoci in tutti i gruppi dinamici del tenant, è necessario avere almeno 1.000 licenze di Azure AD Premium P1 o versione successiva per soddisfare il requisito delle licenze.For example: if you have a total of 1,000 unique users in all dynamic groups in your tenant, you need to have at least 1,000 licenses for Azure AD Premium P1, or above, to meet the license requirement.

  • Sebbene sia possibile creare un gruppo dinamico per i dispositivi o gli utenti, non è possibile creare una regola che contenga sia oggetti utente che dispositivo.You can create a dynamic group for devices or users, but you cannot create a rule that contains both user and device objects.

  • Al momento non è possibile creare un gruppo di dispositivi in base agli attributi dell'utente proprietario.At the moment it is not possible to create a device group based on owning user's attributes. Le regole di appartenenza dispositivo possono fare riferimento solo ad attributi immediati degli oggetti dispositivo nella directory.Device membership rules can only reference immediate attributes of device objects in the directory.

Per creare una regola avanzataTo create an advanced rule

  1. Accedere al centro amministrativo Azure AD con un account di amministratore globale o amministratore di account utente.Sign in to the Azure AD admin center with an account that is a global administrator or a user account administrator.
  2. Selezionare Utenti e gruppi.Select Users and groups.
  3. Selezionare Tutti i gruppi e selezionare Nuovo gruppo.Select All groups, and select New group.

    Aggiungere un nuovo gruppo

  4. Nel pannello Gruppo immettere un nome e una descrizione per il nuovo gruppo.On the Group blade, enter a name and description for the new group. Selezionare un Tipo di appartenenza di Utente dinamico o Dispositivo dinamico, a seconda che si intenda creare una regola per gli utenti o per i dispositivi e quindi selezionare Aggiungi query dinamica.Select a Membership type of either Dynamic User or Dynamic Device, depending on whether you want to create a rule for users or devices, and then select Add dynamic query. È possibile usare il generatore di regole per creare una regola semplice o scrivere una regola avanzata manualmente.You can use the rule builder to build a simple rule, or write an advanced rule yourself. Questo articolo contiene ulteriori informazioni sugli attributi disponibili per utenti e dispositivi, oltre a esempi di regole avanzate.This article contains more information about available user and device attributes as well as examples of advanced rules.

    Aggiungere una regola di appartenenza dinamica

  5. Dopo avere creato la regola, selezionare Aggiungi query nella parte inferiore del pannello.After creating the rule, select Add query at the bottom of the blade.

  6. Selezionare Crea on the Gruppo per creare il gruppo.Select Create on the Group blade to create the group.

Suggerimento

La creazione del gruppo potrebbe non riuscire se la regola avanzata immessa non è corretta.Group creation may fail if the advanced rule you entered was incorrect. Verrà visualizzata una notifica nell'angolo superiore destro del portale, che contiene una spiegazione dei motivi per cui la regola non è stata accettata dal sistema.A notification will be displayed in the upper-right hand corner of the portal; it contains an explanation of why the rule could not be accepted by the system. Leggere attentamente per capire come occorre modificare la regola per renderla valida.Read it carefully to understand how you need to adjust the rule to make it valid.

Creazione del corpo di una regola avanzataConstructing the body of an advanced rule

La regola avanzata che è possibile creare per le appartenenze dinamiche ai gruppi è essenzialmente un'espressione binaria composta da tre parti che genera un risultato di tipo true o false.The advanced rule that you can create for the dynamic memberships for groups is essentially a binary expression that consists of three parts and results in a true or false outcome. Di seguito sono elencate le tre parti:The three parts are:

  • Parametro sinistroLeft parameter
  • Operatore binarioBinary operator
  • Costante destraRight constant

Una regola avanzata completa ha un aspetto simile al seguente: (leftParameter binaryOperator "RightConstant"), dove le parentesi di apertura e chiusura sono facoltative per l'intera espressione binaria, le virgolette doppie sono anch'esse facoltative e sono obbligatorie solo per la costante a destra quando si tratta di una stringa e la sintassi del parametro a sinistra è user.property.A complete advanced rule looks similar to this: (leftParameter binaryOperator "RightConstant"), where the opening and closing parenthesis are optional for the entire binary expression, double quotes are optional as well, only required for the right constant when it is string, and the syntax for the left parameter is user.property. Una regola avanzata può includere più espressioni binarie separate dagli operatori logici -and, -or e -not.An advanced rule can consist of more than one binary expressions separated by the -and, -or, and -not logical operators.

Di seguito sono riportati alcuni esempi di regola avanzata con il formato corretto:The following are examples of a properly constructed advanced rule:

(user.department -eq "Sales") -or (user.department -eq "Marketing")
(user.department -eq "Sales") -and -not (user.jobTitle -contains "SDE")

Per l'elenco completo dei parametri supportati e degli operatori delle regole di espressione, vedere le sezioni riportate di seguito.For the complete list of supported parameters and expression rule operators, see sections below. Per gli attributi usati per le regole di dispositivo, vedere Uso degli attributi per creare regole per gli oggetti dispositivo.For the attributes used for device rules, see Using attributes to create rules for device objects.

La lunghezza totale del corpo della regola avanzata non può superare i 2048 caratteri.The total length of the body of your advanced rule cannot exceed 2048 characters.

Nota

Le operazioni di stringa ed espressione regolare non fanno distinzione tra maiuscole e minuscole.String and regex operations are not case sensitive. È anche possibile eseguire controlli Null usando null come costante, ad esempio user.department -eq null.You can also perform Null checks, using null as a constant, for example, user.department -eq null. Le stringhe contenenti virgolette (") devono essere precedute dal carattere di escape ', ad esempio user.department -eq \"Sales".</span><span class="sxs-lookup"><span data-stu-id="9647b-145">Strings containing quotes " should be escaped using 'character, for example, user.department -eq \\"Sales".

Operatori delle regole di espressione supportatiSupported expression rule operators

Nella tabella seguente sono elencati tutti gli operatori delle regole di espressione supportati e la relativa sintassi da usare nel corpo della regola avanzata:The following table lists all the supported expression rule operators and their syntax to be used in the body of the advanced rule:

OperatoreOperator SintassiSyntax
Non uguale aNot Equals -ne-ne
Uguale aEquals -eq-eq
Non inizia conNot Starts With -notStartsWith-notStartsWith
Inizia conStarts With -startsWith-startsWith
Non contieneNot Contains -notContains-notContains
ContieneContains -contains-contains
Non corrispondenteNot Match -notMatch-notMatch
CorrispondenteMatch -match-match
InIn -in-in
Non inclusoNot In -notIn-notIn

Precedenza degli operatoriOperator precedence

Tutti gli operatori sono elencati di seguito per la precedenza da una posizione inferiore a quelli superiori.All Operators are listed below per precedence from lower to higher. Gli operatori nella stessa riga hanno uguale precedenza:Operators on same line are in equal precedence:

-any -all
-or
-and
-not
-eq -ne -startsWith -notStartsWith -contains -notContains -match –notMatch -in -notIn

Tutti gli operatori possono essere usati con o senza trattino come prefisso.All operators can be used with or without the hyphen prefix. Le parentesi sono necessarie solo quando la priorità non soddisfa i requisiti.Parentheses are needed only when precedence does not meet your requirements. ad esempio:For example:

   user.department –eq "Marketing" –and user.country –eq "US"

Equivale a:is equivalent to:

   (user.department –eq "Marketing") –and (user.country –eq "US")

Uso degli operatori -In e -notInUsing the -In and -notIn operators

Per confrontare il valore di un attributo utente con una serie di valori diversi è possibile usare gli operatori -In o -notIn.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. Di seguito è illustrato un esempio con l'operatore -In:Here is an example using the -In operator:

    user.department -In [ "50001", "50002", "50003", “50005”, “50006”, “50007”, “50008”, “50016”, “50020”, “50024”, “50038”, “50039”, “51100” ]

Si noti l'uso di "[" e "]" all'inizio e alla fine dell'elenco di valori.Note the use of the "[" and "]" at the beginning and end of the list of values. Questa condizione restituisce True se il valore di user.department è uguale a uno dei valori nell'elenco.This condition evaluates to True of the value of user.department equals one of the values in the list.

Correzione degli errori di queryQuery error remediation

La tabella seguente elenca gli errori comuni con la relativa risoluzioneThe following table lists common errors and how to correct them

Errore di analisi della queryQuery Parse Error Uso erratoError Usage Uso correttoCorrected Usage
Errore: l'attributo non è supportatoError: Attribute not supported. (user.invalidProperty -eq "Valore")(user.invalidProperty -eq "Value") (user.department -eq "valore")(user.department -eq "value")

Verificare che l'attributo sia incluso nell'elenco di proprietà supportate.Make sure the attribute is on the supported properties list.
Errore: l'operatore non è supportato sull'attributo.Error: Operator is not supported on attribute. (user.accountEnabled -contains true)(user.accountEnabled -contains true) (user.accountEnabled -eq true)(user.accountEnabled -eq true)

L'operatore usato non è supportato per il tipo di proprietà, in questo esempio contains non può essere usato nel tipo booleano.The operator used is not supported for the property type (in this example, -contains cannot be used on type boolean). Usare gli operatori corretti per il tipo di proprietà.Use the correct operators for the property type.
Errore: si è verificato un errore di compilazione della query.Error: Query compilation error. 1. (user.department -eq "Sales") (user.department -eq "Marketing")1. (user.department -eq "Sales") (user.department -eq "Marketing")

2. (user.userPrincipalName -match "@domain.ext")2. (user.userPrincipalName -match "@domain.ext")
1. Operatore mancante.1. Missing operator. Usare i due predicati di join -and oppure -orUse -and or -or two join predicates

(user.department -eq "Vendite") -or (user.department -eq "Marketing")(user.department -eq "Sales") -or (user.department -eq "Marketing")

2. Errore nell'espressione regolare usata con -match2.Error in regular expression used with -match

(user.userPrincipalName -match ".@domain.ext"), in alternativa: (user.userPrincipalName -match "@domain.ext$")(user.userPrincipalName -match ".@domain.ext"), alternatively: (user.userPrincipalName -match "@domain.ext$")

Proprietà supportateSupported properties

Di seguito sono elencate tutte le proprietà utente che è possibile usare nelle regole avanzate:The following are all the user properties that you can use in your advanced rule:

Proprietà di tipo booleanProperties of type boolean

Operatori consentitiAllowed operators

  • -eq-eq
  • -ne-ne
ProprietàProperties Valori consentitiAllowed values UtilizzoUsage
accountEnabledaccountEnabled true falsetrue false user.accountEnabled -eq trueuser.accountEnabled -eq true
dirSyncEnableddirSyncEnabled true falsetrue false user.dirSyncEnabled -eq trueuser.dirSyncEnabled -eq true

Proprietà di tipo stringaProperties of type string

Operatori consentitiAllowed operators

  • -eq-eq
  • -ne-ne
  • -notStartsWith-notStartsWith
  • -startsWith-StartsWith
  • -contains-contains
  • -notContains-notContains
  • -match-match
  • -notMatch-notMatch
  • -in-in
  • -notIn-notIn
ProprietàProperties Valori consentitiAllowed values UtilizzoUsage
citycity Qualsiasi valore di stringa o nullAny string value or null (user.city -eq "valore")(user.city -eq "value")
countrycountry Qualsiasi valore di stringa o nullAny string value or null (user.country -eq "valore")(user.country -eq "value")
companyNamecompanyName Qualsiasi valore di stringa o nullAny string value or null (user.companyName -eq "value")(user.companyName -eq "value")
departmentdepartment Qualsiasi valore di stringa o nullAny string value or null (user.department -eq "valore")(user.department -eq "value")
displayNamedisplayName Qualsiasi valore stringa.Any string value (user.displayName -eq "valore")(user.displayName -eq "value")
employeeIdemployeeId Qualsiasi valore stringa.Any string value (user.employeeId -eq "valore")(user.employeeId -eq "value")
(user.employeeId -ne null)(user.employeeId -ne null)
facsimileTelephoneNumberfacsimileTelephoneNumber Qualsiasi valore di stringa o nullAny string value or null (user.facsimileTelephoneNumber -eq "valore")(user.facsimileTelephoneNumber -eq "value")
givenNamegivenName Qualsiasi valore di stringa o nullAny string value or null (user.givenName -eq "valore")(user.givenName -eq "value")
jobTitlejobTitle Qualsiasi valore di stringa o nullAny string value or null (user.jobTitle -eq "valore")(user.jobTitle -eq "value")
mailmail Qualsiasi valore di stringa o null (indirizzo SMTP dell'utente)Any string value or null (SMTP address of the user) (user.mail -eq "valore")(user.mail -eq "value")
mailNickNamemailNickName Qualsiasi valore stringa (alias di posta dell'utente)Any string value (mail alias of the user) (user.mailNickName -eq "valore")(user.mailNickName -eq "value")
mobilemobile Qualsiasi valore di stringa o nullAny string value or null (user.mobile -eq "valore")(user.mobile -eq "value")
objectIdobjectId GUID dell'oggetto utenteGUID of the user object (user.objectId -eq "1111111-1111-1111-1111-111111111111")(user.objectId -eq "1111111-1111-1111-1111-111111111111")
onPremisesSecurityIdentifieronPremisesSecurityIdentifier Identificatore di sicurezza (SID) locale per gli utenti sincronizzati da un ambiente locale al cloud.On-premises security identifier (SID) for users who were synchronized from on-premises to the cloud. (user.onPremisesSecurityIdentifier -eq "S-1-1-11-1111111111-1111111111-1111111111-1111111")(user.onPremisesSecurityIdentifier -eq "S-1-1-11-1111111111-1111111111-1111111111-1111111")
passwordPoliciespasswordPolicies Nessuno DisableStrongPassword DisablePasswordExpiration DisablePasswordExpiration, DisableStrongPasswordNone DisableStrongPassword DisablePasswordExpiration DisablePasswordExpiration, DisableStrongPassword (user.passwordPolicies -eq "DisableStrongPassword")(user.passwordPolicies -eq "DisableStrongPassword")
physicalDeliveryOfficeNamephysicalDeliveryOfficeName Qualsiasi valore di stringa o nullAny string value or null (user.physicalDeliveryOfficeName -eq "valore")(user.physicalDeliveryOfficeName -eq "value")
postalCodepostalCode Qualsiasi valore di stringa o nullAny string value or null (user.postalCode -eq "valore")(user.postalCode -eq "value")
preferredLanguagepreferredLanguage Codice ISO 639-1ISO 639-1 code (user.preferredLanguage -eq "en-US")(user.preferredLanguage -eq "en-US")
sipProxyAddresssipProxyAddress Qualsiasi valore di stringa o nullAny string value or null (user.sipProxyAddress -eq "valore")(user.sipProxyAddress -eq "value")
statestate Qualsiasi valore di stringa o nullAny string value or null (user.state -eq "valore")(user.state -eq "value")
streetAddressstreetAddress Qualsiasi valore di stringa o nullAny string value or null (user.streetAddress -eq "valore")(user.streetAddress -eq "value")
surnamesurname Qualsiasi valore di stringa o nullAny string value or null (user.surname -eq "valore")(user.surname -eq "value")
telephoneNumbertelephoneNumber Qualsiasi valore di stringa o nullAny string value or null (user.telephoneNumber -eq "valore")(user.telephoneNumber -eq "value")
usageLocationusageLocation Codice di paese di due lettereTwo lettered country code (user.usageLocation -eq "US")(user.usageLocation -eq "US")
userPrincipalNameuserPrincipalName Qualsiasi valore stringa.Any string value (user.userPrincipalName -eq "alias@domain")(user.userPrincipalName -eq "alias@domain")
userTypeuserType membro guest nullmember guest null (user.userType -eq "Membro")(user.userType -eq "Member")

Proprietà di tipo insieme StringProperties of type string collection

Operatori consentitiAllowed operators

  • -contains-contains
  • -notContains-notContains
ProprietàProperties Valori consentitiAllowed values UtilizzoUsage
otherMailsotherMails Qualsiasi valore stringa.Any string value (user.otherMails -contains "alias@domain")(user.otherMails -contains "alias@domain")
proxyAddressesproxyAddresses SMTP: alias@domain smtp: alias@domainSMTP: alias@domain smtp: alias@domain (user.proxyAddresses -contains "SMTP: alias@domain")(user.proxyAddresses -contains "SMTP: alias@domain")

Proprietà multivaloreMulti-value properties

Operatori consentitiAllowed operators

  • -any (soddisfatto quando almeno un elemento della raccolta corrisponde alla condizione)-any (satisfied when at least one item in the collection matches the condition)
  • -all (soddisfatto quando tutti gli elementi della raccolta corrispondono alla condizione)-all (satisfied when all items in the collection match the condition)
ProprietàProperties ValoriValues UsoUsage
assignedPlansassignedPlans Ogni oggetto della raccolta espone le proprietà di stringa seguenti: capabilityStatus, service, servicePlanIdEach object in the collection exposes the following string properties: capabilityStatus, service, servicePlanId user.assignedPlans -any (assignedPlan.servicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and assignedPlan.capabilityStatus -eq "Enabled")user.assignedPlans -any (assignedPlan.servicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and assignedPlan.capabilityStatus -eq "Enabled")

Le proprietà multivalore sono raccolte di oggetti dello stesso tipo.Multi-value properties are collections of objects of the same type. È possibile usare gli operatori -any e -all per applicare una condizione rispettivamente a uno o a tutti gli elementi della raccolta.You can use -any and -all operators to apply a condition to one or all of the items in the collection, respectively. ad esempio:For example:

assignedPlans è una proprietà multivalore che elenca tutti i piani di servizio assegnati all'utente.assignedPlans is a multi-value property that lists all service plans assigned to the user. L'espressione riportata di seguito selezionerà gli utenti che hanno il piano di servizio Exchange Online (Piano 2) con lo stato abilitato:The below expression will select users who have the Exchange Online (Plan 2) service plan that is also in Enabled state:

user.assignedPlans -any (assignedPlan.servicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and assignedPlan.capabilityStatus -eq "Enabled")

L'identificatore GUID identifica il piano di servizio Exchange Online (Piano 2).(The Guid identifier identifies the Exchange Online (Plan 2) service plan.)

Nota

Questa espressione è utile per identificare tutti gli utenti per i quali è stata abilitata una funzionalità di Office 365 o di un altro servizio online Microsoft. Ad esempio, per identificarli come destinatari di un determinato set di criteri.This is useful if you want to identify all users for whom an Office 365 (or other Microsoft Online Service) capability has been enabled, for example to target them with a certain set of policies.

L'espressione seguente selezionerà tutti gli utenti che hanno un piano di servizio qualsiasi associato al servizio Intune (identificato dal nome di servizio "SCO"):The following expression will select all users who have any service plan that is associated with the Intune service (identified by service name "SCO"):

user.assignedPlans -any (assignedPlan.service -eq "SCO" -and assignedPlan.capabilityStatus -eq "Enabled")

Uso dei valori NullUse of Null values

Per specificare un valore Null in una regola, è possibile usare il valore null.To specify a null value in a rule, you can use the null value. Prestare attenzione a non usare le virgolette per la parola null, in caso contrario, verrà interpretato come valore di stringa letterale.Be careful not to use quotes around the word null - if you do, it will be interpreted as a literal string value. Il modo corretto per fare riferimento al valore Null è il seguente:The correct way to reference the null value is as follows:

   user.mail –ne null

Attributi di estensione ed attributi personalizzatiExtension attributes and custom attributes

Gli attributi di estensione e gli attributi personalizzati sono supportati nelle regole di appartenenza dinamica.Extension attributes and custom attributes are supported in dynamic membership rules.

Gli attributi di estensione vengono sincronizzati dall'istanza locale di Window Server AD e hanno il formato "ExtensionAttributeX", dove X equivale a 1 - 15.Extension attributes are synced from on-premises Window Server AD and take the format of "ExtensionAttributeX", where X equals 1 - 15. Ecco un esempio di regola che usa un attributo di estensione:An example of a rule that uses an extension attribute would be

(user.extensionAttribute15 -eq "Marketing")

Gli attributi personalizzati vengono sincronizzati dall'istanza locale di Windows Server AD o da un'applicazione SaaS collegata e hanno il formato "user.extension_[GUID]_[Attributo]", dove [GUID] è l'identificatore univoco in AAD per l'applicazione che ha creato l'attributo in AAD e [Attributo] è il nome dell'attributo creato.Custom Attributes are synced from on-premises Windows Server AD or from a connected SaaS application and the the format of "user.extension[GUID]__[Attribute]", where [GUID] is the unique identifier in AAD for the application that created the attribute in AAD and [Attribute] is the name of the attribute as it was created. Ecco un esempio di regola che usa un attributo personalizzato:An example of a rule that uses a custom attribute is

user.extension_c272a57b722d4eb29bfe327874ae79cb__OfficeNumber  

È possibile trovare il nome dell'attributo personalizzato nella directory eseguendo una query sull'attributo nell'utente con Esplora grafico e cercando il nome dell'attributo.The custom attribute name can be found in the directory by querying a user's attribute using Graph Explorer and searching for the attribute name.

Regola per i dipendenti diretti"Direct Reports" Rule

È possibile creare un gruppo contenente tutti i dipendenti diretti di un manager.You can create a group containing all direct reports of a manager. Quando i dipendenti diretti del manager cambieranno, l'appartenenza al gruppo verrà automaticamente modificata.When the manager's direct reports change in the future, the group's membership will be adjusted automatically.

Nota

  1. Per il corretto funzionamento della regola, verificare che la proprietà Manager ID sia impostata correttamente sugli utenti inclusi nel tenant.For the rule to work, make sure the Manager ID property is set correctly on users in your tenant. È possibile controllare il valore corrente per un utente nella scheda Profilo.You can check the current value for a user on their Profile tab.
  2. Questa regola supporta solo i dipendenti diretti.This rule only supports direct reports. Attualmente non è possibile creare un gruppo per una gerarchia nidificata, ad esempio un gruppo che include dipendenti diretti e i relativi dipendenti.It is currently not possible to create a group for a nested hierarchy, e.g. a group that includes direct reports and their reports.

Per configurare il gruppoTo configure the group

  1. Eseguire i passaggi da 1 a 5 illustrati nella sezione Per creare la regola avanzata e selezionare Utente dinamico come Tipo di appartenenza.Follow steps 1-5 from section To create the advanced rule, and select a Membership type of Dynamic User.
  2. Nel pannello Dynamic membership rules (Regole di appartenenza dinamica) immettere la regola con la sintassi seguente:On the Dynamic membership rules blade, enter the rule with the following syntax:

    Dipendenti diretti per "{obectID_of_manager}"Direct Reports for "{obectID_of_manager}"

    Esempio di una regola valida:An example of a valid rule:

                     Direct Reports for "62e19b97-8b3d-4d4a-a106-4ce66896a863"
    

    where “62e19b97-8b3d-4d4a-a106-4ce66896a863” is the objectID of the manager. The object ID can be found on manager's Profile tab.

  3. Dopo aver salvato la regola, tutti gli utenti con il valore Manager ID specificato verranno aggiunti al gruppo.After saving the rule, all users with the specified Manager ID value will be added to the group.

Uso degli attributi per creare regole per gli oggetti dispositivoUsing attributes to create rules for device objects

È anche possibile creare una regola che consenta di selezionare gli oggetti dispositivo per l'appartenenza a un gruppo.You can also create a rule that selects device objects for membership in a group. È possibile usare gli attributi del dispositivo seguenti.The following device attributes can be used.

Attributo del dispositivoDevice attribute ValoriValues EsempioExample
accountEnabledaccountEnabled true falsetrue false (device.accountEnabled -eq true)(device.accountEnabled -eq true)
displayNamedisplayName Qualsiasi valore stringa.any string value (device.displayName - eq "Iphone di Rob")(device.displayName -eq "Rob Iphone”)
deviceOSTypedeviceOSType Qualsiasi valore stringa.any string value (device.deviceOSType -eq "iPad") o (device.deviceOSType -eq "iPhone")(device.deviceOSType -eq "iPad") -or (device.deviceOSType -eq "iPhone")
deviceOSVersiondeviceOSVersion Qualsiasi valore stringa.any string value (device.OSVersion -eq "9.1")(device.OSVersion -eq "9.1")
deviceCategorydeviceCategory nome di una categoria di dispositivo validoa valid device category name (device.deviceCategory -eq "BYOD")(device.deviceCategory -eq "BYOD")
deviceManufacturerdeviceManufacturer Qualsiasi valore stringa.any string value (device.deviceManufacturer -eq "Samsung")(device.deviceManufacturer -eq "Samsung")
deviceModeldeviceModel Qualsiasi valore stringa.any string value (device.deviceModel -eq "iPad Air")(device.deviceModel -eq "iPad Air")
deviceOwnershipdeviceOwnership Personale, Azienda, SconosciutoPersonal, Company, Unknown (device.deviceOwnership -eq "Company")(device.deviceOwnership -eq "Company")
domainNamedomainName Qualsiasi valore stringa.any string value (device.domainName -eq "contoso.com")(device.domainName -eq "contoso.com")
enrollmentProfileNameenrollmentProfileName Nome del profilo di registrazione dispositivi AppleApple Device Enrollment Profile name (device.enrollmentProfileName -eq "DEP iPhones")(device.enrollmentProfileName -eq "DEP iPhones")
isRootedisRooted true falsetrue false (device.isRooted -eq true)(device.isRooted -eq true)
managementTypemanagementType MDM (per i dispositivi mobili)MDM (for mobile devices)
PC (per i computer gestiti dall'agente di PC Intune)PC (for computers managed by the Intune PC agent)
(device.managementType -eq "MDM")(device.managementType -eq "MDM")
organizationalUnitorganizationalUnit qualsiasi valore di stringa corrispondente al nome dell'unità organizzativa impostato da un server di Active Directory localeany string value matching the name of the organizational unit set by an on-premises Active Directory (device.organizationalUnit -eq "US PCs")(device.organizationalUnit -eq "US PCs")
deviceIddeviceId ID dispositivo di Azure AD validoa valid Azure AD device ID (device.deviceId -eq "d4fe7726-5966-431c-b3b8-cddc8fdb717d")(device.deviceId -eq "d4fe7726-5966-431c-b3b8-cddc8fdb717d")
objectIdobjectId ID oggetto di Azure AD validoa valid Azure AD object ID (device.objectId -eq 76ad43c9-32c5-45e8-a272-7b58b58f596d")(device.objectId -eq 76ad43c9-32c5-45e8-a272-7b58b58f596d")

Modifica dell'appartenenza dinamica in statica e viceversaChanging dynamic membership to static, and vice versa

È possibile modificare il modo in cui viene gestita l'appartenenza in un gruppo.It is possible to change how membership is managed in a group. Ciò è utile per mantenere lo stesso ID e nome di gruppo nel sistema in modo che i riferimenti al gruppo esistenti restino validi. Creando un nuovo gruppo sarebbe infatti necessario aggiornare tali riferimenti.This is useful when you want to keep the same group name and ID in the system, so any existing references to the group are still valid; creating a new group would require updating those references.

È in corso l'aggiornamento del portale di Azure per supportare questa funzionalità.We are in the process of updating the Azure portal to support this functionality. Nel frattempo, è possibile usare il portale di Azure classico (seguire le istruzioni riportate qui) oppure i cmdlet di PowerShell come illustrato di seguito.In the meantime, you can use the Azure classic portal (follow the instructions here) or use PowerShell cmdlets as shown below.

Avviso

Quando si modifica un gruppo statico esistente in gruppo dinamico, tutti i membri esistenti verranno rimossi dal gruppo e verrà quindi elaborata la regola di appartenenza per aggiungere nuovi membri.When changing an existing static group to a dynamic group, all existing members will be removed from the group, and then the membership rule will be processed to add new members. Se il gruppo viene usato per controllare l'accesso alle app o alle risorse, i membri originali potrebbero perdere l'accesso finché non viene completata l'elaborazione della regola di appartenenza.If the group is used to control access to apps or resources, the original members may lose access until the membership rule is fully processed.

È consigliabile testare prima la nuova regola per verificare che la nuova appartenenza nel gruppo sia quella prevista.It is a recommended practice to test the new membership rule beforehand to make sure that the new membership in the group is as expected.

Uso di PowerShell per modificare la gestione delle appartenenze in un gruppoUsing PowerShell to change membership management on a group

Nota

Per modificare le proprietà dei gruppi dinamici, sarà necessario usare i cmdlet della versione di anteprima di Azure AD PowerShell versione 2.To change dynamic group properties you will need to use cmdlets from the preview version of Azure AD PowerShell Version 2. È possibile installare l'anteprima da qui.You can install the preview from here.

Di seguito è riportato un esempio delle funzioni che cambiano la gestione delle appartenenze in un gruppo esistente.Here is an example of functions that switch membership management on an existing group. È necessario prestare attenzione in modo da modificare correttamente la proprietà GroupTypes e mantenere tutti i valori eventualmente presenti non correlati all'appartenenza dinamica.Note that care is taken to correctly manipulate the GroupTypes property and preserve any values that may exist there, unrelated to dynamic membership.

#The moniker for dynamic groups as used in the GroupTypes property of a group object
$dynamicGroupTypeString = "DynamicMembership"

function ConvertDynamicGroupToStatic
{
    Param([string]$groupId)

    #existing group types
    [System.Collections.ArrayList]$groupTypes = (Get-AzureAdMsGroup -Id $groupId).GroupTypes

    if($groupTypes -eq $null -or !$groupTypes.Contains($dynamicGroupTypeString))
    {
        throw "This group is already a static group. Aborting conversion.";
    }


    #remove the type for dynamic groups, but keep the other type values
    $groupTypes.Remove($dynamicGroupTypeString)

    #modify the group properties to make it a static group: i) change GroupTypes to remove the dynamic type, ii) pause execution of the current rule
    Set-AzureAdMsGroup -Id $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "Paused"
}

function ConvertStaticGroupToDynamic
{
    Param([string]$groupId, [string]$dynamicMembershipRule)

    #existing group types
    [System.Collections.ArrayList]$groupTypes = (Get-AzureAdMsGroup -Id $groupId).GroupTypes

    if($groupTypes -ne $null -and $groupTypes.Contains($dynamicGroupTypeString))
    {
        throw "This group is already a dynamic group. Aborting conversion.";
    }
    #add the dynamic group type to existing types
    $groupTypes.Add($dynamicGroupTypeString)

    #modify the group properties to make it a static group: i) change GroupTypes to add the dynamic type, ii) start execution of the rule, iii) set the rule
    Set-AzureAdMsGroup -Id $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "On" -MembershipRule $dynamicMembershipRule
}

Per rendere statico un gruppo:To make a group static:

ConvertDynamicGroupToStatic "a58913b2-eee4-44f9-beb2-e381c375058f"

Per rendere dinamico un gruppo:To make a group dynamic:

ConvertStaticGroupToDynamic "a58913b2-eee4-44f9-beb2-e381c375058f" "user.displayName -startsWith ""Peter"""

Passaggi successiviNext steps

Questi articoli forniscono informazioni aggiuntive sui gruppi in Azure Active Directory.These articles provide additional information on groups in Azure Active Directory.