Cmdlet di Microsoft Entra per la configurazione delle impostazioni del gruppo

Questo articolo contiene istruzioni per l'uso dei cmdlet di PowerShell per creare e aggiornare i gruppi in Microsoft Entra ID, parte di Microsoft Entra. Questo contenuto si applica solo ai gruppi di Microsoft 365 (talvolta denominati gruppi unificati).

Importante

Alcune impostazioni richiedono una licenza Microsoft Entra ID P1. Per altre informazioni, vedere la tabella relativa alle impostazioni modello.

Per altre informazioni su come impedire agli utenti non amministratori di creare gruppi di sicurezza, impostare la AllowedToCreateSecurityGroups proprietà su False come descritto in Update-MgPolicyAuthorizationPolicy.

Le impostazioni dei gruppi di Microsoft 365 vengono configurate usando un oggetto Impostazioni e un oggetto Impostazioni Template. Non vengono inizialmente visualizzati oggetti Settings nella directory, perché la directory è configurata con le impostazioni personalizzate. Per modificarle, è necessario creare un nuovo oggetto Settings usando un modello di impostazioni. I modelli di impostazioni sono definiti da Microsoft. Sono disponibili diversi modelli di impostazioni. Per configurare le impostazioni dei gruppi di Microsoft 365 per la directory, usare il modello denominato "Group.Unified". Per configurare le impostazioni dei gruppi di Microsoft 365 in un singolo gruppo, usare il modello denominato "Group.Unified.Guest". Questo modello viene usato per gestire l'accesso guest a un gruppo di Microsoft 365.

I cmdlet fanno parte del modulo Microsoft Graph PowerShell . Per istruzioni su come scaricare e installare il modulo nel computer, vedere Installare Microsoft Graph PowerShell SDK.

Importante

Azure AD PowerShell è pianificato per la deprecazione il 30 marzo 2024. Per altre informazioni, leggere l'aggiornamento deprecato. È consigliabile eseguire la migrazione a Microsoft Graph PowerShell per interagire con Microsoft Entra ID (in precedenza Azure AD). Microsoft Graph PowerShell consente l'accesso a tutte le API Microsoft Graph ed è disponibile in PowerShell 7. Per risposte alle query di migrazione comuni, vedere Domande frequenti sulla migrazione.

Nota

Con le impostazioni applicate per limitare l'aggiunta di guest a Gruppi di Microsoft 365, gli amministratori aggiungeranno comunque utenti guest a Gruppi di Microsoft 365. L'impostazione impedirà agli utenti non amministratori di aggiungere utenti guest ai gruppi di Microsoft 365.

Installare i cmdlet di PowerShell

Installare i cmdlet di Microsoft Graph come descritto in Installare Microsoft Graph PowerShell SDK.

  1. Aprire l'app Windows PowerShell come amministratore.

  2. Installare i cmdlet di Microsoft Graph.

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. Installare i cmdlet beta di Microsoft Graph.

    Install-Module Microsoft.Graph.Beta -Scope AllUsers
    

Creare le impostazioni a livello di directory

