PowerShell · 19.04.2022

Вернуть OWA и ECP в Exchange

Скрипт написан по следам вот этой статьи.

После обновления MS Exchange 2016 потерялся доступ к серверу как по owa, так и по ecp. Что характерно — страница с формой входа исправно работает, а после авторизации сервер сообщает об ошибке доступа с кодом 500.

Поиск по форумам сначала привёл на вот это обсуждение и только потом нашлась вышеуказанная статья. Все команды указанные там, я объединил в скрипт и автоматизировал получение отпечатка скрипта. По сути, запустил и забыл.

Вот код:

## Заголовок окна ##
[System.Console]::Title = "Исправление ошибки доступа к OWA и ECP"

## Добавление командлетов Exchange в сессию ##
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

## Установка переменных ##
$thumbprint = (Get-AuthConfig).CurrentCertificateThumbprint
$domain = (Get-ADDomain).DNSRoot

## Генерация сертификата ##
New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName $domain #@()

## Настройка параметров авторизации ##
Set-AuthConfig -NewCertificateThumbprint $thumbprint -NewCertificateEffectiveDate (Get-Date)
Set-AuthConfig -PublishCertificate
Set-AuthConfig -ClearPreviousCertificate

## Перезапуск служб ##
Restart-WebAppPool MSExchangeOWAAppPool
Restart-WebAppPool MSExchangeECPAppPool