如果要允许大多数组和团队的来宾访问,但想要阻止来宾访问的位置,则可以阻止单个组和团队的来宾访问。 (阻止来宾访问团队是通过阻止来宾访问关联的组来完成的。) 这可以防止添加新来宾,但不会删除组或团队中已有的来宾。
如果在组织中使用敏感度标签,我们建议使用它们控制每个组的来宾访问。 有关如何执行此作的信息, 请使用敏感度标签来保护 Microsoft Teams、Microsoft 365 组和 SharePoint 网站中的内容。 这是建议的方法。
使用 Microsoft Graph PowerShell 更改组设置
还可以使用 PowerShell 阻止向单个组添加新来宾。 (请记住,团队的关联 SharePoint 网站具有 单独的来宾共享控件。)
必须使用 betaMicrosoft Graph PowerShell 的版本来更改组级来宾访问设置:
如果之前尚未安装该模块,请参阅 安装 Microsoft Graph PowerShell 模块 并按照说明作。
如果已安装版本
beta,请运行Update-Module Microsoft.Graph.Beta以确保它是此模块的最新版本。
注意
必须分配全局管理员角色才能运行这些命令。 Microsoft 建议使用权限最少的角色。 使用权限较低的帐户有助于提高组织的安全性。 全局管理员是一个权限很高的角色,应仅限于在无法使用现有角色的紧急情况下使用。 若要了解详细信息,请参阅关于Microsoft 365 管理中心中的管理员角色。
运行以下脚本,将 GroupName> 更改为<要阻止来宾访问的组的名称。
Connect-MgGraph
$GroupName = "<GroupName>"
$templateId = (Get-MgBetaDirectorySettingTemplate | ? {$_.displayname -eq "group.unified.guest"}).Id
$groupID = (Get-MgBetaGroup -Filter "DisplayName eq '$GroupName'").Id
$params = @{
templateId = "$templateId"
values = @(
@{
name = "AllowToAddGuests"
value = "$false"
}
)
}
New-MgBetaGroupSetting -GroupId $groupID -BodyParameter $params
要验证设置,请运行以下命令:
(Invoke-GraphRequest -Uri https://graph.microsoft.com/beta/Groups/$groupId/settings -Method GET).values.values
如果要将设置切换回以允许来宾访问特定组,请运行以下脚本,将“GroupName”更改为要允许来宾访问的组的名称:
Connect-MgGraph
$GroupName = "<GroupName>"
$templateId = (Get-MgBetaDirectorySettingTemplate | ? {$_.displayname -eq "group.unified.guest"}).Id
$groupID = (Get-MgBetaGroup -Filter "DisplayName eq '$GroupName'").Id
$params = @{
templateId = "$templateId"
values = @(
@{
name = "AllowToAddGuests"
value = $true
}
)
}
$DirectorySettingId = (Invoke-GraphRequest -Uri https://graph.microsoft.com/beta/Groups/$groupId/settings -Method GET).value.id
Update-MgBetaGroupSetting -GroupId $groupID -BodyParameter $params -DirectorySettingId $DirectorySettingId
基于来宾的域允许或阻止来宾访问
可以允许或阻止使用特定域的来宾。 例如,如果你的企业 (Contoso) 与另一个业务 (Fabrikam) 建立了合作关系,则可以将 Fabrikam 添加到允许列表,以便你的用户可以将这些来宾添加到其组中。
有关详细信息,请参阅 允许或阻止来自特定组织的 B2B 用户的邀请。
将来宾添加到全局地址列表
默认情况下,来宾在 Exchange 全局地址列表中不可见。 使用下面列出的步骤使来宾在全局地址列表中可见:
通过运行以下命令查找来宾的 ObjectID:
Get-MgBetaUser -All | ?{$_.CreationType -eq "Invitation"}使用 ObjectID、GivenName、Surname、DisplayName 和 TelephoneNumber 的相应值运行以下命令。
Update-MgBetaUser -UserId cfcbd1a0-ed18-4210-9b9d-cf0ba93cf6b2 -ShowInAddressList -GivenName 'Megan' -Surname 'Bowen' -DisplayName 'Megan Bowen' -mobilePhone '555-555-5555'