脚本执行到一半时,从 Azure 自动化连接到 Office 365 PowerShell Endpoint 失败

脚本执行到一半时,从 Azure 自动化连接到 Office 365 PowerShell Endpoint 失败

我有一个在 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

远程会话似乎正在重新请求登录。如果是这样,我想知道在什么情况下它会这样做(例如,会话是否有设定的时间,然后要求进行身份验证)。

有人能解释一下为什么会发生这种情况以及我该怎么做才能解决它吗?

答案1

不要问为什么,每 50 个联系人删除并导入一个新会话即可。我这样做是为了更新 +1000 个用户的图片。但我仍然遇到这个问题。

我不认为微软想为大规模更新提供更好的解决方案。

相关内容