グループの設定を構成するための Azure Active Directory コマンドレット
この記事では、Microsoft Entra の一部である Azure Active Directory (Azure AD) で PowerShell コマンドレットを使用して、グループを作成し、更新する手順を説明します。 このコンテンツは、Microsoft 365 グループ (統合グループと呼ばれることもあります) にのみ適用されます。
重要
一部の設定には、Azure Active Directory Premium P1 ライセンスが必要です。 詳細については、「テンプレート設定」の表を参照してください。
管理者でないユーザーがセキュリティ グループを作成できないようにするには、「Set-MSOLCompanySettings」に記載されているように Set-MsolCompanySettings -UsersPermissionToCreateGroupsEnabled $False を設定します。
Microsoft 365 グループの設定は、Settings オブジェクトおよび SettingsTemplate オブジェクトを使用して構成されます。 最初は、ディレクトリには Settings オブジェクトが表示されません。これは、ディレクトリが既定の設定で構成されているためです。 既定の設定を変更するには、Settings テンプレートを使用して新しい Settings オブジェクトを作成する必要があります。 Settings テンプレートは、Microsoft によって定義されます。 複数の Settings テンプレートがサポートされています。 ディレクトリの Microsoft 365 グループ設定を構成するには、"Group.Unified" という名前のテンプレートを使用します。 1 つのグループの Microsoft 365 グループ設定を構成するには、"Group.Unified.Guest" という名前のテンプレートを使用します。 このテンプレートは、Microsoft 365 グループへのゲスト アクセスを管理するために使用されます。
コマンドレットは、Azure Active Directory PowerShell V2 モジュールの一部です。 モジュールをダウンロードしてお使いのコンピューターにインストールする手順については、「Azure Active Directory PowerShell Version 2」を参照してください。 公開版のバージョン 2 モジュールは、PowerShell ギャラリーからインストールできます。
注意
Microsoft 365 にゲストの追加を制限する設定が設定されていても、管理者は引き続きゲスト ユーザーを Microsoft 365 グループに追加できます。 この設定では、管理者以外のユーザーの Microsoft 365 グループへのゲスト ユーザーの追加を制限します。
PowerShell コマンドレットのインストール
PowerShell コマンドを実行する前に、古いバージョンの Windows PowerShell 用 Azure Active Directory PowerShell for Graph モジュールをアンインストールし、Azure Active Directory PowerShell for Graph - パブリック プレビュー リリース (2.0.0.137 以降) をインストールする必要があります。
管理者として Windows PowerShell アプリを開きます。
以前のバージョンの AzureADPreview をアンインストールします。
Uninstall-Module AzureADPreview Uninstall-Module azuread最新バージョンの AzureADPreview をインストールします。
Install-Module AzureADPreview
ディレクトリ レベルでの設定の作成
次の手順では、ディレクトリ内のすべての Microsoft 365 グループに適用される設定をディレクトリ レベルで作成します。 Get-AzureADDirectorySettingTemplate コマンドレットは、グラフ用の Azure AD PowerShell プレビュー モジュールでのみ使用できます。
DirectorySettings コマンドレットでは、使用する SettingsTemplate の ID を指定する必要があります。 使用する ID を把握していない場合、このコマンドレットでは、すべての Settings テンプレートの一覧が返されます。
Get-AzureADDirectorySettingTemplateこのコマンドレットを呼び出すと、使用可能なすべてのテンプレートが返されます。
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-AzureADDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id $Template = Get-AzureADDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ次に、そのテンプレートに基づいて新しい Settings オブジェクトを作成します。
$Setting = $Template.CreateDirectorySetting()その後、設定オブジェクトを新しい値で更新します。 次の 2 つの例では、使用ガイドラインの値を変更し、機密ラベルを有効にします。 必要に応じて、テンプレートのこれらの設定またはその他の設定を設定します。
$Setting["UsageGuidelinesUrl"] = "https://guideline.example.com" $Setting["EnableMIPLabels"] = "True"次に設定を適用します。
New-AzureADDirectorySetting -DirectorySetting $Setting以下を使用して値を読み取ることができます。
$Setting.Values
ディレクトリ レベルでの設定の更新
設定テンプレートの UsageGuideLinesUrl の値を更新するには、Azure AD から現在の設定を読み取ります。そうしないと、UsageGuideLinesUrl 以外の既存の設定が上書きされる可能性があります。
Group.Unified SettingsTemplate から現在の設定を取得します。
$Setting = Get-AzureADDirectorySetting | ? { $_.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 TrueUsageGuideLinesUrl の値を削除するには、URL を編集して空の文字列にします。
$Setting["UsageGuidelinesUrl"] = ""更新をディレクトリに保存します。
Set-AzureADDirectorySetting -Id $Setting.Id -DirectorySetting $Setting
テンプレート設定
Group.Unified SettingsTemplate で定義される設定は次のとおりです。 特に記載のない限り、これらの機能には、Azure Active Directory Premium P1 ライセンスが必要です。
| 設定 | 説明 |
|---|---|
|
ディレクトリで管理者以外のユーザーによる Microsoft 365 グループの作成を許可するかどうかを示すフラグ。 この設定には、Azure Active Directory Premium 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 グループのコンテンツにアクセスできるかどうかを示すブール値。 この設定には、Azure Active Directory Premium P1 ライセンスは必要ありません。 |
|
ゲストの使用ガイドラインへのリンクの URL。 |
|
このディレクトリにゲストを追加することが許可されているかどうかを示すブール値。 EnableMIPLabels が True に設定されていて、グループに割り当てられている機密ラベルにゲスト ポリシーが関連付けられている場合は、この設定は上書きされ読み取り専用になります。 AllowToAddGuests 設定が組織レベルで False に設定されている場合、グループ レベルでの AllowToAddGuests 設定はすべて無視されます。 ゲスト アクセスを少数のグループに対してのみ有効にする場合は、AllowToAddGuests を組織レベルで True に設定した後、それを特定のグループに対して選択的に無効にする必要があります。 |
|
Microsoft 365 グループに適用できる有効な分類の値のコンマ区切りの一覧。 EnableMIPLabels == True の場合、この設定は当てはまりません。 |
|
Microsoft Purview コンプライアンス ポータルで公開されている秘密度ラベルを Microsoft 365 グループに適用できるかどうかを示すフラグ。 詳細については、Microsoft 365 グループへの秘密度ラベルの割り当てに関するページを参照してください。 |
例:ディレクトリ レベルでグループのゲスト ポリシーを構成する
すべての設定テンプレートを取得します。
Get-AzureADDirectorySettingTemplateディレクトリ レベルでグループのゲスト ポリシーを設定するには、Group.Unified テンプレートが必要です。
$Template = Get-AzureADDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ次に、そのテンプレートに基づいて新しい Settings オブジェクトを作成します。
$Setting = $template.CreateDirectorySetting()次に AllowToAddGuests 設定を更新します
$Setting["AllowToAddGuests"] = $False次に設定を適用します。
Set-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ).id -DirectorySetting $Setting以下を使用して値を読み取ることができます。
$Setting.Values
ディレクトリ レベルでの設定の読み取り
取得する設定の名前がわかっている場合、以下のコマンドレットを使って、現在の設定値を取得することができます。 この例では、"UsageGuidelinesUrl" という名前の設定の値を取得しています。
(Get-AzureADDirectorySetting).Values | Where-Object -Property Name -Value UsageGuidelinesUrl -EQ
次の手順では、ディレクトリ内のすべての Office グループに適用される設定をディレクトリ レベルで読み取ります。
既存のディレクトリ設定をすべて読み取ります。
Get-AzureADDirectorySetting -All $Trueこのコマンドレットでは、すべてのディレクトリ設定の一覧が返されます。
Id DisplayName TemplateId Values -- ----------- ---------- ------ c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...特定のグループの設定をすべて読み取ります。
Get-AzureADObjectSetting -TargetObjectId ab6a3887-776a-4db7-9da4-ea2b0d63c504 -TargetType GroupsSettings ID GUID を使用して、特定のディレクトリの Settings オブジェクトのすべてのディレクトリ設定値を読み取ります。
(Get-AzureADDirectorySetting -Id 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-AzureADDirectorySetting –Id c391b57d-5783-4c53-9236-cefb5c6ef323c
特定のグループに対する設定を作成する
"Groups.Unified.Guest" という名前の Settings テンプレートを検索します。
Get-AzureADDirectorySettingTemplate 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-AzureADDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQテンプレートから新しい Settings オブジェクトを作成します。
$SettingCopy = $Template1.CreateDirectorySetting()この設定を必要な値に設定します。
$SettingCopy["AllowToAddGuests"]=$Falseこの設定を適用するグループの ID を取得します。
$groupID= (Get-AzureADGroup -SearchString "YourGroupName").ObjectIdディレクトリ内に、必要なグループ用の新しい設定を作成します。
New-AzureADObjectSetting -TargetType Groups -TargetObjectId $groupID -DirectorySetting $SettingCopy設定を確認するには、次のコマンドを実行します。
Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups | fl Values
特定のグループの設定の更新
- 設定を更新するグループの ID を取得します。
$groupID= (Get-AzureADGroup -SearchString "YourGroupName").ObjectId - グループの設定を取得します。
$Setting = Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups - 必要に応じて、グループの設定を更新します。たとえば次のようにします。
$Setting["AllowToAddGuests"] = $True - 次に、この特定のグループに対する設定の ID を取得します。
次のような応答が取得されます。Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType GroupsId DisplayName TemplateId Values -- ----------- ----------- ---------- 2dbee4ca-c3b6-4f0d-9610-d15569639e1a Group.Unified.Guest 08d542b9-071f-4e16-94b0-74abb372e3d9 {class SettingValue {... - その後、この設定の新しい値を設定できます。
Set-AzureADObjectSetting -TargetType Groups -TargetObjectId $groupID -Id 2dbee4ca-c3b6-4f0d-9610-d15569639e1a -DirectorySetting $Setting - 設定の値を読み取って、それが正しく更新されているかどうかを確認できます。
Get-AzureADObjectSetting -TargetObjectId $groupID -TargetType Groups | fl Values
コマンドレット構文リファレンス
Azure Active Directory PowerShell のその他のドキュメントについては、 Azure Active Directory コマンドレットを参照してください。