У меня есть требование отключить внешний доступ на сайтах SPOnline, связанных с новыми группами (например, MS Teams, Planner и т. Д.). Когда пользователь Office 365 подготавливает новую команду, планировщик или группу, сайт SPOnline подготавливается в фоновом режиме для хранения файлов для связанной группы. По умолчанию этот «фоновый» сайт SPOnline позволяет внешний обмен контентом.
Я создал модуль Runbook автоматизации Azure, который создает сеанс для Exchange Online с использованием сохраненных учетных данных. Затем я получаю список групп, созданных за последний день.
$groups = Get-UnifiedGroup -Filter "WhenCreated -gt '$dt'"
Затем я просматриваю список групп, подключаюсь к SPOnline с помощью AppId и AppSecret и отключаю совместное использование.
Connect-PnPOnline -AppId $appId -AppSecret $appSecret -Url $tenantUrl
$site = Get-PnPTenantSite -Url $group.SharePointSiteUrl
Write-Output "Sharing Capability: " $site.SharingCapability
if($site.SharingCapability -ne "Disabled")
{
#Set-PnPTenantSite -Url $site.Url -Sharing Disabled
Write-Output "Disabling external sharing"
}
else
{
Write-Output "External sharing already disabled"
}
Моя проблема в том, что наша производственная среда использует систему PCS для управления паролями к учетным записям. Это потребует дополнительных сценариев для доступа к PCS, проверки пароля, обновления сохраненных учетных данных, а затем выполнения работы, которую я хочу сделать.
Я могу получить список групп непосредственно из Azure AD, но возвращенные объекты не имеют свойств WhenCreated и SharePointSiteURL. Без этих двух частей информации я не могу ограничить свой сценарий прошлым днем или изменить настройку в SharePoint.
Моя цель - изучить любую альтернативу, которая позволит мне получить список новых групп и связанный URL-адрес сайта SPOnline без использования сохраненных учетных данных в службе автоматизации Azure. Любые идеи?
Спасибо за уделенное время.