次の方法で共有


グループ設定を構成するための Microsoft Entra コマンドレット

この記事では、PowerShell コマンドレットを使用して、Microsoft Entra ID (Microsoft Entra の一部) でグループを作成および更新する手順について説明します。 このコンテンツは、Microsoft 365 グループにのみ適用されます。

重要

一部の設定では、Microsoft Entra ID P1 ライセンスが必要です。 詳細については、テンプレートの設定 表を参照してください。

管理者以外のユーザーがセキュリティ グループを作成できないようにする方法の詳細については、「Update-MgPolicyAuthorizationPolicyで説明されているように、AllowedToCreateSecurityGroups プロパティを False に設定します。

Microsoft 365 グループの設定は、Settings オブジェクトと SettingsTemplate オブジェクトを使用して構成されます。 ディレクトリは既定の設定で構成されているため、最初はディレクトリに Settings オブジェクトが表示されません。 既定の設定を変更するには、設定テンプレートを使用して新しい設定オブジェクトを作成する必要があります。 Microsoft には、いくつかの設定テンプレートが用意されています。 ディレクトリの Microsoft 365 グループ設定を構成するには、"Group.Unified" という名前のテンプレートを使用します。 1 つのグループで Microsoft 365 グループ設定を構成するには、"Group.Unified.Guest このテンプレートを使用して、Microsoft 365 グループへのゲスト アクセスを管理します。

コマンドレットは、Microsoft Graph PowerShell モジュールの一部です。 モジュールをダウンロードしてコンピューターにインストールする方法については、「Microsoft Graph PowerShell SDKをインストールする」を参照してください。

手記

Microsoft 365 グループにゲストを追加できないように制限が有効になっている場合でも、管理者はゲスト ユーザーを追加できます。 この制限は、管理者以外のユーザーにのみ適用されます。

PowerShell コマンドレットをインストールする

Microsoft Graph PowerShell SDKのインストール」の説明に従って、Microsoft Graph コマンドレットをインストールします。

  1. 管理者として Windows PowerShell アプリを開きます。

  2. Microsoft Graph コマンドレットをインストールします。

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. Microsoft Graph ベータ版コマンドレットをインストールします。

    Install-Module Microsoft.Graph.Beta -Scope AllUsers
    

ディレクトリ レベルで設定を作成する

