У меня есть сценарий, работающий под учетной записью службы автоматизации Azure. Скрипт подключается к конечной точке Office 365 (https://outlook.office365.com/powershell-liveid/) и использует Set-Contact для обновления некоторой контактной информации для 5000 контактов (я унаследовал это, поэтому, пожалуйста, не спрашивайте :)). Скрипт работает чуть более 57 минут.
Проблемы, которые я теперь начинаю получать, заключаются в том, что обновляется 2000 контактов, затем я получаю следующие ошибки в журналах:
Starting a command on the remote server failed with the following error message : The I/O operation has been aborted because of either a thread exit or an application request. For more information, see the about_Remote_Troubleshooting Help topic.
Я получаю это однажды, потом получаю:
Exception calling "GetSteppablePipeline" with "1" argument(s): "Exception calling "PromptForCredential" with "4" argument(s): "A command that prompts the user failed because the host program or the command type does not support user interaction. The host was attempting to request confirmation with the following message: Enter your credentials for https://outlook.office365.com/powershell-liveid/.""
Команды, используемые для подключения (несложные):
$a = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 'https://outlook.office365.com/powershell-liveid/' -Credential $Credential -Authentication Basic -AllowRedirection -Erroraction Stop
Import-PSSession -Session $s -CommandName New-MailContact, Set-Contact, Remove-MailContact -AllowClobber | Out-Null
Похоже, что удаленный сеанс повторно запрашивает логин. Если это так, мне интересно, при каких обстоятельствах он это сделает (например, у сеанса есть установленное время, а затем запрашивается аутентификация).
Может ли кто-нибудь пролить свет на то, почему это происходит, и что я могу сделать, чтобы решить эту проблему?