当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何限制 Microsoft 365 用户创建新团队

作者:精品下载站 日期:2024-12-14 06:47:53 浏览:16 分类:玩电脑

如何限制 Microsoft 365 用户创建新团队


Microsoft Teams 确实可能会失控,特别是在默认情况下,组织中获得使用 Microsoft Teams 许可的任何用户都可以创建新团队,而无需太多控制。

随着时间的推移,作为 Microsoft 365 环境的管理员,您可能会发现自己的租户完全臃肿,充满了团队、组和数百个 SharePoint 网站。

在本教程中,我将向您展示如何将 Microsoft Teams 的创建限制为特定用户组。

先决条件

在本教程中,我们将使用 Microsoft Graph PowerShell 运行必要的脚本以阻止用户创建新团队。如果您尚未安装 Microsoft Graph PowerShell 模块,请参阅如何安装 Microsoft Graph PowerShell 模块

您还必须确保您拥有 Microsoft 365 租户的全局管理员访问权限。

为获准创建新团队的用户创建组

您需要做的第一件事是通过创建组并包括批准在该组中创建团队的用户来定义谁可以创建新团队。当然,不言而喻,您的团队管理员将能够创建新的团队,因此这仅适用于没有团队管理员角色(或包含该角色的角色,例如全局管理员)的任何用户。

使用 Microsoft 365 或 Azure AD 管理中心创建包含所需用户的新组。

[玩转系统] 如何限制 Microsoft 365 用户创建新团队

连接到 Microsoft Graph PowerShell

首先打开 PowerShell 并使用下面的脚本连接到 Microsoft Graph PowerShell。该脚本将导入必要的GroupsDirectoryManagement模块,选择 beta 图形配置文件并使用以下权限连接到 Microsoft Graph:

  • 组.读写.全部
  • 组成员.ReadWrite.all
  • 目录.ReadWrite.all
Import-Module Microsoft.Graph.Groups
Import-Module Microsoft.Graph.Identity.DirectoryManagement

Select-MgProfile -name beta

Connect-MgGraph -Scopes "Group.ReadWrite.All", "GroupMember.ReadWrite.All", "Directory.ReadWrite.All"

阻止所有用户创建新团队

要实施该阻止以阻止所有用户创建新团队,需要创建一个新目录设置,并将 EnableGroupCreation 参数设置为 False。让我们详细介绍一下如何使用 Microsoft Graph PowerShell 创建新的目录设置,该设置阻止用户创建新的团队,并且只允许特定的用户组创建新的团队。

首先,我们必须定义一些参数。在这里,我们定义 $groupname,这是允许创建新团队的组。然后我们有 $allowedgroupcreation 变量,该变量可以是 True False ,并确定默认情况下用户是否可以创建新团队。

$GroupName = "test"
$AllowGroupCreation = "False"

定义变量后,我们现在将使用 Get-MgGroup 将组的对象 id 存储到名为 $groupid 的变量中。然后,我们使用 IF 语句检查该变量是否有任何存储的信息,如果没有,则会向用户显示指定的组不存在。

$groupid = (Get-MgGroup | Where-Object {$_.DisplayName -match $GroupName}).id

If (!$groupid) {
    Write-host "The specified group '$groupname' does not exist" -ForegroundColor Yellow
    sleep 2
    Return
}

我们现在将对目录设置执行类似的任务。首先,我们将定义是否存在针对统一组的任何现有目录设置。然后我们将该结果存储在 $settingsObjectID 变量中。如果这是第一次完成此任务,则此变量将返回空,这是预期的。

$settingsObjectID = (Get-MgDirectorySetting | `
Where-object -Property Displayname -Value "Group.Unified" -EQ).id

这里我们检查变量是否为空,如果是,那么我们将在 $templateid 变量中存储统一组的目录设置模板的 ID。然后我们将定义一些参数来使用模板 ID 创建新的目录设置,然后运行 New-MgDirectorySetting 以基于模板创建新设置。我们在这里做的最后一件事是使用 Get-MgDirectorySetting 将新目录设置的 ID 存储到 $settingsobjectID 变量中。

if (!$SettingsObjectID) {
$templateid = (Get-MgDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}).id
$params = @{
	TemplateId = $templateid
}
New-MgDirectorySetting -BodyParameter $params
$settingsObjectID = (Get-MgDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}

现在我们已经创建了一个新的目录设置,或者了解已经存在一个现有的目录设置,我们需要使用所需的信息来更新它。在这里,我们使用之前定义的变量定义新参数。

$params = @{
	Values = @(
		@{
			Name = "EnableGroupCreation"
			Value = $AllowGroupCreation
		}
        @{
			Name = "GroupCreationAllowedGroupId"
			Value = $groupid
		}
	)
}

然后,我们使用 Update-MgDirectorySetting cmdlet 使用 $params 变量中存储的信息更新新的目录设置。

Update-MgDirectorySetting -DirectorySettingId $settingsObjectID `
-BodyParameter $params

脚本的最后一步是提醒用户设置已更新并在屏幕上显示新设置。

Write-host "Group settings have been updated" -ForegroundColor Green

(Get-MgDirectorySetting -DirectorySettingId $settingsObjectID).values

这是预期输出的样子。

[玩转系统] 如何限制 Microsoft 365 用户创建新团队

用于阻止用户创建团队的完整 Microsoft Graph PowerShell 脚本

这是完整的脚本供您复制和粘贴。它也可以在我的公共 GitHub 存储库中找到。

$GroupName = "test" #Specify the allowed Teams creators group name
$AllowGroupCreation = "False" #Specify True or False

Import-Module Microsoft.Graph.Groups
Import-Module Microsoft.Graph.Identity.DirectoryManagement
Select-MgProfile -name beta
Connect-MgGraph -Scopes "Group.ReadWrite.All", "GroupMember.ReadWrite.All", "Directory.ReadWrite.All"
 
$groupid = (Get-MgGroup | Where-Object {$_.DisplayName -match $GroupName}).id
 
If (!$groupid) {
    Write-host "The specified group '$groupname' does not exist" -ForegroundColor Yellow
}
 
$settingsObjectID = (Get-MgDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
 
if (!$SettingsObjectID) {
    $templateid = (Get-MgDirectorySettingTemplate | Where-object {$_.displayname -eq "group.unified"}).id
    $params = @{
    	TemplateId = $templateid
    }
    New-MgDirectorySetting -BodyParameter $params
    $settingsObjectID = (Get-MgDirectorySetting | Where-object -Property Displayname -Value "Group.Unified" -EQ).id
}
 
$params = @{
	Values = @(
		@{
			Name = "EnableGroupCreation"
			Value = "false"
		}
        @{
			Name = "GroupCreationAllowedGroupId"
			Value = $groupid
		}
	)
}
 
Update-MgDirectorySetting -DirectorySettingId $settingsObjectID `
-BodyParameter $params
 
Write-host "Group settings have been updated" -ForegroundColor Green
(Get-MgDirectorySetting -DirectorySettingId $settingsObjectID).values

Teams 创建后的最终用户体验被阻止

实施该阻止后,当用户打开其 Teams 客户端并单击加入或创建团队时,他们将缺少创建团队选项。

[玩转系统] 如何限制 Microsoft 365 用户创建新团队

但是,如果随后将该用户添加到团队创建者组,则现在可以使用创建团队选项。

[玩转系统] 如何限制 Microsoft 365 用户创建新团队

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