用於設定群組設定的 Microsoft Entra Cmdlet
本文包含在 Microsoft Entra ID (Microsoft Entra 的一部分) 中使用 PowerShell Cmdlet 以建立和更新群組的指示。 此內容僅適用 Microsoft 365 群組 (有時稱為整合群組)。
重要
某些設定需要 Microsoft Entra ID P1 授權。 如需詳細資訊,請參閱範本設定資料表。
如需有關如何防止非系統管理員的使用者建立安全性群組的詳細資訊,請依照 Update-MgPolicyAuthorizationPolicy (英文) 中所述的內容將 AllowedToCreateSecurityGroups
屬性設定為 False。
Microsoft 365 群組設定是使用 Settings 物件和 SettingsTemplate 物件所設定。 一開始,您在目錄中不會看到任何設定物件,因為已使用預設設定來設定您的目錄。 若要變更預設設定,您必須使用設定範本來建立新的設定物件。 設定範本是由 Microsoft 所定義。 有數個不同的設定範本。 若要設定目錄的 Microsoft 365 群組設定,您要使用名為 "Group.Unified" 的範本。 若要在單一群組上設定 Microsoft 365 群組設定,請使用名為 "Group.Unified.Guest" 的範本。 此範本是用來管理 Microsoft 365 群組的來賓存取權。
這些 Cmdlet 是 Microsoft Graph PowerShell 模組的一部分。 如需如何在電腦上下載並安裝此模組的指示,請參閱安裝 Microsoft Graph PowerShell SDK (英文)。
注意
自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被淘汰。 若要深入了解,請閱讀淘汰更新。 在此日期之後,對這些模組的支援僅限於對 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 淘汰的模組將繼續運作至 2025 年 3 月 30 日。
我們建議移轉至 Microsoft Graph PowerShell 以與 Microsoft Entra ID (以前稱為 Azure AD) 互動。 如需了解常見的移轉問題,請參閱移轉常見問題。 注意:MSOnline 1.0.x 版可能會在 2024 年 6 月 30 日之後發生中斷。
注意
有了設定來限制將來賓新增至 Microsoft 365 群組之後,管理員仍會將來賓使用者新增至 Microsoft 365 群組。 該設定會限制非系統管理員的使用者,使其無法將來賓使用者新增至 Microsoft 365 群組。
安裝 PowerShell Cmdlets
依照安裝 Microsoft Graph PowerShell SDK (英文) 中所述的內容安裝 Microsoft Graph Cmdlet。
以系統管理理員身分開啟 Windows PowerShell 應用程式。
安裝 Microsoft Graph Cmdlet。
Install-Module Microsoft.Graph -Scope AllUsers
安裝 Microsoft Graph Beta Cmdlet。
Install-Module Microsoft.Graph.Beta -Scope AllUsers
建立目錄層級的設定
這些步驟會建立目錄層級的設定,其會套用至目錄中的所有 Microsoft 365 群組。
在 DirectorySettings Cmdlet 中,您必須指定需要使用的 SettingsTemplate 識別碼。 如果您不知道此識別碼,這個 Cmdlet 會傳回所有設定範本的清單:
Get-MgBetaDirectorySettingTemplate
這個 Cmdlet 呼叫會傳回所有可用的範本︰
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,首先您需要取得 SettingsTemplate 物件,此物件會定義使用方針 URL 值;也就是 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 (英文) Cmdlet 來更新值:
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" 其中的 Classification 符合 ClassificationList 中的項目。 當 EnableMIPLabels == True,此設定不適用。 屬性 ClassificationDescriptions 的字元限制為 300,而且無法將逗號逸出。 |
|
如果尚未指定,則是做為群組預設分類的分類。 當 EnableMIPLabels == True,此設定不適用。 |
|
長度上限為 64 個字元的字串,用以定義為 Microsoft 365 群組設定的命名慣例。 如需詳細資訊,請參閱對 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 屬性值。 群組管理員需要明確地更新群組 isEnabled 屬性值,以變更現有 Microsoft 365 群組的回寫狀態。 |
範例:在目錄層級設定群組的來賓原則
取得所有設定範本:
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 (英文) Cmdlet 建立新的設定物件:
$Setting = New-MgBetaDirectorySetting -BodyParameter $params
您可以使用下列來讀取值:
$Setting.Values
讀取目錄層級的設定
如果您知道需要擷取的設定名稱,可以使用以下 Cmdlet 來擷取目前的設定值。 在此範例中,我們會擷取名為 "UsageGuidelinesUrl" 的設定值。
(Get-MgBetaDirectorySetting).Values | where -Property Name -Value UsageGuidelinesUrl -EQ
這些步驟會讀取目錄層級的設定,其會套用至目錄中的所有 Office 群組。
讀取所有現有的目錄設定:
Get-MgBetaDirectorySetting -All
此 Cmdlet 會傳回所有目錄設定的清單:
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"
使用設定識別碼 GUID,讀取特定目錄設定物件的所有目錄設定值:
(Get-MgBetaDirectorySetting -DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323").values
此 Cmdlet 會傳回針對此特定群組的這個設定物件中的名稱和值:
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
取得您要套用此設定的群組的識別碼:
$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
更新特定群組的設定
取得您要更新其設定的群組的識別碼:
$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
Cmdlet 語法參考
您可以在 Microsoft Entra Cmdlet (英文) 找到更多 Microsoft Graph PowerShell 文件。
使用 Microsoft Graph 來管理群組設定
若要使用 Microsoft Graph 來設定和管理群組設定,請參閱 groupSetting
資源類型 (英文) 及其相關聯的方法。