Встановлення модуля Exchange Online PowerShell (покроково)
By Mirko Peters ·
Встановіть модуль 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. Так модуль встановиться для всіх користувачів комп'ютера. Якщо запустити команду від адміністратора не можна, додайте -Scope CurrentUser, і модуль встановиться лише для вашого облікового запису. Ця стаття для адміністраторів Exchange і Microsoft 365, які налаштовують новий адміністраторський ПК, джамп-сервер або 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 module. Модуль підключає вас до 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 сказано, що без відповідної політики виконання ви отримаєте помилку «Файли не можна завантажити, оскільки виконання сценаріїв вимкнено в цій системі». Рекомендоване в документації виправлення —
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 або новіший. Якщо завантаження завершується помилкою підключення на старому сервері, це першe, що варто перевірити.
Дуже старі системи – це глухий кут. 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.
- Відкрийте PowerShell. Оберіть Запустити від імені адміністратора, якщо хочете встановити модуль для всіх користувачів. Пропустіть цей крок, якщо плануєте встановлення лише для поточного користувача.
- Якщо це перший модуль, який ви встановлюєте на комп’ютер, спочатку оновіть PowerShellGet, а потім закрийте й знову відкрийте PowerShell. Microsoft рекомендує саме такий порядок перед першим встановленням.
- Для всіх користувачів виконайте
Install-Module -Name ExchangeOnlineManagement. Для лише вашого облікового запису виконайтеInstall-Module -Name ExchangeOnlineManagement -Scope CurrentUser. - Відповідайте на будь-які запити, які PowerShell показує під час встановлення. Щоб завантаження спрацювало, ваша організація має дозволяти доступ до PowerShell Gallery.
- Перевірте встановлення командою
Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation. - Погляньте на рядок
InstalledLocation. Шлях у%ProgramFiles%\WindowsPowerShell\Modules\означає, що модуль встановлено для всіх користувачів. Шлях у вашій папці Documents означає, що модуль встановлено лише для поточного користувача. - Перевірте в новому вікні командою
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, щоб переконатися, що налаштування працює.