これらの手順では、ディレクトリ レベルで設定を作成します。これは、ディレクトリ内のすべての Microsoft 365 グループに適用されます。

  1. DirectorySettings コマンドレットでは、使用する SettingsTemplate の ID を指定する必要があります。 この ID がわからない場合、このコマンドレットはすべての設定テンプレートの一覧を返します。

    Get-MgBetaDirectorySettingTemplate
    

    このコマンドレット呼び出しは、使用可能なすべてのテンプレートを返します。

    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. 使用ガイドライン URL を追加するには、まず、使用ガイドラインの URL 値を定義する SettingsTemplate オブジェクトを取得する必要があります。つまり、グループです。 統合テンプレート:

    $TemplateId = (Get-MgBetaDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id
    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
    
  3. ディレクトリ設定に使用する値を含むオブジェクトを作成します。 これらの値により、使用ガイドラインの値が変更され、秘密度ラベルが有効になります。 必要に応じて、テンプレートで次またはその他の設定を設定します。

    $params = @{
       templateId = "$TemplateId"
       values = @(
          @{
             name = "UsageGuidelinesUrl"
             value = "https://guideline.example.com"
          }
          @{
             name = "EnableMIPLabels"
             value = "True"
          }
       )
    }
    
  4. New-MgBetaDirectorySettingを使用して、ディレクトリ設定を作成します。

    New-MgBetaDirectorySetting -BodyParameter $params
    
  5. 次のコマンドを使用して値を読み取ることができます。

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

ディレクトリ レベルで設定を更新する

設定テンプレートの UsageGuideLinesUrl の値を更新するには、Microsoft Entra ID から現在の設定を読み取ります。そうしないと、UsageGuideLinesUrl 以外の既存の設定が上書きされる可能性があります。

  1. Group.Unified SettingsTemplate から現在の設定を取得します。

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    
  2. 現在の設定を確認します。

    $Setting.Values
    

    このコマンドは、次の値を返します。

    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. UsageGuideLinesUrl の値を削除するには、URL を空の文字列に編集します。

    $params = @{
       Values = @(
          @{
             Name = "UsageGuidelinesUrl"
             Value = ""
          }
       )
    }
    
  4. Update-MgBetaDirectorySetting コマンドレットを使用して値を更新します。

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

テンプレートの設定

Group.Unified SettingsTemplateで定義されている設定を次に示します。 特に明記されていない限り、これらの機能には Microsoft Entra ID P1 ライセンスが必要です。

設定 説明
EnableGroupCreation
次のコマンドを入力します: Boolean
既定値: True
このフラグは、管理者以外のユーザーがディレクトリに Microsoft 365 グループを作成できるかどうかを示します。 この設定では、Microsoft Entra ID P1 ライセンスは必要ありません。
GroupCreationAllowedGroupId
次のコマンドを入力します: String
既定値: ""
EnableGroupCreation == false場合でも、メンバーが Microsoft 365 グループの作成を許可されているセキュリティ グループの GUID。
UsageGuidelinesUrl
次のコマンドを入力します: String
既定値: ""
グループ使用ガイドラインへのリンク。
分類の説明
次のコマンドを入力します: String
既定値: ""
分類に関する説明のコンマ区切りリスト。 ClassificationDescriptions の値は、次の形式でのみ有効です。
$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description"
ここで、分類は ClassificationList のエントリと一致します。
この設定は、EnableMIPLabels == True場合には適用されません。
プロパティ ClassificationDescriptions の文字制限は 300 で、コンマはエスケープできません。
DefaultClassification
次のコマンドを入力します: String
既定値: ""
何も指定されていない場合にグループの既定の分類として使用される分類。
この設定は、EnableMIPLabels == True場合には適用されません。
PrefixSuffixNamingRequirement
次のコマンドを入力します: String
既定値: ""
Microsoft 365 グループ用に構成された名前付け規則を定義する最大長 64 文字の文字列。 詳細については、「Microsoft 365 グループの名前付けポリシーを適用する」を参照してください。
CustomBlockedWordsList
次のコマンドを入力します: String
既定値: ""
ユーザーがグループ名またはエイリアスで使用できない語句のコンマ区切りの文字列。 詳細については、「Microsoft 365 グループの名前付けポリシーを適用する」を参照してください。
EnableMSStandardBlockedWords
次のコマンドを入力します: Boolean
既定値: False
廃止。 使用しないでください。
ゲストがグループオーナーになれるようにする
次のコマンドを入力します: Boolean
既定値: False
ゲスト ユーザーをグループの所有者にできるかどうかを示すブール値。
AllowGuestsToAccessGroups
次のコマンドを入力します: Boolean
既定値: True
ゲスト ユーザーが Microsoft 365 グループのコンテンツにアクセスできるかどうかを示すブール値。 この設定では、Microsoft Entra ID P1 ライセンスは必要ありません。
GuestUsageGuidelinesUrl
次のコマンドを入力します: String
既定値: ""
ゲストの使用ガイドラインへのリンクの URL。
AllowToAddGuests
次のコマンドを入力します: Boolean
既定値: True
ゲストをこのディレクトリに追加できるかどうかを示すブール値。
この設定は、EnableMIPLabelsTrue に設定され、ゲスト ポリシーがグループに割り当てられている秘密度ラベルに関連付けられている場合に、オーバーライドされ、読み取り専用になる可能性があります。
AllowToAddGuests 設定が組織レベルで False に設定されている場合、グループ レベルの AllowToAddGuests 設定は無視されます。 少数のグループに対してのみゲスト アクセスを有効にする場合は、AllowToAddGuests を組織レベルで true に設定し、特定のグループに対して選択的に無効にする必要があります。
ClassificationList
次のコマンドを入力します: String
既定値: ""
Microsoft 365 グループに適用できる有効な分類値のコンマ区切りの一覧。
EnableMIPLabels == True の場合、この設定は適用されません。
EnableMIPLabels
次のコマンドを入力します: Boolean
既定値: False
Microsoft Purview コンプライアンス ポータルで発行された秘密度ラベルを Microsoft 365 グループに適用できるかどうかを示すフラグ。 詳細については、「Microsoft 365 グループの秘密度ラベルを割り当てる」を参照してください。
NewUnifiedGroupWritebackDefault
次のコマンドを入力します: Boolean
既定値: True
管理者が要求ペイロードで groupWritebackConfiguration リソースの種類を設定せずに新しい Microsoft 365 グループを作成できるようにするフラグ。 この設定は、Microsoft Entra Connect でグループ ライトバックが構成されている場合に適用されます。 NewUnifiedGroupWritebackDefault は、グローバルな Microsoft 365 グループ設定です。 既定値は true です。 設定値を false に更新すると、新しく作成された Microsoft 365 グループの既定の書き戻し動作が変更され、既存の Microsoft 365 グループの isEnabled プロパティ値は変更されません。 グループ管理者は、既存の Microsoft 365 グループの書き戻し状態を変更するために、グループ isEnabled プロパティ値を明示的に更新する必要があります。

例: ディレクトリ レベルでグループのゲスト ポリシーを構成する

  1. すべての設定テンプレートを取得します。

    Get-MgBetaDirectorySettingTemplate
    
  2. ディレクトリ レベルでグループのゲスト ポリシーを設定するには、Group.Unified テンプレートが必要です。

    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ
    
  3. 指定したテンプレートの AllowToAddGuests の値を設定します。

    $params = @{
       templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  4. 次に、New-MgBetaDirectorySetting コマンドレットを使用して、新しい設定オブジェクトを作成します。

    $Setting = New-MgBetaDirectorySetting -BodyParameter $params
    
  5. 値は次の方法で読み取ることができます。

    $Setting.Values
    

ディレクトリ レベルでの設定の読み取り

取得する設定の名前がわかっている場合は、次のコマンドレットを使用して現在の設定値を取得できます。 この例では、UsageGuidelinesUrlという名前の設定の値を取得しています。

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

次の手順では、ディレクトリ レベルで設定を読み取ります。これは、ディレクトリ内のすべての Office グループに適用されます。

  1. 既存のすべてのディレクトリ設定を読み取ります。

    Get-MgBetaDirectorySetting -All
    

    このコマンドレットは、すべてのディレクトリ設定の一覧を返します。

    Id                                   DisplayName   TemplateId                           Values
    --                                   -----------   ----------                           ------
    c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...
    
  2. 特定のグループのすべての設定を読み取ります。

    Get-MgBetaGroupSetting -GroupId "ab6a3887-776a-4db7-9da4-ea2b0d63c504"
    
  3. 設定 ID GUID を使用して、特定のディレクトリ設定オブジェクトのすべてのディレクトリ設定値を読み取ります。

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

    このコマンドレットは、この特定のグループのこの設定オブジェクトの名前と値を返します。

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

ディレクトリ レベルで設定を削除する

この手順では、ディレクトリ レベルで設定を削除します。この設定は、ディレクトリ内のすべての Office グループに適用されます。

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

特定のグループの設定を作成する

  1. 設定テンプレートを取得します。

    Get-MgBetaDirectorySettingTemplate
    
  2. 結果で、"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. Groups.Unified.Guest テンプレートのテンプレート オブジェクトを取得します。

    $Template1 = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQ
    
  4. この設定を適用するグループの ID を取得します。

    $GroupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  5. 新しい設定を作成します。

    $params = @{
       templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  6. グループ設定を作成します。

    New-MgBetaGroupSetting -GroupId $GroupId -BodyParameter $params
    
  7. 設定を確認するには、次のコマンドを実行します。

    Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
    

特定のグループの設定を更新する

  1. 設定を更新するグループの ID を取得します。

    $groupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  2. グループの設定を取得します。

    $Setting = Get-MgBetaGroupSetting -GroupId $GroupId
    
  3. 必要に応じて、グループの設定を更新します。

    $params = @{
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "True"
          }
       )
    }
    
  4. その後、この設定の新しい値を設定できます。

    Update-MgBetaGroupSetting -DirectorySettingId $Setting.Id -GroupId $GroupId -BodyParameter $params
    
  5. 設定の値を読み取って、正しく更新されていることを確認できます。

    Get-MgBetaGroupSetting -GroupId $GroupId  | FL Values
    

コマンドレット構文リファレンス

その他の Microsoft Graph PowerShell ドキュメントについては、Microsoft Entra コマンドレットを参照してください。

Microsoft Graph を使用してグループ設定を管理する

Microsoft Graph を使用してグループ設定を構成および管理するには、groupSetting リソースの種類 とそれに関連付けられているメソッドを参照してください。

その他の情報