Есть ли способ ограничить доступ к папке SharePoint только внутренним организациям? Членам команды Microsoft? - PullRequest
0 голосов
/ 13 января 2020

Я создал команду Microsoft под названием Foobar внутри моей организации. В эту команду я добавил следующих участников:

  • Альф ie
  • Бренда
  • Чарль ie (Гость)
  • Далтон (Гость)

Alf ie и Бренда являются сотрудниками и имеют учетную запись организации. Charl ie и Dalton являются клиентами и приглашаются в качестве гостей в команду.

Теперь в SharePoint у меня есть следующие группы пользователей для ограничения доступа к библиотекам:

  • Все
  • Все, кроме внешних пользователей
  • Участники Foobar
  • Владельцы Foobar
  • Посетители Foobar

Первые две опции Everyone не являются Я также хочу ограничить доступ внутри организации только к текущим членам Команды, а опция Foobar Members недействительна, поскольку Гости отображаются как Участники .

Есть ли способ создать группу пользователей, соответствующую следующим ограничениям доступа?

  • Участники Foobar, которые не являются гостями (поэтому являются только учетными записями организации)

1 Ответ

0 голосов
/ 20 января 2020

Я сформулировал следующее решение для моей проблемы.

  • У команды Foobar есть сайт Sharepoint по следующему адресу https://myorganization.sharepoint.com/sites/foobar
  • Когда вы добавляете частный канал в этом Команда SharePoint создаст дочерний сайт по следующему адресу https://myorganization.sharepoint.com/sites/foobar-privatechannelname.
    • Этот дочерний сайт доступен только для участников частного канала.
    • А частный канал может содержать только участников, которые уже находятся в команде.

Использование командлетов PowerShell с модулем Microsoft Teams Я автоматизировал это решение своей проблемы.

  1. Извлечение всех пользователей из команды Foobar.
  2. Фильтрация пользователей по членам организации только по их UPN.
  3. Создание частного канала.
  4. Добавьте членов организации в личный канал.
# 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
}
...