У меня есть требование отключить внешний обмен на сайтах 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 Automation. Есть идеи?
Спасибо за ваше время.