グループ設定を構成するための Microsoft Entra コマンドレット
この記事では、Microsoft Entra の一部である Microsoft Entra ID で PowerShell コマンドレットを使い、グループを作成して更新する手順を説明します。 このコンテンツは、Microsoft 365 グループ (統合グループと呼ばれることもあります) にのみ適用されます。
重要
一部の設定では、Microsoft Entra ID P1 ライセンスが必要です。 詳細については、「テンプレート設定」の表を参照してください。
管理者以外のユーザーがセキュリティ グループを作成できないようにする方法の詳細については、Update-MgPolicyAuthorizationPolicy の説明に従って、AllowedToCreateSecurityGroups
プロパティを False に設定します。
Microsoft 365 グループの設定は、Settings オブジェクトおよび SettingsTemplate オブジェクトを使用して構成されます。 最初は、ディレクトリには Settings オブジェクトが表示されません。これは、ディレクトリが既定の設定で構成されているためです。 既定の設定を変更するには、Settings テンプレートを使用して新しい Settings オブジェクトを作成する必要があります。 Settings テンプレートは、Microsoft によって定義されます。 複数の Settings テンプレートがサポートされています。 ディレクトリの Microsoft 365 グループ設定を構成するには、"Group.Unified" という名前のテンプレートを使用します。 1 つのグループの Microsoft 365 グループ設定を構成するには、"Group.Unified.Guest" という名前のテンプレートを使用します。 このテンプレートは、Microsoft 365 グループへのゲスト アクセスを管理するために使用されます。
これらのコマンドレットは、Microsoft Graph PowerShell モジュールに含まれています。 モジュールをコンピューターにダウンロードしてインストールする方法については、「Microsoft Graph PowerShell SDK をインストールする」を参照してください。
Note
Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となります。 詳細については、非推奨の最新情報を参照してください。 この日以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正プログラムに限定されます。 非推奨になるモジュールは、2025 年 3 月 30 日まで引き続き機能します。
Microsoft Entra ID (旧称 Azure AD) を使用するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、「移行に関する FAQ」を参照してください。 注: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に中断が発生する可能性があります。
Note
Microsoft 365 にゲストの追加を制限する設定が設定されていても、管理者は引き続きゲスト ユーザーを Microsoft 365 グループに追加できます。 この設定では、管理者以外のユーザーの Microsoft 365 グループへのゲスト ユーザーの追加を制限します。
PowerShell コマンドレットのインストール
Microsoft Graph PowerShell SDK のインストールに関する記事の説明に従って、Microsoft Graph コマンドレットをインストールします。
管理者として Windows PowerShell アプリを開きます。
Microsoft Graph コマンドレットをインストールします。
Install-Module Microsoft.Graph -Scope AllUsers
Microsoft Graph ベータ版のコマンドレットをインストールします。
Install-Module Microsoft.Graph.Beta -Scope AllUsers
ディレクトリ レベルでの設定の作成
次の手順では、ディレクトリ内のすべての Microsoft 365 グループに適用される設定をディレクトリ レベルで作成します。
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 ...
使用ガイドラインの URL を追加するには、まず使用ガイドラインの URL 値を定義する SettingsTemplate オブジェクト、つまり、Group.Unified テンプレートを取得する必要があります。
$TemplateId = (Get-MgBetaDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
ディレクトリ設定に使う値を含むオブジェクトを作成します。 これらの値を使って使用ガイドラインの値を変更し、秘密度ラベルを有効にします。 必要に応じて、テンプレートのこれらの設定またはその他の設定を設定します。
$params = @{ templateId = "$TemplateId" values = @( @{ name = "UsageGuidelinesUrl" value = "https://guideline.example.com" } @{ name = "EnableMIPLabels" value = "True" } ) }
New-MgBetaDirectorySetting を使ってディレクトリ設定を作成します。
New-MgBetaDirectorySetting -BodyParameter $params
次のコマンドを使って値を読み取ることができます。
$Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"} $Setting.Values
ディレクトリ レベルでの設定の更新
設定テンプレートの UsageGuideLinesUrl の値を更新するには、Microsoft Entra ID から現在の設定を読み取ります。そうしないと、UsageGuideLinesUrl 以外の既存の設定を上書きしてしまう可能性があります。
Group.Unified SettingsTemplate から現在の設定を取得します。
$Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
現在の設定を確認します。
$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
UsageGuideLinesUrl の値を削除するには、URL を編集して空の文字列にします。
$params = @{ Values = @( @{ Name = "UsageGuidelinesUrl" Value = "" } ) }
Update-MgBetaDirectorySetting コマンドレットを使って値を更新します。
Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
テンプレート設定
Group.Unified SettingsTemplate で定義される設定は次のとおりです。 特に明記されていない限り、これらの機能には Microsoft Entra ID P1 ライセンスが必要です。
設定 | 説明 |
---|---|
|
ディレクトリで管理者以外のユーザーによる Microsoft 365 グループの作成を許可するかどうかを示すフラグ。 この設定では、Microsoft Entra ID P1 ライセンスは必要ありません。 |
|
EnableGroupCreation == false の場合でも Microsoft 365 グループの作成がメンバーに許可されているセキュリティ グループの GUID。 |
|
グループ使用ガイドラインへのリンク。 |
|
分類に関する説明のコンマ区切りリスト。 ClassificationDescriptions の値は、次の形式でのみ有効です。 $setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description" ここで、分類は ClassificationList 内のエントリと一致します。 EnableMIPLabels == True の場合、この設定は当てはまりません。 プロパティ ClassificationDescriptions の文字制限は 300 です。コンマをエスケープすることはできません。 |
|
何も指定されていない場合にグループの既定の分類として使用される分類。 EnableMIPLabels == True の場合、この設定は当てはまりません。 |
|
Microsoft 365 グループ用に構成された名前付け規則を定義する、最大文字数 64 文字の文字列。 詳細については、Microsoft 365 グループの名前付けポリシーの適用に関するページを参照してください。 |
|
ユーザーによるグループ名または別名での使用が許可されていないフレーズのコンマ区切りの文字列。 詳細については、Microsoft 365 グループの名前付けポリシーの適用に関するページを参照してください。 |
|
非推奨。 使用しないでください。 |
|
ゲスト ユーザーがグループの所有者になれるかどうかを示すブール値。 |
|
ゲスト ユーザーが Microsoft 365 グループのコンテンツにアクセスできるかどうかを示すブール値。 この設定では、Microsoft Entra ID P1 ライセンスは必要ありません。 |
|
ゲストの使用ガイドラインへのリンクの URL。 |
|
このディレクトリにゲストを追加することが許可されているかどうかを示すブール値。 EnableMIPLabels が True に設定されていて、グループに割り当てられている機密ラベルにゲスト ポリシーが関連付けられている場合は、この設定は上書きされ読み取り専用になります。 AllowToAddGuests 設定が組織レベルで False に設定されている場合、グループ レベルでの AllowToAddGuests 設定はすべて無視されます。 ゲスト アクセスを少数のグループに対してのみ有効にする場合は、AllowToAddGuests を組織レベルで True に設定した後、それを特定のグループに対して選択的に無効にする必要があります。 |
|
Microsoft 365 グループに適用できる有効な分類の値のコンマ区切りの一覧。 EnableMIPLabels == True の場合、この設定は当てはまりません。 |
|
Microsoft Purview コンプライアンス ポータルで公開されている秘密度ラベルを Microsoft 365 グループに適用できるかどうかを示すフラグ。 詳細については、Microsoft 365 グループへの秘密度ラベルの割り当てに関するページを参照してください。 |
|
管理者が要求ペイロードで groupWritebackConfiguration リソースの種類を設定せずに新しい Microsoft 365 グループを作成できるようにするフラグ。 この設定は、Microsoft Entra Connect でグループの書き戻しが構成されている場合に適用されます。 "NewUnifiedGroupWritebackDefault" は、グローバルな Microsoft 365 グループ設定です。 既定値は true です。 設定値を false に更新すると、新しく作成された Microsoft 365 グループの既定の書き戻し動作が変更され、既存の Microsoft 365 グループの isEnabled プロパティ値は変更されません。 グループ管理者は、既存の Microsoft 365 グループの書き戻し状態を変更するために、グループの isEnabled プロパティ値を明示的に更新する必要があります。 |
例:ディレクトリ レベルでグループのゲスト ポリシーを構成する
すべての設定テンプレートを取得します。
Get-MgBetaDirectorySettingTemplate
ディレクトリ レベルでグループのゲスト ポリシーを設定するには、Group.Unified テンプレートが必要です。
$Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ
指定したテンプレートの AllowToAddGuests の値を設定します。
$params = @{ templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b" values = @( @{ name = "AllowToAddGuests" value = "False" } ) }
次に、New-MgBetaDirectorySetting コマンドレットを使って新しい設定オブジェクトを作成します。
$Setting = New-MgBetaDirectorySetting -BodyParameter $params
以下を使用して値を読み取ることができます。
$Setting.Values
ディレクトリ レベルでの設定の読み取り
取得する設定の名前がわかっている場合、以下のコマンドレットを使って、現在の設定値を取得することができます。 この例では、"UsageGuidelinesUrl" という名前の設定の値を取得しています。
(Get-MgBetaDirectorySetting).Values | where -Property Name -Value UsageGuidelinesUrl -EQ
次の手順では、ディレクトリ内のすべての Office グループに適用される設定をディレクトリ レベルで読み取ります。
既存のディレクトリ設定をすべて読み取ります。
Get-MgBetaDirectorySetting -All
このコマンドレットでは、すべてのディレクトリ設定の一覧が返されます。
Id DisplayName TemplateId Values -- ----------- ---------- ------ c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...
特定のグループの設定をすべて読み取ります。
Get-MgBetaGroupSetting -GroupId "ab6a3887-776a-4db7-9da4-ea2b0d63c504"
Settings ID GUID を使用して、特定のディレクトリの Settings オブジェクトのすべてのディレクトリ設定値を読み取ります。
(Get-MgBetaDirectorySetting -DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323").values
このコマンドレットでは、この特定のグループのこの Settings オブジェクトの名前と値が返されます。
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"
特定のグループに対する設定を作成する
設定テンプレートを取得します。
Get-MgBetaDirectorySettingTemplate
結果で、"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 ...
Groups.Unified.Guest テンプレートのテンプレート オブジェクトを取得します。
$Template1 = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQ
この設定を適用するグループの ID を取得します。
$GroupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
新しい設定を作成します。
$params = @{ templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9" values = @( @{ name = "AllowToAddGuests" value = "False" } ) }
グループ設定を作成します。
New-MgBetaGroupSetting -GroupId $GroupId -BodyParameter $params
設定を確認するには、次のコマンドを実行します。
Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
特定のグループの設定の更新
設定を更新するグループの ID を取得します。
$groupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
グループの設定を取得します。
$Setting = Get-MgBetaGroupSetting -GroupId $GroupId
必要に応じて、グループの設定を更新します。
$params = @{ values = @( @{ name = "AllowToAddGuests" value = "True" } ) }
その後、この設定の新しい値を設定できます。
Update-MgBetaGroupSetting -DirectorySettingId $Setting.Id -GroupId $GroupId -BodyParameter $params
設定の値を読み取って、それが正しく更新されているかどうかを確認できます。
Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
コマンドレット構文リファレンス
その他の Microsoft Graph PowerShell ドキュメントについては、Microsoft Entra コマンドレットのページを参照してください。
Microsoft Graph を使用してグループ設定を管理する
Microsoft Graph を使用してグループ設定を構成および管理するには、groupSetting
リソースの種類とそれに関連するメソッドを参照してください。