Подключение к PowerShell безопасности и соответствия требованиям

В этой статье приведены инструкции по подключению к Security & Compliance PowerShell с помощью модуля Exchange Online PowerShell с многофакторной проверкой подлинности (MFA) или без нее.

Модуль Exchange Online PowerShell использует современную проверку подлинности для подключения к Exchange Online PowerShell и Security & Compliance PowerShell. Дополнительные сведения о модуле PowerShell Exchange Online см. в статье О модуле PowerShell Exchange Online.

Чтобы подключиться к Windows & Compliance PowerShell для автоматизации, см. статью Автоматическая проверка подлинности только в приложениях.

Что нужно знать перед началом работы

Шаг 1. Загрузка модуля PowerShell Exchange Online

Примечание.

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

После установки модуля откройте окно PowerShell и загрузите модуль, выполнив следующую команду:

Import-Module ExchangeOnlineManagement

Шаг 2. Подключение и проверка подлинности

Примечание.

  • Команды подключения, скорее всего, не будут выполнены, если путь к профилю учетной записи, использованной для подключения, содержит специальные символы PowerShell (например, $). В качестве обходного решения можно подключиться с помощью другой учетной записи, в пути к профилю которой нет специальных символов.

  • Если вы планируете запускать командлеты обнаружения электронных данных (*-ComplianceSearch или New-ComplianceSearchAction), подключение должно соответствовать следующим требованиям:

    • Версия 3.9.0 (август 2025 г.) или более поздняя версия модуля Exchange Online PowerShell.

    • Команда подключения должна включать параметр EnableSearchOnlySession .

      Если ваше подключение PowerShell для обеспечения безопасности & соответствия требованиям не соответствует этим требованиям, при попытке запуска командлетов обнаружения электронных данных возникает следующая ошибка:

      Please close the current PowerShell session and open a new session using Connect-IPPSSession with the -EnableSearchOnlySession flag. This requires using ExchangeOnlineManagement v3.9.0 or higher.

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

Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions] [-EnableSearchOnlySession]

Подробные сведения о синтаксисе и параметрах см. в статье Подключение IPPSSession.

  • <UPN> — это ваша учетная запись в формате имени участника-пользователя (например, navin@contoso.onmicrosoft.com).

  • Обязательные значения ConnectionUri и AzureADAuthorizationEndpointUri зависят от характера вашей организации Microsoft 365. Общие значения описаны в следующем списке:

    • Microsoft 365 или Microsoft 365 GCC:
      • ConnectionUri: нет. Обязательное значение https://ps.compliance.protection.outlook.com/powershell-liveid/ также является значением по умолчанию, поэтому вам не нужно использовать параметр ConnectionUri в средах Microsoft 365 или Microsoft 365 GCC.
      • AzureADAuthorizationEndpointUri: None. Обязательное значение https://login.microsoftonline.com/organizations, но оно также является значением по умолчанию, поэтому вам не нужно использовать параметр AzureADAuthorizationEndpointUri в средах Microsoft 365 или Microsoft 365 GCC.
    • Microsoft 365 GCC High:
      • ConnectionUri: https://ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/organizations*
    • Министерство обороны Microsoft 365:
      • ConnectionUri: https://l5.ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/organizations*
    • Office 365, предоставляемый 21Vianet:
      • ConnectionUri: https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
      • AzureADAuthorizationEndpointUri: https://login.chinacloudapi.cn/organizations*

    * Значение AzureADAuthorizationEndpointUri , заканчивающееся на, /organizations разрешает только рабочие или учебные учетные записи. Старое значение URI, заканчивающееся на "/common", по-прежнему работает, но может предложить вам выбрать между личной учетной записью и рабочей или учебной учетной записью. Значение URI рекомендуется использовать /organizations в корпоративных сценариях, где следует исключить учетные записи потребителей.

  • Если вы находитесь за прокси-сервером, можно использовать параметр PSSessionOption в команде подключения. Сначала выполните следующую команду: $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, где <Значение> равно IEConfig, WinHttpConfigили AutoDetect. Затем используйте значение $ProxyOptions параметра PSSessionOption . Дополнительные сведения см. в статье New-PSSessionOption.

  • В зависимости от характера вашей организации вы можете опустить параметр UserPrincipalName на следующем шаге. Вместо этого введите имя пользователя и пароль или выберите сохраненные учетные данные после выполнения команды Connect-IPPSSession. Если это не сработает, необходимо использовать параметр UserPrincipalName.

  • Если вы не используете многофакторную проверку подлинности, у вас должна быть возможность применить параметр Credential вместо параметра UserPrincipalName. Сначала запустите команду $Credential = Get-Credential, введите имя пользователя и пароль, а затем используйте имя переменной для параметра Credential (-Credential $Credential). Если это не сработает, необходимо использовать параметр UserPrincipalName.

