グループ設定を構成するための 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 コマンドレットをインストールします。
管理者として 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 オブジェクトを取得する必要があります。つまり、グループです。 統合テンプレート:
$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 ライセンスが必要です。
設定 | 説明 |
---|---|
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 |
ゲストをこのディレクトリに追加できるかどうかを示すブール値。 この設定は、 EnableMIPLabels が True に設定され、ゲスト ポリシーがグループに割り当てられている秘密度ラベルに関連付けられている場合に、オーバーライドされ、読み取り専用になる可能性があります。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 プロパティ値を明示的に更新する必要があります。 |
例: ディレクトリ レベルでグループのゲスト ポリシーを構成する
すべての設定テンプレートを取得します。
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"
設定 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"
特定のグループの設定を作成する
設定テンプレートを取得します。
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
リソースの種類 とそれに関連付けられているメソッドを参照してください。