Подключение к PowerShell безопасности и соответствия требованиям
В этой статье содержатся инструкции по подключению к 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.
Сведения о подключении к PowerShell & соответствия требованиям безопасности для автоматизации см. в статье Проверка подлинности только для приложений для автоматических сценариев.
Что нужно знать перед началом работы
Требования к установке и использованию модуля описаны в разделе Установка и обслуживание модуля PowerShell Exchange Online.
Примечание.
Удаленные подключения PowerShell не рекомендуется использовать в PowerShell для обеспечения безопасности & соответствия требованиям. Дополнительные сведения см. в разделе Прекращение использования удаленного протокола PowerShell (RPS) в разделе Безопасность & соответствия требованиям PowerShell.
Для подключений REST API в модуле Exchange Online PowerShell версии 3 требуются модули PowerShellGet и PackageManagement. Дополнительные сведения см. в статье PowerShellGet для подключений на основе REST в Windows.
После подключения управление наличием доступа к командлетам и параметрам осуществляется путем управления доступом на основе ролей (RBAC). Дополнительные сведения см. в разделах Разрешения на портале Microsoft Defender и Разрешения на портале соответствия требованиям Microsoft Purview.
Шаг 1. Загрузка модуля Exchange Online PowerShell
Примечание.
Если модуль уже установлен, обычно этот шаг можно пропустить и запустить 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.
- ConnectionUri: Нет. Обязательное значение
- Microsoft 365 GCC High:
- ConnectionUri:
https://ps.compliance.protection.office365.us/powershell-liveid/
- AzureADAuthorizationEndpointUri:
https://login.microsoftonline.us/common
- ConnectionUri:
- Microsoft 365 DoD:
- ConnectionUri:
https://l5.ps.compliance.protection.office365.us/powershell-liveid/
- AzureADAuthorizationEndpointUri:
https://login.microsoftonline.us/common
- ConnectionUri:
- Office 365 под управлением 21Vianet:
- ConnectionUri:
https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
- AzureADAuthorizationEndpointUri:
https://login.chinacloudapi.cn/common
- ConnectionUri:
- Microsoft 365 или Microsoft 365 GCC:
Если вы используете прокси-сервер, можно использовать параметр 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 для обеспечения соответствия требованиям безопасности & с помощью интерактивного запроса на вход
Следующие примеры работают в 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
В открывшемся окне входа введите пароль и нажмите кнопку Войти.
Примечание.
В PowerShell 7 по умолчанию используется единый вход на основе браузера, поэтому запрос на вход открывается в веб-браузере по умолчанию, а не в автономном диалоговом окне.
Только многофакторная проверка подлинности: Код проверки создается и отправляется на основе варианта ответа, настроенного для вашей учетной записи (например, текстовое сообщение или приложение Microsoft Authenticator на вашем устройстве).
В открывшемся окне введите код проверки и нажмите кнопку Подтвердить.
Подключение к PowerShell по обеспечению безопасности & соответствия требованиям без запроса на вход (автоматические скрипты)
Полные инструкции см. в разделах Проверка подлинности только для приложений для автоматических сценариев в Exchange Online PowerShell и Безопасность & соответствие PowerShell.
Подключение к PowerShell для обеспечения безопасности & соответствия требованиям в организациях клиентов
Для процедур, описанных в этом разделе, требуется модуль версии 3.0.0 или более поздней.
В разделе Безопасность & соответствия Требованиям PowerShell необходимо использовать AzureADAuthorizationEndpointUri с параметром DelegatedOrganization .
Дополнительные сведения о партнерах и организациях клиентов см. в следующих разделах:
- Что такое программа поставщика облачных решений (CSP)?
- Общие сведения о детализированных делегированных правах администратора (GDAP)
В этом примере выполняется подключение к организациям клиентов в следующих сценариях:
Подключитесь к организации клиента с помощью учетной записи 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, а по зависимости — модуль PackageManagement, поэтому при попытке подключения без их установки вы получите ошибки. Например, может появиться следующая ошибка:
Термин Update-ModuleManifest не распознается как имя командлета, функции, файла скрипта или действующей программы. Проверьте орфографию имени или в случае включения пути проверьте правильность указания пути и повторите попытку.
Дополнительные сведения о требованиях к модулю PowerShellGet и PackageManagement см. в статье PowerShellGet для подключений на основе REST в Windows.
Если IP-адрес клиента изменяется во время выполнения запроса на подключение, подключение может завершиться сбоем. Это может произойти, если в вашей организации используется пул преобразования сетевого адреса источника (SNAT), который содержит несколько IP-адресов. Ошибка подключения выглядит так:
Сбой запроса удаленной оболочки Windows с идентификатором> ShellId<, так как оболочка не найдена на сервере. Возможные причины: идентификатор ShellId указан неправильно или оболочки больше нет на сервере. Укажите правильный идентификатор ShellId или создайте новую оболочку и повторите попытку.
Чтобы устранить эту проблему, используйте пул SNAT, содержащий один IP-адрес, или принудительно назначьте определенный IP-адрес для подключения к конечной точке оболочки PowerShell Центра безопасности и соответствия требованиям.