Как пройти страницу входа на портал Office365 с помощью PowerShell - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь написать PowerShell скрипт, который будет извлекать некоторую информацию со страницы портала Office 365, в частности имя и URL-адрес какого-либо пользовательского приложения.Я планировал использовать командлет Invoke-WebRequest и проанализировать результат, но проблема в том, что я не могу пройти страницу аутентификации Office 365.Когда я набираю:

Invoke-WebRequest -Uri "https://myapps.microsoft.com" -UseBasicParsing

, я получаю такой результат:

StatusCode        : 200
StatusDescription : OK
Content           :

                    <!DOCTYPE html>
                    <html dir="ltr" class="" lang="en">
                    <head>
                        <title>Sign in to your account</title>
                        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                        <meta http-eq...
RawContent        : HTTP/1.1 200 OK
                    Pragma: no-cache
                    Strict-Transport-Security: max-age=31536000; includeSubDomains
                    X-Content-Type-Options: nosniff
                    X-Frame-Options: DENY
                     Link: <https://aadcdn.msftauth.net>; rel=prec...
Forms             : {}
Headers           : {[Pragma, no-cache], [Strict-Transport-Security, max-age=31536000; includeSubDomains], [X-Content-Type-Options, nosniff], [X-Frame-Options, DENY]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 32302

Если я запускаю команду без параметра UseBasicParsing , браузер открывает https://login.microsoftonline.com/cookiesdisabled страницаМожно ли указать учетные данные для входа в систему, чтобы PowerShell проходил через окно входа и достигал страницы с приложениями Office 365?

1 Ответ

0 голосов
/ 13 мая 2019

Вы правы, чтобы получить доступ к API Office 365, вам нужно сначала пройти аутентификацию и получить маркер аутентификации .На самом деле есть несколько шагов, которые необходимо выполнить, чтобы использовать PowerShell для доступа к API Office 365, который слишком широк для ответа SO, и я рекомендую ознакомиться с документацией: Начало работы с API-интерфейсами управления Office 365 где он проходит все этапы:

  1. Зарегистрируйте свое приложение в Azure AD. Чтобы разрешить вашему приложению доступ к API-интерфейсам управления Office 365, вам необходимо зарегистрировать свое приложение.в Azure AD.Это позволяет вам установить удостоверение для вашего приложения и указать уровни разрешений, необходимые для доступа к API.
  2. Получить согласие администратора клиента Office 365. Администратор клиента Office 365 должен явно дать согласиеразрешить вашему приложению получать доступ к данным своих клиентов с помощью API-интерфейсов управления Office 365.Процесс согласия - это браузер, который требует от администратора клиента входа в пользовательский интерфейс согласия Azure AD и проверки разрешений доступа, запрашиваемых вашим приложением, а затем либо разрешить, либо отклонить запрос.После получения согласия пользовательский интерфейс перенаправляет пользователя обратно в ваше приложение с кодом авторизации в URL.Ваше приложение выполняет сервисный вызов Azure AD, чтобы обменять этот код авторизации на токен доступа, который содержит информацию как об администраторе клиента, так и о вашем приложении.Идентификатор клиента должен быть извлечен из токена доступа и сохранен для будущего использования.
  3. Запрос токенов доступа из Azure AD. Используя учетные данные вашего приложения, настроенные в Azure AD, ваше приложение запрашивает дополнительный доступтокены для согласованного арендатора на постоянной основе, без необходимости дальнейшего взаимодействия с администратором арендатора.Эти токены доступа называются токенами только для приложений, поскольку они не содержат информацию об администраторе клиента.
  4. Вызовите API-интерфейсы управления Office 365. Жетоны доступа только для приложений передаются в Office365 API управления для аутентификации и авторизации вашего приложения.

Еще одно руководство - Начало работы с Microsoft Graph и PowerShell

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...