Как закрыть подключения Office365 Exchange Powershell

Когда я подключусь к Office365 Exchange, появится сообщение об ошибке. Как я могу закрыть эти соединения?

Скрипт:

$userCredential = Get-AutomationPSCredential -Name 'automation'


$ExoSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection
Import-PSSession $ExoSession

Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox" -or RecipientTypeDetails -eq "SharedMailbox" -or RecipientTypeDetails -eq "RoomMailbox" -or RecipientTypeDetails -eq "DiscoveryMailbox"} | Set-Mailbox -AuditEnabled $true -AuditLogAgeLimit 180 -AuditAdmin Update, MoveToDeletedItems, SoftDelete, HardDelete, SendAs, SendOnBehalf, Create, UpdateFolderPermission -AuditDelegate Update, SoftDelete, HardDelete, SendAs, Create, UpdateFolderPermissions, MoveToDeletedItems, SendOnBehalf -AuditOwner UpdateFolderPermission, MailboxLogin, Create, SoftDelete, HardDelete, Update, MoveToDeletedItems

Ошибка:

New-PSSession : [outlook.office365.com] Processing data from remote server outlook.office365.com failed with the 
 following error message: 
 [AuthZRequestId=fe5eb99c-df73-4899-b445-ad91e0ecf1f3][FailureCategory=AuthZ-AuthorizationException] Fail to create a 
 runspace because you have exceeded the maximum number of connections allowed : 3 for the policy party : MaxConcurrency. 
 Please close existing runspace and try again.
 Policy: CN=GlobalThrottlingPolicy_cfaee113-6e8e-4889-aa2c-99baf345f85f,CN=Global Settings,CN=ExchangeLabs,CN=Microsoft 
 Exchange,CN=Services,CN=Configuration,DC=eurprd04,DC=prod,DC=outlook,DC=com; 
 LockRemaining: 00:00:00 For more information, see the about_Remote_Troubleshooting Help topic.
 At line:4 char:15
 + ... xoSession = New-PSSession -ConfigurationName Microsoft.Exchange -Conn ...
 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], 
 PSRemotingTransportException
 + FullyQualifiedErrorId : IncorrectProtocolVersion,PSSessionOpenFailed

Вы хотите проверить, не удалось ли установить соединение?

I.T Delinquent 22.05.2019 10:01

Мы ничего от вас не слышали. Мой ответ решил вашу проблему? Если это так, рассмотрите принятие, нажав ✓ слева. Это поможет другим с похожим вопросом найти его легче.

Theo 30.05.2019 11:28
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
2
3 258
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете закрыть/удалить сеанс прямо после, когда вы закончили свой код:

# your code
# ...

if ($ExoSession) { Remove-PSSession -Session $ExoSession -ErrorAction SilentlyContinue } }

Или, добавив эту строку до, создающую новый сеанс, чтобы сначала удалить все возможные существующие сеансы:

Get-PSSession | Where-Object { $_.ConfigurationName -eq 'Microsoft.Exchange' } | Remove-PSSession -ErrorAction SilentlyContinue

надеюсь, это поможет

Другие вопросы по теме