Подключение к Windows PowerShell для обеспечения безопасности & соответствия требованиям с помощью интерактивного запроса на вход

  1. Следующие примеры работают в Windows PowerShell 5.1 и PowerShell 7 для учетных записей с MFA или без нее:

    • В этом примере выполняется подключение к оболочке PowerShell безопасности и соответствия требованиям в организации Microsoft 365 или Microsoft 365 GCC:

      Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com
      
    • В этом примере выполняется подключение к оболочке PowerShell безопасности и соответствия требованиям в организации Microsoft GCC High:

      Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizations
      
    • В этом примере выполняется подключение к оболочке PowerShell безопасности и соответствия требованиям в организации Microsoft 365 DoD:

      Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizations
      
    • В этом примере выполняется подключение к оболочке PowerShell безопасности и соответствия требованиям в организации Office 365, предоставляемой 21Vianet:

      Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/organizations
      
  2. В открывшемся окне входа введите пароль и нажмите "Войти".

    Введите пароль в окне входа в учетную запись.

    Примечание.

    В PowerShell 7 по умолчанию используется единый вход (SSO) на основе браузера, поэтому запрос на вход открывается в веб-браузере по умолчанию, а не в отдельном диалоговом окне.

  3. Только MFA: код проверки создается и доставляется на основе варианта ответа, настроенного для вашей учетной записи (например, текстовое сообщение или приложение Microsoft Authenticator на вашем устройстве).

    В открывшемся окне проверки введите код проверки и выберите "Проверить".

    Введите код проверки в окне входа в учетную запись.

Подключение к Windows PowerShell для обеспечения безопасности & соответствия требованиям без запроса на вход (автоматические скрипты)

Полные инструкции см. в разделах Проверка подлинности только в приложении для автоматических сценариев в Exchange Online PowerShell и Security & Compliance PowerShell.

Подключение к Security & Compliance PowerShell в организациях клиентов

Для выполнения процедур, описанных в этом разделе, требуется версия модуля 3.0.0 или более поздняя.

В Security & Compliance PowerShell необходимо использовать AzureADAuthorizationEndpointUri с параметром DelegatedOrganization .

Дополнительные сведения об организациях партнеров и клиентов см. в следующих статьях:

В этом примере осуществляется подключение к организациям клиентов в следующих сценариях:

  • Подключение к организации клиента с помощью учетной записи CSP.

  • Подключение к организации-клиенту с помощью GDAP.

  • Подключиться к организации клиента в качестве гостя.

    Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com -DelegatedOrganization adatum.onmicrosoft.com -AzureADAuthorizationEndpointUri https://login.microsoftonline.com/adatum.onmicrosoft.com
    

Шаг 3. Отключение после завершения

Не забудьте отключить сеанс после завершения. Если закрыть окно PowerShell, не отключив сеанс, то все доступные сеансы могут быть израсходованы, и вам придется дождаться истечения срока действия сеансов. Чтобы отключить сеанс, выполните следующую команду:

Disconnect-ExchangeOnline

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

Disconnect-ExchangeOnline -Confirm:$false

Примечание.

Команда отключения, скорее всего, не будет выполнена, если путь к профилю учетной записи, использованной для подключения, содержит специальные символы PowerShell (например, $). В качестве обходного решения можно подключиться с помощью другой учетной записи, в пути к профилю которой нет специальных символов.

Как узнать, что вы успешно подключились?

Командлеты PowerShell безопасности и соответствия требованиям импортируются в локальный сеанс Windows PowerShell и отслеживаются с помощью индикатора выполнения. Если при этом не появляются сообщения об ошибках, то подключение установлено. Чтобы выполнить быструю проверку, запустите командлет PowerShell безопасности и соответствия требованиям, например Get-RetentionCompliancePolicy, и просмотрите результаты.

Если возникают ошибки, просмотрите список возможных причин ниже.

  • Распространенная проблема — неправильный пароль. Еще раз повторите три описанных выше действия, уделив особое внимание имени пользователя и паролю, которые вы используете.

  • Учетная запись, используемая для подключения, должна поддерживать PowerShell. Дополнительные сведения см. в статье Включение и отключение доступа к Exchange Online PowerShell.

  • Необходимо открыть TCP-порт 80 для трафика между локальным компьютером и Microsoft 365. Вполне вероятно, что он уже открыт, но в этом следует убедиться, если в вашей организации действует политика ограниченного доступа к Интернету.

  • Для подключений на основе REST к PowerShell для обеспечения безопасности & соответствия требованиям требуется модуль PowerShellGet. В зависимости для модуля PowerShellGet требуется модуль PackageManagement. При попытке подключения без установленных обоих модулей возникают ошибки. Например, вы можете увидеть следующую ошибку:

    Термин "Update-ModuleManifest" не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте орфографию имени или в случае включения пути проверьте правильность указания пути и повторите попытку.

    Дополнительные сведения о требованиях к модулям PowerShellGet и PackageManagement см. в статье PowerShellGet для подключений на основе REST в Windows.

  • Если IP-адрес клиента изменяется во время выполнения запроса на подключение, подключение может завершиться сбоем. Сбой возникает, если в организации используется пул преобразования исходных сетевых адресов (SNAT) с несколькими IP-адресами. Ошибка подключения выглядит так:

    Не удалось отправить запрос удаленной оболочки Windows с идентификатором> ShellId<, так как оболочка не была найдена на сервере. Возможные причины: идентификатор ShellId указан неправильно или оболочки больше нет на сервере. Укажите правильный идентификатор ShellId или создайте новую оболочку и повторите попытку.

    Чтобы устранить проблему, выполните одно из следующих действий:

    • Используйте пул SNAT, содержащий один IP-адрес.
    • Принудительно использовать определенный IP-адрес для подключений к конечной точке PowerShell & безопасности и соответствия требованиям.