首页 > 解决方案 > Azure 自动化运行 Sharepoint Online PowerShell Set-Commands

问题描述

我已设置 Azure Automation Runbook 来运行与 Sharepoint Online 交互的 PowerShell。我正在使用 2 个模块;Microsoft.Online.SharePoint.PowerShell 和 AzureAD。我的本地机器上有相同的版本。我还为 Azure 自动化指定了凭据,这些凭据与我在本地计算机上运行的凭据相同。出于某种原因,Azure 自动化 Runbook 不执行 Set-Commands。如果我在我的本地机器上运行脚本 Set-Commands 执行得很好。

$myCred = Get-AutomationPSCredential -Name 'test'

$adminSiteUrl = "https://mytenant-admin.sharepoint.com"

# Connect to SPOService
Connect-SPOService -Url $adminSiteUrl -Credential $myCred
Get-SPOSite -Identity https://mytenant-my.sharepoint.com | select sharingcapability
Set-SPOSite -Identity https://mytenant-my.sharepoint.com -SharingCapability ExternalUserSharingOnly

Get-SPOSite在输出中执行并写入,但Set-SPOSite不执行任何操作。我已将 Sharepoint 管理中心 UI 中的 Sharepoint 外部共享设置设置为仅允许 SharePoint 共享到 ExternalUserSharing,并将 OneDrive 共享设置为禁用。Set-SPOSite应该仅将 OneDrive 共享功能更改为 ExternalUserSharing,但事实并非如此。

SharePoint 管理中心外部共享设置

Azure 自动化不会引发任何错误并成功完成脚本。我还尝试Set-SPOUser了 cmdlet 从测试用户修改站点的IsSiteCollectionAdmin-property 只是为了测试它是否有效。它再次在我的本地机器上运行良好,但在 Azure Automation Runbook 上却不行。

更新:我尝试在 Azure Function 中实现相同的脚本,它的行为与 Azure Automation Runbook 完全相同。我安装了与在 Azure 自动化中使用相同的模块,仅此而已。并且仍然没有输出错误。

标签: azurepowershellautomationsharepoint-onlineazure-automation

解决方案


推荐阅读