Я настроил Azure Automation Runbook для запуска PowerShell, который взаимодействует с Sharepoint Online. Я использую 2 модуля;Microsoft.Online.SharePoint.PowerShell и AzureAD. У меня есть такие же версии на моей локальной машине. Также я указал учетные данные для Azure Automation, и это те же учетные данные, которые я запускаю на своем локальном компьютере. По какой-то причине Azure Automation Runbook не выполняет команды Set. Если я запускаю скрипт на моей локальной машине, 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 из пользовательского интерфейса Sharepoint Admin Center, чтобы разрешить общий доступ к SharePoint только для ExternalUserSharing и общий доступ к OneDrive отключен. Set-SPOSite
должен изменить способность совместного доступа OneDrive только на ExternalUserSharing, но это не так.
Автоматизация Azure не выдает никаких ошибок и успешно завершает сценарий. Я также пытался Set-SPOUser
командлетом изменить свойство IsSiteCollectionAdmin
сайта от тестового пользователя, чтобы проверить, работает он или нет. И снова он работал нормально на моем локальном компьютере, но не в Azure Automation Runbook.
ОБНОВЛЕНИЕ : я попытался реализовать тот же сценарий в функции Azure, и он работает точно так же, как Azure Automation Runbook. Я установил те же модули, что и в Azure Automation, и больше ничего. И все еще нет ошибок в выводе.