Поделиться через


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

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

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

Сведения о подключении к PowerShell & соответствия требованиям безопасности для автоматизации см. в статье Проверка подлинности только для приложений для автоматических сценариев.

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

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

Примечание.

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

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

Import-Module ExchangeOnlineManagement

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

Примечание.

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

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

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

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

  • <Имя> участника-пользователя — это ваша учетная запись в формате имени участника-пользователя (например, [email protected]).

  • Требуемые значения 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: нет. Обязательное значение https://login.microsoftonline.com/common также является значением по умолчанию, поэтому не нужно использовать параметр AzureADAuthorizationEndpointUri в средах Microsoft 365 или Microsoft 365 GCC.
    • Microsoft 365 GCC High:
      • ConnectionUri: https://ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/common
    • Microsoft 365 DoD:
      • ConnectionUri: https://l5.ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/common
    • Office 365 управляется 21Vianet:
      • ConnectionUri: https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
      • AzureADAuthorizationEndpointUri: https://login.chinacloudapi.cn/common
  • Если вы используете прокси-сервер, можно использовать параметр 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.

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

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

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

      Connect-IPPSSession -UserPrincipalName [email protected]
      
    • В этом примере выполняется подключение к оболочке PowerShell безопасности и соответствия требованиям в организации Microsoft GCC High:

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

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

      Connect-IPPSSession -UserPrincipalName [email protected] -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/common
      
  2. В открывшемся окне входа введите пароль и выберите Войти.

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

    Примечание.

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

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

    В открывавшемся окне проверки введите код проверки и нажмите кнопку Проверить.

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

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

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

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

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

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

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

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

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

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

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

    Connect-IPPSSession -UserPrincipalName [email protected] -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 & соответствия безопасности.