我需要在与新组关联的SPOnline网站(例如,MS Teams,Planner等)上禁用外部共享。当Office 365用户设置新的团队,计划者或组时,将在后台设置SPOnline网站以存储关联组的文件。默认情况下,此“后台” SPOnline网站允许外部共享内容。
我创建了一个Azure自动化运行手册,该手册使用存储的凭据创建了到Exchange Online的会话。然后,我会获得过去一天创建的组的列表。
$groups = Get-UnifiedGroup -Filter "WhenCreated -gt '$dt'"
然后使用组列表进行遍历,使用AppId和AppSecret连接到SPOnline并禁用共享。
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获取组列表,但是返回的对象没有WhileCreated和SharePointSiteURL属性。没有这两条信息,我将无法将脚本限制在过去的一天,也无法更改SharePoint中的设置。
我的目标是探索任何备选方法,使我无需使用Azure自动化中存储的凭据即可获取新组的列表和关联的SPOnline网站URL。有什么想法吗?
谢谢您的时间。
答案 0 :(得分:1)
通常只有四个选项: