M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Установка модуля Exchange Online PowerShell: пошаговая инструкция

By ·

Установите модуль Exchange Online PowerShell командой Install-Module ExchangeOnlineManagement: требования, область установки, проверка версии, обновление и исправление ошибок.

Automatically translated with AI from the original post. Read the English original

Чтобы установить модуль Exchange Online PowerShell, откройте PowerShell от имени администратора и выполните Install-Module -Name ExchangeOnlineManagement. Модуль установится для всех пользователей компьютера. Если запустить PowerShell от имени администратора не получается, добавьте -Scope CurrentUser, и модуль установится только для вашей учётной записи. Статья адресована администраторам Exchange и Microsoft 365, которые настраивают новый административный компьютер, jump-сервер или build-агент. В ней рассмотрены требования, шаги установки и проверки, обновление и удаление модуля, а также ошибки, с которыми чаще всего сталкиваются.

Ключевые выводы

  • Установите модуль Exchange Online PowerShell командой Install-Module -Name ExchangeOnlineManagement в окне PowerShell, запущенном от имени администратора, для всех пользователей.
  • Если прав администратора нет, используйте -Scope CurrentUser. Обновляя модуль позже, указывайте ту же область установки, что и при установке.
  • Windows PowerShell 5.1 требует .NET Framework 4.7.2. Поддержка PowerShell 7 зависит от версии модуля: для версии 3.10.0 и новее нужен PowerShell 7.6.0 или новее.
  • Проверьте результат командой Get-InstalledModule: она покажет версию модуля и то, в каком расположении он находится, для всех пользователей или для текущего пользователя.
  • Модулю больше не нужна базовая проверка подлинности в WinRM, так как его подключения используют REST.

Что представляет собой модуль и что нужно подготовить заранее

Модуль называется ExchangeOnlineManagement. В документации Microsoft он называется модулем Exchange Online PowerShell V3. Модуль подключает вас к Exchange Online PowerShell, к Security & Compliance PowerShell и к PowerShell для встроенной надстройки безопасности для локальных почтовых ящиков. Он использует современную проверку подлинности, поэтому работает как с многофакторной аутентификацией, так и без неё.

Одно изменение затрагивает старые скрипты. Microsoft сообщает, что с октября 2023 года подключения через REST API заменили прежние подключения удалённого PowerShell с базовой проверкой подлинности. Подключениям модуля не нужна базовая проверка подлинности в WinRM, поэтому включать её там не требуется.

Перед установкой проверьте следующие требования:

  • Версия PowerShell и .NET. Windows PowerShell 5.1 требует .NET Framework 4.7.2. В Windows 11, Windows Server 2022 и Windows Server 2025 предустановлена версия 4.8.x, так что здесь всё в порядке. PowerShell 7 тоже работает; минимальная версия зависит от версии модуля, и об этом рассказано в следующем разделе.
  • Политика выполнения. На странице Microsoft сказано, что без подходящей политики выполнения появляется ошибка «Files cannot be loaded because running scripts is disabled on this system». Рекомендуемое исправление: Set-ExecutionPolicy RemoteSigned, выполняемая от имени администратора. Прежде чем что-либо менять, прочитайте страницу Microsoft о политиках выполнения, а если компьютер управляется, сначала согласуйте изменения со службой безопасности.
  • PowerShellGet и PackageManagement. Для REST-подключений в Windows нужен PowerShellGet, а PowerShellGet зависит от PackageManagement. Без них может появиться ошибка об отсутствующем командлете Update-ModuleManifest. Microsoft также указывает, что предварительные версии этих двух модулей могут вызывать проблемы с подключением, и приводит команду для просмотра установленных версий: Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions.
  • TLS 1.2. В Windows PowerShell 5.1 на старых версиях Windows PowerShell Gallery требует TLS 1.2 или более позднюю версию. Если загрузка завершается ошибкой подключения на старом сервере, в первую очередь проверьте именно это.

Очень старая система — тупик. Windows 7 SP1 и Windows Server 2008 R2 SP1 поддерживают только версию модуля 2.0.3, и Microsoft указывает, что эта версия не может подключаться, так как в ней нет поддержки REST.

Какая версия PowerShell подходит для какой версии модуля

Windows PowerShell 5.1 работает со всеми версиями модуля при соблюдении требования к .NET, описанного выше. Для PowerShell 7 Microsoft приводит следующее соответствие:

  • Модуль 3.10.0 или новее требует PowerShell 7.6.0 или новее, который использует .NET 10.
  • Модули от 3.5.0 до 3.9.2 требуют PowerShell 7.4.0 или новее, который использует .NET 8.
  • Модули от 3.0.0 до 3.4.0 требуют PowerShell 7.2.0 или новее, который использует .NET 6.
  • Модуль 2.0.4 и более поздние версии линейки 2.x требуют PowerShell 7.0.3.

Поэтому, если вы установили последний модуль на компьютере с PowerShell 7.4, ожидайте проблем. Либо обновите PowerShell, либо установите более старую версию модуля с параметром -RequiredVersion. На момент написания Microsoft указывает версию 3.10.1 как текущую. Проверьте страницу модуля, чтобы узнать актуальный номер на момент вашего чтения.

Microsoft также поддерживает модуль в Linux и macOS. В Linux подключение через прокси требует версию модуля 3.0.0 или новее. В обеих системах Connect-IPPSSession, а вместе с ним Security & Compliance PowerShell, недоступен в PowerShell 7. Если вы управляете Exchange Online с Mac, это единственное ограничение, которое нужно учесть при планировании инструментов.

Windows 10 заслуживает короткого замечания. Клиентские редакции перестали получать поддержку в октябре 2025 года, и Microsoft заявляет, что они не поддерживают .NET 8.0 и .NET 10.0. Для модуля 3.5.0 и новее с PowerShell 7.4 или новее работают только редакции Enterprise и IoT LTSC, которые ещё находятся в периоде поддержки.

Проверьте версию PowerShell перед установкой

Двухминутная проверка избавит от лишних догадок позже. В окне, где вы планируете работать, выполните $PSVersionTable.PSVersion, чтобы узнать, какую версию PowerShell вы используете. Сравните результат с таблицей соответствия выше. В Windows PowerShell 5.1 также нужно знать версию PowerShellGet, поэтому выполните Get-InstalledModule PowerShellGet -AllVersions. Если эта команда показывает предварительную версию, удалите её или обновите до стабильного выпуска, прежде чем продолжить. На странице модуля Microsoft предварительные сборки PowerShellGet и PackageManagement названы источником проблем с подключением.

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

Пошаговая установка модуля Exchange Online PowerShell

Эти шаги работают в Windows PowerShell 5.1 и в PowerShell 7.

  1. Откройте PowerShell. Выберите Запуск от имени администратора, если хотите установить модуль для всех пользователей. Пропустите этот шаг, если планируете установку только для текущего пользователя.
  2. Если это первый модуль, который вы устанавливаете на компьютере, сначала обновите PowerShellGet, затем закройте и снова откройте PowerShell. Microsoft рекомендует именно такой порядок перед первой установкой.
  3. Выполните Install-Module -Name ExchangeOnlineManagement для всех пользователей. Если нужно только для вашей учётной записи, выполните Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser.
  4. Отвечайте на любые запросы, которые PowerShell покажет во время установки. Для успешной загрузки ваша организация должна разрешать доступ к PowerShell Gallery.
  5. Проверьте установку командой Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation.
  6. Посмотрите строку InstalledLocation. Путь в %ProgramFiles%\WindowsPowerShell\Modules\ означает, что модуль установлен для всех пользователей. Путь в папке «Документы» означает, что модуль установлен только для текущего пользователя.
  7. Проверьте подключение в новом окне командой Connect-ExchangeOnline -UserPrincipalName admin@contoso.com. Подробности о подключении см. в статье Connect to Exchange Online PowerShell.

Хотите попробовать сборку предварительной версии? Добавьте -AllowPrerelease. Чтобы выбрать конкретную预览 версию, укажите ее вместе с -RequiredVersion. Команда Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease покажет все доступные версии, а без -AllowPrerelease будут показаны только общедоступные версии. Не устанавливайте предварительную сборку на рабочий сервер администрирования без веских причин. Сначала проверьте ее на свободном компьютере.

Обновление и удаление модуля

Microsoft регулярно выпускает новые версии модуля, а описание изменений на его странице показывает, что именно изменилось. Например, в версии 3.7.0 справка по командам перестала загружаться по умолчанию, а в версии 3.9.2 параметр UseRpsSession объявлен устаревшим. Обновление выполняется одной командой: Update-Module -Name ExchangeOnlineManagement. Для установки только для текущего пользователя добавьте -Scope CurrentUser. Microsoft рекомендует использовать ту же область действия, что и при установке. Несовпадение может оставить модуль установленным в обоих расположениях, и тогда будет непонятно, какой из них использует PowerShell.

Поэтому проверку Get-InstalledModule из шага 5 стоит выполнять до и после обновления. Если вы видите две версии, выясните, к какой области действия относится каждая из них.

Чтобы удалить модуль, выполните Uninstall-Module -Name ExchangeOnlineManagement. Если модуль был установлен для всех пользователей, выполняйте команду от имени администратора. После этого закройте открытые окна PowerShell, поскольку уже загруженный модуль остается в памяти до завершения сеанса.

Устранение распространенных ошибок установки

На странице модуля Microsoft перечислены некоторые конкретные ошибки и способы их устранения.

  • «No match was found for the specified search criteria and module name 'ExchangeOnlineManagement'». Выполните Register-PSRepository -Default, чтобы снова зарегистрировать PowerShell Gallery как репозиторий. Затем повторите установку.
  • Ошибки о PowerShellGetFormatVersion или о невозможности загрузить провайдеры. Обновите PowerShellGet и перезапустите PowerShell.
  • Загрузка завершается с ошибкой на старом компьютере с Windows PowerShell 5.1. Для PowerShell Gallery требуется TLS 1.2 или более поздняя версия. Microsoft приводит ссылку на запись в блоге о поддержке TLS в галерее, где есть подробности.
  • «Files cannot be loaded because running scripts is disabled on this system». Настройте политику выполнения, как описано выше, от имени администратора.
  • «Cannot find a cmdlet Update-Manifest» или похожее сообщение о Update-ModuleManifest при подключении. Отсутствует PowerShellGet или PackageManagement. Установите оба компонента и перезапустите PowerShell.

Если установка прошла успешно, но позднее подключение завершается странной ошибкой сборки, причина обычно в другом модуле в том же сеансе. Откройте новое окно и сначала выполните подключение.

Распространённые ошибки

  • Смешивание областей действия. Если сначала установить модуль для всех пользователей, а затем обновлять его с -Scope CurrentUser, на компьютере окажутся две версии. Выберите одну область действия и придерживайтесь ее.
  • Использование версии PowerShell, не подходящей для модуля. Новейший модуль со старой версией PowerShell 7 завершается с ошибками, которые похожи на ошибки подключения. Сравните свои версии с таблицей выше.
  • Установка предварительной версии на рабочем сервере. Предварительные версии предназначены для тестирования. Для повседневной работы используйте общедоступную версию.
  • Игнорирование PowerShellGet. Отсутствующая или предварительная версия PowerShellGet может нарушить REST-подключения, как описано на странице Microsoft. Если свежая установка не подключается, проверьте ее в первую очередь.
  • Использование устаревших руководств. Инструкции, в которых предлагается включить базовую проверку подлинности в WinRM, описывают устаревший метод удаленного PowerShell. Он вам не нужен.

Связанные темы для изучения

  • Подключение с помощью модуля: после установки следующий вопрос — как выполнить вход, с MFA или без него. Это описано в статье о модуле Exchange Online PowerShell и в сопутствующей статье о подключении.
  • Аутентификация только приложения: для запланированных скриптов нужны сертификат или управляемая идентичность, а не введенный вручную пароль.
  • Использование модуля в PowerShell 7 на Linux и macOS: поддерживаемые версии зависят от операционной системы, поэтому сначала проверьте список совместимости.
  • Управление доступом к PowerShell: администратор Exchange может включить или отключить доступ к Exchange Online PowerShell для каждого пользователя.
  • Регулярное обновление модулей: установите регулярное напоминание о проверке новых версий модуля, так как Microsoft время от времени повышает минимальную версию PowerShell.

Следующий шаг

Чтобы установить модуль Exchange Online PowerShell, выполните Install-Module -Name ExchangeOnlineManagement, проверьте установку командой Get-InstalledModule и сохраняйте один и тот же параметр области действия (scope) при каждом последующем обновлении. Затем подключитесь командой Connect-ExchangeOnline в новом окне и выполните Get-AcceptedDomain, чтобы убедиться, что настройка работает.

Entities in this article

Exchange Online PowerShell PowerShell

Related articles

RSS