В этой статье содержатся инструкции по подключению к Exchange Online PowerShell с помощью модуля Exchange Online PowerShell с многофакторной проверкой подлинности (MFA) или без нее.
Модуль Exchange Online PowerShell использует современную проверку подлинности для подключения ко всем связанным с Exchange средам PowerShell в Microsoft 365: Exchange Online PowerShell, безопасности & соответствия требованиям PowerShell и автономной exchange Online Protection (EOP) PowerShell. Дополнительные сведения о модуле Exchange Online PowerShell см. в статье Сведения о модуле Exchange Online PowerShell.
После подключения управление наличием доступа к командлетам и параметрам осуществляется путем управления доступом на основе ролей (RBAC). Дополнительные сведения см. в статье Разрешения в Exchange Online.
Если модуль уже установлен, обычно этот шаг можно пропустить и запустить Connect-ExchangeOnline , не загружая модуль вручную.
После установки модуля откройте окно PowerShell и загрузите модуль, выполнив следующую команду:
PowerShell
Import-Module ExchangeOnlineManagement
Шаг 2. Подключение и проверка подлинности
Примечание
Команды connect, скорее всего, завершатся ошибкой, если путь к профилю учетной записи, используемой для подключения, содержит специальные символы PowerShell (например, $). Обходной путь заключается в подключении с помощью другой учетной записи, которая не содержит специальных символов в пути к профилю.
В команде, которую вам нужно выполнить, используется следующий синтаксис:
Если вы используете параметр ExchangeEnvironmentName, вам не требуется применять параметры ConnectionUri или AzureADAuthorizationEndPointUrl. Общие значения для параметра ExchangeEnvironmentName описаны в следующей таблице:
Среда
Значение
Microsoft 365 или Microsoft 365 GCC
н/д*
Microsoft 365 GCC High
O365USGovGCCHigh
Microsoft 365 DoD
O365USGovDoD
Office 365 Germany
O365GermanyCloud
Служба Office 365, предоставляемая 21Vianet
O365China
* Обязательное значение O365Default также является значением по умолчанию, поэтому не нужно использовать параметр ExchangeEnvironmentName в средах Microsoft 365 или Microsoft 365 GCC.
В параметре DelegatedOrganization указывается организация клиента, которой вы хотите управлять в качестве авторизованного партнера корпорации Майкрософт. Дополнительные сведения см. в примерах подключения далее в этой статье.
В зависимости от характера организации можно опустить параметр UserPrincipalName в команде подключения. Вместо этого введите имя пользователя и пароль или выберите сохраненные учетные данные после выполнения команды Connect-ExchangeOnline. Если это не сработает, необходимо использовать параметр UserPrincipalName.
Если вы не используете многофакторную проверку подлинности, у вас должна быть возможность применить параметр Credential вместо параметра UserPrincipalName. Сначала запустите команду $Credential = Get-Credential, введите имя пользователя и пароль, а затем используйте имя переменной для параметра Credential (-Credential $Credential). Если это не сработает, необходимо использовать параметр UserPrincipalName.
Используйте переключатель SkipLoadingFormatData , чтобы избежать ошибок при подключении к Exchange Online PowerShell из службы Windows.
Для использования модуля в PowerShell 7 требуется версия 2.0.4 или более поздняя.
Примеры подключения в следующих разделах используют современную проверку подлинности и не могут использовать обычную проверку подлинности.
Подключение к Exchange Online PowerShell с помощью интерактивного запроса на вход
Следующие примеры работают в Windows PowerShell 5.1 и PowerShell 7 для учетных записей с MFA или без нее:
В этом примере выполняется подключение к Exchange Online PowerShell в организации Microsoft 365 или Microsoft 365 GCC:
В открывшемся окне входа введите пароль и нажмите кнопку Войти.
Примечание
В PowerShell 7 по умолчанию используется единый вход на основе браузера, поэтому запрос на вход открывается в веб-браузере по умолчанию, а не в автономном диалоговом окне.
Только многофакторная проверка подлинности: Код проверки создается и отправляется на основе варианта ответа, настроенного для вашей учетной записи (например, текстовое сообщение или приложение Microsoft Authenticator на вашем устройстве).
В открывшемся окне введите код проверки и нажмите кнопку Подтвердить.
Эксклюзивные методы подключения PowerShell 7
В PowerShell 7 для учетных записей без MFA этот пример запрашивает учетные данные в окне PowerShell:
В PowerShell 7 для учетных записей с MFA или без нее для проверки подлинности и завершения подключения используется другой компьютер. Как правило, этот метод используется на компьютерах, на которых нет веб-браузеров (пользователи не могут ввести свои учетные данные в PowerShell 7):
Выполните следующую команду на компьютере, к которому требуется подключиться:
PowerShell
Connect-ExchangeOnline -Device
Команда подключения ожидает следующие выходные данные:
Чтобы войти в систему, откройте страницу https://microsoft.com/devicelogin в веб-браузере и введите код <XXXXXXXXXX для> проверки подлинности.
Обратите внимание на <значение кода XXXXXXXXXXX> .
На любом другом устройстве с веб-браузером и доступом к Интернету <откройте https://microsoft.com/devicelogin и введите значение кода XXXXXXXXX> из предыдущего шага.
Введите учетные данные на результирующие страницы.
В запросе на подтверждение нажмите кнопку Продолжить. Следующее сообщение должно указывать на успешное выполнение, и вы можете закрыть браузер или вкладку.
Команда из шага 1 продолжает подключать вас к Exchange Online PowerShell.
Подключение к Exchange Online PowerShell без запроса на вход (автоматические скрипты)
Не забудьте отключить сеанс по завершении. Если вы закроете окно PowerShell, не отключая сеанс, вы можете использовать все доступные сеансы и дождаться окончания срока действия сеансов. Чтобы отключить сеанс, выполните следующую команду:
PowerShell
Disconnect-ExchangeOnline
Чтобы отключиться без запроса на подтверждение, выполните следующую команду:
PowerShell
Disconnect-ExchangeOnline -Confirm:$false
Примечание
Команда отключения, скорее всего, завершится ошибкой, если путь к профилю учетной записи, используемой для подключения, содержит специальные символы PowerShell (например, $). Обходной путь заключается в подключении с помощью другой учетной записи, которая не содержит специальных символов в пути к профилю.
Как узнать, что подключение выполнено успешно?
Если вы не получили никаких ошибок, подключение выполнено успешно. Краткий тест заключается в том, чтобы запустить командлет PowerShell Exchange Online, например Get-AcceptedDomain, и просмотреть результаты.
Если возникают ошибки, просмотрите список возможных причин ниже.
Распространенная проблема — неправильный пароль. Выполните шаги подключения еще раз и обратите внимание на имя пользователя и пароль, которые вы используете.
Необходимо открыть TCP-порт 80 для трафика между локальным компьютером и Microsoft 365. Вполне вероятно, что он уже открыт, но в этом следует убедиться, если в вашей организации действует политика ограниченного доступа к Интернету.
Если в вашей организации используется федеративная проверка подлинности и ваш поставщик удостоверений (IDP) и/или служба маркеров безопасности (STS) не являются общедоступными, вы не сможете использовать федеративную учетную запись для подключения к Exchange Online PowerShell. Вместо этого вам нужно создать и использовать нефедеративную учетную запись в Microsoft 365, чтобы подключиться к Exchange Online PowerShell.
Для подключений на основе REST к Exchange Online PowerShell требуется модуль PowerShellGet, а по зависимости — модуль PackageManagement, поэтому при попытке подключиться без их установки вы получите ошибки. Например, может появиться следующая ошибка:
Термин Update-ModuleManifest не распознается как имя командлета, функции, файла скрипта или действующей программы. Проверьте орфографию имени или в случае включения пути проверьте правильность указания пути и повторите попытку.
После подключения может появиться сообщение об ошибке, которое выглядит следующим образом:
Не удалось загрузить файл или сборку "System.IdentityModel.Tokens.Jwt,Version=Version,Culture<>=neutral, PublicKeyToken=<TokenValue>". Не удалось найти или загрузить определенный файл.
Эта ошибка возникает, когда модуль PowerShell Exchange Online конфликтует с другим модулем, импортированным в пространство выполнения. Попробуйте подключиться в новом окне Windows PowerShell перед импортом других модулей.
Приложение. Сравнение старых и новых методов подключения
В этом разделе предпринята попытка сравнить старые методы подключения, которые были заменены модулем PowerShell Exchange Online. Процедуры обычной проверки подлинности и маркера OAuth включены только для справки за прошлые периоды и больше не поддерживаются.
Подключение без многофакторной проверки подлинности
Модуль PowerShell Exchange Online с интерактивным запросом учетных данных:
Продемонстрировать функции идентификатора Microsoft Entra для модернизации решений удостоверений, реализации гибридных решений и реализации управления удостоверениями.
Администраторы могут узнать об установке, обслуживании и проектировании модуля Exchange Online PowerShell версии 3, который они используют для подключения ко всем средам PowerShell, связанным с Exchange, в Microsoft 365.
Узнайте, как использовать модуль Exchange Online PowerShell версии 3 для подключения к автономной службе Exchange Online Protection PowerShell с современной проверкой подлинности и (или) многофакторной проверкой подлинности (MFA).
Администраторы могут узнать, как использовать PowerShell для поиска разрешений, необходимых для выполнения любого командлета в Exchange Server PowerShell или Exchange Online PowerShell.