Questi passaggi creano impostazioni a livello di directory, che si applicano a tutti i gruppi di Microsoft 365 nella directory.

  1. Nei cmdlet DirectorySettings è necessario specificare l'ID del SettingsTemplate che si vuole usare. Se non si conosce questo ID, questo cmdlet restituisce l'elenco di tutti i modelli di impostazioni:

    Get-MgBetaDirectorySettingTemplate
    

    Questa chiamata del cmdlet restituirà tutti i modelli disponibili:

    Id                                   DisplayName         Description
    --                                   -----------         -----------
    62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified       ...
    08d542b9-071f-4e16-94b0-74abb372e3d9 Group.Unified.Guest Settings for a specific Microsoft 365 group
    16933506-8a8d-4f0d-ad58-e1db05a5b929 Company.BuiltIn     Setting templates define the different settings that can be used for the associ...
    4bc7f740-180e-4586-adb6-38b2e9024e6b Application...
    898f1161-d651-43d1-805c-3b0b388a9fc2 Custom Policy       Settings ...
    5cf42378-d67d-4f36-ba46-e8b86229381d Password Rule       Settings ...
    
  2. Per aggiungere un URL alle linee guida sull'utilizzo, è necessario innanzitutto ottenere l'oggetto SettingsTemplate che definisce il valore di URL delle linee guida sull'utilizzo, vale a dire il modello Group.Unified:

    $TemplateId = (Get-MgBetaDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id
    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
    
  3. Creare un oggetto contenente i valori da utilizzare per l'impostazione della directory. Questi valori modificano il valore delle linee guida di utilizzo e abilitano le etichette di riservatezza. Impostare queste impostazioni o qualsiasi altra impostazione nel modello in base alle esigenze:

    $params = @{
       templateId = "$TemplateId"
       values = @(
          @{
             name = "UsageGuidelinesUrl"
             value = "https://guideline.example.com"
          }
          @{
             name = "EnableMIPLabels"
             value = "True"
          }
       )
    }
    
  4. Creare l'impostazione della directory usando New-MgBetaDirectorySetting:

    New-MgBetaDirectorySetting -BodyParameter $params
    
  5. È possibile leggere i valori usando i comandi seguenti:

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    $Setting.Values
    

Aggiornare le impostazioni a livello di directory

Per aggiornare il valore per UsageGuideLinesUrl nel modello di impostazione, leggere le impostazioni correnti da Microsoft Entra ID. In caso contrario, è possibile sovrascrivere le impostazioni esistenti diverse da UsageGuideLinesUrl.

  1. Ottenere le impostazioni correnti da Group.Unified Impostazioni Template:

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    
  2. Controllare le impostazioni correnti:

    $Setting.Values
    

    Questo comando restituisce i valori seguenti:

    Name                            Value
    ----                            -----
    EnableMIPLabels                 True
    CustomBlockedWordsList
    EnableMSStandardBlockedWords    False
    ClassificationDescriptions
    DefaultClassification
    PrefixSuffixNamingRequirement
    AllowGuestsToBeGroupOwner       False
    AllowGuestsToAccessGroups       True
    GuestUsageGuidelinesUrl
    GroupCreationAllowedGroupId
    AllowToAddGuests                True
    UsageGuidelinesUrl              https://guideline.example.com
    ClassificationList
    EnableGroupCreation             True
    NewUnifiedGroupWritebackDefault True
    
  3. Per rimuovere il valore di UsageGuideLinesUrl, modificare l'URL in modo che sia una stringa vuota:

    $params = @{
       Values = @(
          @{
             Name = "UsageGuidelinesUrl"
             Value = ""
          }
       )
    }
    
  4. Aggiornare il valore usando il cmdlet Update-MgBetaDirectorySetting :

    Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
    

Impostazioni modello

Di seguito sono riportate le impostazioni definite in SettingsTemplate di Group.Unified. Se non diversamente indicato, queste funzionalità richiedono una licenza microsoft Entra ID P1.

Impostazione Descrizione
  • EnableGroupCreation
  • Tipo: booleano
  • Impostazione predefinita: true
Flag che indica se la creazione di gruppi di Microsoft 365 è consentita nella directory da utenti non amministratori. Questa impostazione non richiede una licenza Microsoft Entra ID P1.
  • GroupCreationAllowedGroupId
  • Tipo: Stringa
  • Default: ""
GUID del gruppo di sicurezza per cui i membri possono creare gruppi di Microsoft 365 anche quando EnableGroupCreation == false.
  • UsageGuidelinesUrl
  • Tipo: Stringa
  • Default: ""
Collegamento alle linee guida sull'utilizzo dei gruppi.
  • ClassificationDescriptions
  • Tipo: Stringa
  • Default: ""
Elenco delimitato da virgole di descrizioni di classificazione. Il valore di ClassificationDescriptions è valido solo nel formato seguente:
$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description"
dove Classificazione corrisponde a una voce in ClassificationList.
Questa impostazione non si applica quando EnableMIPLabels == True.
Il limite di caratteri per la proprietà ClassificationDescriptions è 300 e le virgole non possono essere precedute da escape,
  • DefaultClassification
  • Tipo: Stringa
  • Default: ""
Classificazione da usare come classificazione predefinita per un gruppo, se non specificata.
Questa impostazione non si applica quando EnableMIPLabels == True.
  • PrefixSuffixNamingRequirement
  • Tipo: Stringa
  • Default: ""
Stringa di lunghezza massima di 64 caratteri che definisce la convenzione di denominazione configurata per i gruppi di Microsoft 365. Per altre informazioni, vedere Applicare criteri di denominazione per i gruppi di Microsoft 365.
  • CustomBlockedWordsList
  • Tipo: Stringa
  • Default: ""
Stringa di frasi delimitate da virgole che gli utenti non potranno usare in nomi o alias di gruppo. Per altre informazioni, vedere Applicare criteri di denominazione per i gruppi di Microsoft 365.
  • EnableMSStandardBlockedWords
  • Tipo: booleano
  • Impostazione predefinita: "False"
Deprecato. Non utilizzare.
  • AllowGuestsToBeGroupOwner
  • Tipo: booleano
  • Impostazione predefinita: False
Valore booleano che indica se un utente guest può essere o meno un proprietario di gruppi.
  • AllowGuestsToAccessGroups
  • Tipo: booleano
  • Impostazione predefinita: true
Valore booleano che indica se un utente guest può avere accesso al contenuto dei gruppi di Microsoft 365. Questa impostazione non richiede una licenza Microsoft Entra ID P1.
  • GuestUsageGuidelinesUrl
  • Tipo: Stringa
  • Default: ""
URL di un collegamento alle linee guida per l'utilizzo guest.
  • AllowToAddGuests
  • Tipo: booleano
  • Impostazione predefinita: true
Valore booleano che indica se è consentito o meno aggiungere utenti guest a questa directory.
Questa impostazione può essere sottoposta a override e diventa di sola lettura se EnableMIPLabels è impostato su True e un criterio guest è associato all'etichetta di riservatezza assegnata al gruppo.
Se l'impostazione AllowToAddGuests è impostata su False a livello di organizzazione, qualsiasi impostazione AllowToAddGuests a livello di gruppo viene ignorata. Se si vuole abilitare l'accesso guest solo per pochi gruppi, è necessario impostare AllowToAddGuests su true a livello di organizzazione e quindi disabilitarlo in modo selettivo per gruppi specifici.
  • ClassificationList
  • Tipo: Stringa
  • Default: ""
Elenco delimitato da virgole di valori di classificazione validi che possono essere applicati ai gruppi di Microsoft 365.
Questa impostazione non si applica quando EnableMIPLabels == True.
  • EnableMIPLabels
  • Tipo: booleano
  • Impostazione predefinita: "False"
Flag che indica se le etichette di riservatezza pubblicate in Portale di conformità di Microsoft Purview possono essere applicate ai gruppi di Microsoft 365. Per altre informazioni, vedere Assegnare etichette di riservatezza per i gruppi di Microsoft 365.
  • NewUnifiedGroupWritebackDefault
  • Tipo: booleano
  • Impostazione predefinita: "True"
Flag che consente a un amministratore di creare nuovi gruppi di Microsoft 365 senza impostare il tipo di risorsa groupWritebackConfiguration nel payload della richiesta. Questa impostazione è applicabile quando il writeback del gruppo è configurato in Microsoft Entra Connessione. "NewUnifiedGroupWritebackDefault" è un'impostazione globale del gruppo di Microsoft 365. Il valore predefinito è true. L'aggiornamento del valore dell'impostazione su false modificherà il comportamento di writeback predefinito per i gruppi di Microsoft 365 appena creati e non modificherà il valore della proprietà isEnabled per i gruppi di Microsoft 365 esistenti. L'amministratore del gruppo dovrà aggiornare in modo esplicito il valore della proprietà isEnabled per modificare lo stato di writeback per i gruppi di Microsoft 365 esistenti.

Esempio: Configurare i criteri guest per i gruppi a livello di directory

  1. Ottenere tutti i modelli di impostazione:

    Get-MgBetaDirectorySettingTemplate
    
  2. Per impostare i criteri guest per i gruppi a livello di directory, è necessario il modello Group.Unified.

    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ
    
  3. Impostare un valore per AllowToAddGuests per il modello specificato:

    $params = @{
       templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  4. Creare quindi un nuovo oggetto impostazioni usando il cmdlet New-MgBetaDirectorySetting :

    $Setting = New-MgBetaDirectorySetting -BodyParameter $params
    
  5. È possibile leggere i valori usando:

    $Setting.Values
    

Leggere le impostazioni a livello di directory

Se si conosce il nome dell'impostazione da recuperare, è possibile usare il cmdlet seguente per recuperare il valore corrente dell'impostazione. In questo esempio viene recuperato il valore per un'impostazione denominata "UsageGuidelinesUrl".

(Get-MgBetaDirectorySetting).Values | where -Property Name -Value UsageGuidelinesUrl -EQ

Quelli che seguono sono i passaggi necessari per leggere le impostazioni a livello di directory, che si applicano a tutti i gruppi di Office presenti nella directory.

  1. Leggere tutte le impostazioni della directory esistenti:

    Get-MgBetaDirectorySetting -All
    

    Questo cmdlet restituisce un elenco di tutte le impostazioni della directory:

    Id                                   DisplayName   TemplateId                           Values
    --                                   -----------   ----------                           ------
    c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...
    
  2. Leggere tutte le impostazioni di un determinato gruppo:

    Get-MgBetaGroupSetting -GroupId "ab6a3887-776a-4db7-9da4-ea2b0d63c504"
    
  3. Leggere tutti i valori delle impostazioni della directory di un oggetto impostazioni di directory specifico usando Impostazioni GUID ID:

    (Get-MgBetaDirectorySetting -DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323").values
    

    Questo cmdlet restituisce i nomi e valori in questo oggetto Settings per il gruppo specifico:

    Name                          Value
    ----                          -----
    ClassificationDescriptions
    DefaultClassification
    PrefixSuffixNamingRequirement
    CustomBlockedWordsList        
    AllowGuestsToBeGroupOwner     False 
    AllowGuestsToAccessGroups     True
    GuestUsageGuidelinesUrl
    GroupCreationAllowedGroupId
    AllowToAddGuests              True
    UsageGuidelinesUrl            https://guideline.example.com
    ClassificationList
    EnableGroupCreation           True
    

Rimuovere le impostazioni a livello di directory

Questo passaggio consente di rimuovere le impostazioni a livello di directory, che si applicano a tutti i gruppi di Office presenti nella directory.

Remove-MgBetaDirectorySetting –DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323c"

Creare impostazioni per un gruppo specifico

  1. Ottenere i modelli di impostazioni.

    Get-MgBetaDirectorySettingTemplate
    
  2. Nei risultati trovare per il modello di impostazioni denominato "Groups.Unified.Guest":

    Id                                   DisplayName            Description
    --                                   -----------            -----------
    62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified          ...
    08d542b9-071f-4e16-94b0-74abb372e3d9 Group.Unified.Guest    Settings for a specific Microsoft 365 group
    4bc7f740-180e-4586-adb6-38b2e9024e6b Application            ...
    898f1161-d651-43d1-805c-3b0b388a9fc2 Custom Policy Settings ...
    5cf42378-d67d-4f36-ba46-e8b86229381d Password Rule Settings ...
    
  3. Recuperare l'oggetto modello per il modello Groups.Unified.Guest:

    $Template1 = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQ
    
  4. Ottenere l'ID del gruppo a cui si vuole applicare questa impostazione:

    $GroupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  5. Creare la nuova impostazione:

    $params = @{
       templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  6. Creare l'impostazione del gruppo:

    New-MgBetaGroupSetting -GroupId $GroupId -BodyParameter $params
    
  7. Per verificare le impostazioni, eseguire questo comando:

    Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
    

Aggiornare le impostazioni per un gruppo specifico

  1. Ottenere l'ID del gruppo di cui si vuole aggiornare l'impostazione:

    $groupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  2. Recuperare l'impostazione del gruppo:

    $Setting = Get-MgBetaGroupSetting -GroupId $GroupId
    
  3. Aggiornare l'impostazione del gruppo in base alle esigenze:

    $params = @{
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "True"
          }
       )
    }
    
  4. È quindi possibile impostare il nuovo valore per questa impostazione:

    Update-MgBetaGroupSetting -DirectorySettingId $Setting.Id -GroupId $GroupId -BodyParameter $params
    
  5. È possibile leggere il valore dell'impostazione per assicurarsi che sia stato aggiornato correttamente:

    Get-MgBetaGroupSetting -GroupId $GroupId  | FL Values
    

Riferimento alla sintassi cmdlet

Per altre informazioni, vedere Microsoft Graph PowerShell Cmdlets (Cmdlet di Microsoft Entra).

Gestire le impostazioni di gruppo con Microsoft Graph

Per configurare e gestire le impostazioni di gruppo usando Microsoft Graph, vedere il tipo di risorsa e i groupSetting relativi metodi associati.

Altre letture