有没有一种方法可以将对 SharePoint 文件夹的访问权限限制为仅 Microsoft 团队的内部组织成员
Is there a way to restrict access to a SharePoint folder to only internal Organization Members of a Microsoft Team
我在我的组织内创建了一个名为 Foobar 的 Microsoft 团队。在这个团队中,我添加了以下成员:
- 阿尔菲
- 布伦达
- 查理(嘉宾)
- 道尔顿(来宾)
Alfie 和 Brenda 是员工并且拥有一个组织帐户。 Charlie 和 Dalton 是客户,应邀作为嘉宾加入团队。
现在在 SharePoint 中,我有以下用户组来限制对库的访问:
- 所有人
- 除外部用户外的所有人
- Foobar 会员
- Foobar 所有者
- Foobar 访客
前两个 Everyone
选项不可行,因为我还想将组织内的访问权限限制为仅当前团队成员,并且 Foobar Members
选项不可行,因为 来宾被视为会员。
有没有办法创建满足以下访问限制的用户组?
- 不是来宾的 Foobar 成员(因此只有组织帐户)
我针对我的问题制定了以下解决方案。
- Foobar 团队在以下 url
https://myorganization.sharepoint.com/sites/foobar
上有一个 Sharepoint 站点
- 当您在此团队中添加私人频道时,SharePoint 将在以下 url
https://myorganization.sharepoint.com/sites/foobar-privatechannelname
上创建一个子网站。
- 只有私人频道的成员才能访问此子站点。
- 私人频道只能包含已经在团队中的成员。
将 PowerShell Cmdlet 与 Microsoft Teams module 结合使用 我已将此解决方案自动化解决我的问题。
- 检索 Foobar 团队的所有用户。
- 仅使用组织成员的 UPN 过滤用户。
- 创建私人频道。
- 将团队的组织成员添加到私人频道。
# Get the team
$MyTeam = Get-Team -DisplayName "Foobar"
# Get the team users
$MyTeamUsers = Get-TeamUsers -GroupId $MyTeam.GroupId
# Filter on organization users
$MyOrganizationUsers = $MyTeamUsers | Where-Object { $_.User -match ".*@organization.com"
# Filter on team owner
$TeamOwner = $MyOrganizationUsers | Where-object { $_.Role -eq "Owner" } | Select-Object -first 1
# Create a private channel
$Channel = New-TeamChannel -GroupId $Team.GroupId -DisplayName $PrivateChannelName -MembershipType Private -Owner $TeamOwner.User
# Loop through team users and add them to the private channel
$MyOrganizationUsers | Foreach-Object -Process {
Add-TeamChannelUser -GroupId $Team.GroupId -DisplayName $PrivateChannelName -user $_.User -role $_.Role
}
我在我的组织内创建了一个名为 Foobar 的 Microsoft 团队。在这个团队中,我添加了以下成员:
- 阿尔菲
- 布伦达
- 查理(嘉宾)
- 道尔顿(来宾)
Alfie 和 Brenda 是员工并且拥有一个组织帐户。 Charlie 和 Dalton 是客户,应邀作为嘉宾加入团队。
现在在 SharePoint 中,我有以下用户组来限制对库的访问:
- 所有人
- 除外部用户外的所有人
- Foobar 会员
- Foobar 所有者
- Foobar 访客
前两个 Everyone
选项不可行,因为我还想将组织内的访问权限限制为仅当前团队成员,并且 Foobar Members
选项不可行,因为 来宾被视为会员。
有没有办法创建满足以下访问限制的用户组?
- 不是来宾的 Foobar 成员(因此只有组织帐户)
我针对我的问题制定了以下解决方案。
- Foobar 团队在以下 url
https://myorganization.sharepoint.com/sites/foobar
上有一个 Sharepoint 站点
- 当您在此团队中添加私人频道时,SharePoint 将在以下 url
https://myorganization.sharepoint.com/sites/foobar-privatechannelname
上创建一个子网站。- 只有私人频道的成员才能访问此子站点。
- 私人频道只能包含已经在团队中的成员。
将 PowerShell Cmdlet 与 Microsoft Teams module 结合使用 我已将此解决方案自动化解决我的问题。
- 检索 Foobar 团队的所有用户。
- 仅使用组织成员的 UPN 过滤用户。
- 创建私人频道。
- 将团队的组织成员添加到私人频道。
# Get the team
$MyTeam = Get-Team -DisplayName "Foobar"
# Get the team users
$MyTeamUsers = Get-TeamUsers -GroupId $MyTeam.GroupId
# Filter on organization users
$MyOrganizationUsers = $MyTeamUsers | Where-Object { $_.User -match ".*@organization.com"
# Filter on team owner
$TeamOwner = $MyOrganizationUsers | Where-object { $_.Role -eq "Owner" } | Select-Object -first 1
# Create a private channel
$Channel = New-TeamChannel -GroupId $Team.GroupId -DisplayName $PrivateChannelName -MembershipType Private -Owner $TeamOwner.User
# Loop through team users and add them to the private channel
$MyOrganizationUsers | Foreach-Object -Process {
Add-TeamChannelUser -GroupId $Team.GroupId -DisplayName $PrivateChannelName -user $_.User -role $_.Role
}