Начало работы со сканером модернизации SharePoint

С помощью сканера модернизации SharePoint можно подготовить классические сайты к модернизации. Сканер помогает подготовиться к выполнению указанных ниже действий по модернизации.

  • Оптимизация использования современных списков и библиотек
  • Подключение этих сайтов к группе Microsoft 365
  • Модернизация вики-страниц и страниц веб-частей путем создания современных страниц сайтов
  • Преобразование классических порталов публикации в современные порталы публикации
  • Общие сведения об использовании классических страниц блога

Этот сканер является основным инструментом при подготовке к модернизации классических сайтов, так как он предоставляет фактические сведения о том, насколько легко модернизировать ваши сайты. С помощью информационных панелей, создаваемых сканером, можно детализировать "готовность к модернизации" ваших сайтов и запланировать действия по исправлению при необходимости.

Примечание.

Важно!

Средства модернизации и все остальные компоненты PnP — это инструменты с открытым исходным кодом, поддерживаемые активным сообществом, которое предоставляет для них поддержку. Со стороны официальных каналов поддержки Майкрософт отсутствуют соглашения об уровне обслуживания (SLA) для инструментов с открытым исходным кодом.

Этап 1. Получение последней версии сканера модернизации SharePoint

SharePoint Online непрерывно развивается с добавлением новых современных возможностей, поэтому важно всегда загружать последнюю версию сканера. Скачайте исполняемый файл сканера модернизации SharePoint и приступите к работе. Эта страница и другие связанные с ней страницы содержат все сведения для начала работы, а также подробности отчетов и вопросы с ответами.

Этап 2. Подготовка к сканированию

При стандартном сканировании необходима возможность его выполнения для всех семейств веб-сайтов, поэтому рекомендуется использовать субъект на уровне приложения с разрешениями на уровне клиента для сканирования. Этот подход обеспечивает постоянный доступ сканера. Если вы используете учетную запись (например, учетную запись администратора клиента SharePoint), то сканер сможет получать доступ только к сайтам, доступным этому пользователю. Для доступа на уровне приложения можно использовать субъект приложения Azure AD или приложения SharePoint. Ниже приведены ссылки на описание ручной настройки этих параметров. Так как рекомендуемый подход Azure AD только для приложений, вы можете упростить настройку приложения Azure AD с помощью командлета PowerShellInitialize-PnPPowerShellAuthentication PnP. Дополнительные сведения см. в главе Использование Initialize-PnPPowerShellAuthentication для настройки Azure AD на уровне приложений.

Важно!

Если вы выбрали доступ на уровне приложения в Azure AD, то такому приложению предоставляется разрешение Sites.FullControl.All, необходимое для запуска всех компонентов сканирования. Если сканирование рабочего процесса не требуется, также можно использовать разрешение Sites.Read.All (с версии 2.6). Если требуется получить отчет о семействах веб-сайтов, с которыми связаны команды Teams, также нужно добавить разрешение Group.Read.All (с версии 2.7).

После завершения подготовки можно продолжить сканирование.

Использование Initialize-PnPPowerShellAuthentication для настройки Azure AD на уровне приложений

Для настройки Azure AD на уровне приложения с помощью PowerShell PnP выполните следующие действия.

  1. Установите PowerShell PnP или обновите этот пакет до версии апреля 2020 года или более поздней.
  2. Используйте командлет Initialize-PnPPowerShellAuthentication для настройки приложения Azure AD:
Initialize-PnPPowerShellAuthentication -ApplicationName ModernizationScannerApp -Tenant contoso.onmicrosoft.com -Scopes "SPO.Sites.FullControl.All","MSGraph.Group.Read.All"  -OutPath c:\temp -CertificatePassword (ConvertTo-SecureString -String "password" -AsPlainText -Force)
  1. Будет предложено проверку подлинности. Для этого используйте учетные данные пользователя, являющегося администратором клиента.
  2. Этот командлет настроит приложение Azure AD и будет ждать в течение 60 секунд, чтобы предоставить Azure AD время для создания приложения.
  3. Также вам будет предложено подтвердить разрешения, предоставленные созданному приложению Azure AD.
    1. Сначала вам будет предложено снова выполнить вход, используя учетную запись администратора клиента.
    2. Затем появится диалоговое окно с запрошенными разрешениями (см. снимок экрана ниже). Нажмите кнопку Принять.
  4. Сохраните возвращенный идентификатор AzureAppId, файл PFX и пароль в безопасном месте. Эти данные понадобятся вам позже, см. главу Проверка подлинности с помощью доступа на уровне приложения в Azure AD ниже.

Разрешение сканера

Этап 3. Запуск сканирования с помощью параметра пользовательского интерфейса

Удобнее всего просто запустить файл SharePoint.Modernization.Scanner.exe, так как в сканере есть пользовательский интерфейс. Вы также можете запустить командную строку (PowerShell) и перейти в эту папку, чтобы можно было использовать сканер с помощью командной строки. В этой главе рассматривается выполнение стандартного полного сканирования с помощью параметра пользовательского интерфейса. Сначала запустите файл SharePoint.Modernization.Scanner.exe.

Страница 1. Настройка проверки подлинности сканера

Проверка подлинности с помощью доступа на уровне приложения в Azure AD

На первой странице мастера сканера модернизации предлагается ввести сведения для проверки подлинности. Сканер поддерживает четыре варианта. Выберите нужный и введите необходимые сведения, как описано ниже. Рекомендуется использовать доступ на уровне приложений. В этом случае будет обеспечен доступ сканера ко всем сайтам, которые нужно сканировать.

Доступ на уровне приложений в Azure AD

Если вы настроили доступ на уровне приложения в Azure AD, то было создано приложение Azure и настроен сертификат для доступа к нему. Для инструмента нужно указать следующие сведения:

  • Идентификатор приложения Azure AD. Идентификатор созданного приложения в среде Azure AD
  • Доменное имя Azure AD. Домен среды Azure AD по умолчанию. Эти сведения можно найти на странице обзора в центре администрирования Azure AD. Обычно имя домена имеет вид *.onmicrosoft.com, например contoso.onmicrosoft.com.
  • Файл сертификата. Сертификат о предоставлении доступа к приложению Azure. Он должен быть представлен в виде PFX-файла, защищенного паролем
  • Пароль для PFX-файла. Пароль, используемый для обеспечения безопасности ранее предоставленного PFX-файла
  • Регион проверки подлинности. Если ваш клиент находится в облачной среде для государственных организаций США (ITAR), Германии или Китая, выберите соответствующий регион.

Примечание.

Также можно установить сертификат на компьютер и сослаться на него в командной строке с помощью параметра -w. Для ссылки на сертификат нужно использовать это значение для параметра -w: "My|CurrentUser|1FG498B468AV3895E7659C8A6F098FB701C8CDB1". Для идентификации хранилища моно использовать My/Root и CurrentUser/LocalMachine. Последний аргумент является отпечатком сертификата. Этот параметр доступен с версии 2.7. При использовании LocalMachine помните, что у сканера должен быть доступ на чтение для хранилища LocalMachine. Для этого можно либо запустить процесс сканера с правами администратора, либо (лучше) предоставить учетной записи, которую вы используете для запуска сканера модернизации, права на чтение закрытого ключа сертификата, который находится в хранилище LocalMachine.

Важно!

  • По умолчанию приложению в Azure AD предоставляется разрешение Sites.FullControl.All, необходимое для запуска всех компонентов сканирования. Если сканирование рабочего процесса не требуется, вы также можете использовать разрешение Sites.Read.All для версии 2.6 сканера модернизации SharePoint.
  • Доступ только для приложений в Azure AD — единственный вариант проверки подлинности, поддерживаемый для клиентов в облачных средах для государственных организаций США (ITAR), Германии или Китая.

Проверка подлинности с помощью доступа на уровне приложения в SharePoint AD

Доступ на уровне приложения в SharePoint

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

  • Идентификатор клиента Azure ACS. Идентификатор созданного субъекта на уровне приложения
  • Секрет клиента Azure ACS. Секрет, полученный при создании субъекта приложения

Проверка подлинности с помощью учетных данных

Учетные данные

Можно использовать стандартное сочетание имени пользователя и пароля, если у указанного пользователя есть необходимые разрешения. С версии 2.9 сканера проверка подлинности на основе имени пользователя и пароля больше не опирается на устаревшую систему проверки подлинности сканируемого клиента. Такой тип проверки подлинности может не сработать, если для используемой учетной записи требуется многофакторная проверка подлинности. В этом случае используйте многофакторную проверку подлинности, которая поддерживается с версии 2.9.

Многофакторная проверка подлинности (с версии 2.9)

Многофакторная проверка подлинности

В зависимости от клиента и от используемой учетной записи администратор может потребовать пройти многофакторную проверку подлинности для входа в SharePoint Online. Такой метод входа нужно использовать, если необходимо использовать сканер с учетными данными пользователя. При этом по-прежнему рекомендуется использовать подход на уровне приложений, но если у вас нет разрешений для работе на уровне приложений, этот подход даст возможность сканировать семейства веб-сайтов, доступные для пользователя. Понадобится выполнить следующие действия.

  • Введите URL-адрес сайта, который нужно сканировать (это может быть любой доступный сайт).
  • Нажмите кнопку Войти, чтобы запустить многофакторную проверку подлинности.

Примечание.

После успешного входа система многофакторной проверки подлинности предоставит сканеру маркер доступа. Срок действия маркера доступа ограничен (обычно он составляет 1 час), поэтому сканер сможет получить доступ к сайтам SharePoint только во время действия маркера.

Страница 2. Настройка области сайта сканера

Сканирование всего клиента

Эта страница позволяет определить сайты для сканирования. Сканер поддерживает сканирование как всего клиента, так и отдельно выбранных семейств веб-сайтов.

Весь клиент

Часто рекомендуется сканирование всего клиента, так как это обеспечивает получение отчетов модернизации для всех элементов. В этом случае нужно просто указать имя клиента. Такой подход не сработает, если клиент использует URL-адреса, не оканчивающиеся на sharepoint.com. В этом случае придется использовать один из двух указанных ниже вариантов.

Сканирование определенного списка семейств веб-сайтов

Подстановочные URL-адреса

Этот способ позволяет выбрать один или несколько семейств веб-сайтов, указав один из следующих вариантов

  • Полный URL-адрес семейства (или семейств) веб-сайтов, которое нужно просканировать
  • Подстановочный URL адрес. Если добавить URL-адрес, оканчивающийся на звездочку, можно включить все сайты, соответствующие этому фильтру. В качестве подстановочного знака поддерживается только звездочка в конце.

Если вы используете URL-адреса, которые не заканчиваются на sharepoint.com (так называемые URL-адреса тщеславия), вам также потребуется указать URL-адрес сайта центра администрирования клиента (например, https://contoso-admin.contoso.com).

Сканирование списка семейств веб-сайтов, определенного в CSV-файле

CSV-файл

В качестве третьего варианта можно предоставить сканеру CSV-файл со списком семейств веб-сайтов для сканирования. Этот CSV-файл является простым списком URL-адресов семейств веб-сайтов без заголовка, как показано в примере ниже:

https://contoso.sharepoint.com/sites/hrteam
https://contoso.sharepoint.com/sites/funatwork
https://contoso.sharepoint.com/sites/opensourcerocks

Страница 3. Настройка режима сканера

Сканер модернизации SharePoint поддерживает несколько режимов. В зависимости от режима модернизации можно ограничить сканирование определенной областью или выполнить полное сканирование.

режимы сканера

Выберите нужный параметр в раскрывающемся списке, после чего флажки покажут, какие компоненты будут включены в сканирование. Во все режимы сканирования будет включен основной компонент: "Microsoft 365 group connection readiness" (Готовность подключения группы Microsoft 365).

Страница 4. Параметры сканера

На последнем этапе можно подрегулировать параметры сканера. В зависимости от выбранного ранее режима сканера некоторые параметры могут быть отключены.

параметры сканера

Доступны следующие параметры сканирования:

  • Number of threads (Число потоков). Сканирование является многопоточным. Значение по умолчанию: 10, но при большем числе потоков (20–30) обеспечивается повышенная производительность (точное значение может отличаться)
  • Don't use search (Не использовать поиск). Выбор этого параметра можно отменить, если вас интересуют сведения об использовании страницы или сайта. При этом добавляется один поисковый запрос на каждое семейство веб-сайтов, поэтому сканирование немного замедляется.
  • Don't include user information (Не включать сведения о пользователе). Установите этот флажок, если не нужно отображать сведения о пользователе (имена пользователей) в составе полученных данных
  • Exclude lists (Исключить списки). Для варианта сканирования "Modern list and library experience" (Современный интерфейс списков и библиотек) можно исключить списки, заблокированные только по причине OOB
  • Export page details (Экспортировать сведения о странице). По умолчанию при сканировании не экспортируются подробные сведения о веб-части (свойства веб-части), так как этот набор данных может быть очень большим. Установите этот флажок, если нужно получить полные данные о свойстве веб-части.
  • Don't generate reports (Не создавать отчеты). По умолчанию вы получаете в качестве результатов сканирования информационные панели на основе Excel, но их можно пропустить, если вам нужны только исходные CSV-файлы.
  • Disable feedback (Отключить отзывы). Сканер отправляет в корпорацию Майкрософт отзывы, которые помогают улучшить сканер. Если вы не хотите отправлять отзывы, снимите этот флажок.
  • Separator (Разделитель). Для создаваемого CSV-файла в качестве разделителя по умолчанию используется запятая, но вы можете при желании изменить его на точку с запятой.
  • Data format (Формат даты). В создаваемом CSV-файле по умолчанию используется формат даты месяц-день-год. При необходимости можно переключиться на формат день-месяц-год

Этап 3 (дополнительный вариант). Запуск сканирования с помощью командной строки

Приведенный ниже вариант представляет собой стандартное использование инструмента для большинства пользователей. Нужно указать режим, имя клиента, созданный идентификатор клиента и секрет:

SharePoint.Modernization.Scanner.exe -t <tenant> -i <clientid> -s <clientsecret>

Пример из практики:

SharePoint.Modernization.Scanner.exe -t contoso -i 7a5c1615-997a-4059-a784-db2245ec7cc1 -s eOb6h+s805O/V3DOpd0dalec33Q6ShrHlSKkSra1FFw=

В приведенном выше способе использования запускаются все параметры сканирования, но вы можете также указать цель сканирования с помощью параметра Mode (-m):

SharePoint.Modernization.Scanner.exe -m <mode> -t <tenant> -i <clientid> -s <clientsecret>

Пример из практики:

SharePoint.Modernization.Scanner.exe -m GroupifyOnly -t contoso -i 7a5c1615-997a-4059-a784-db2245ec7cc1 -s eOb6h+s805O/V3DOpd0dalec33Q6ShrHlSKkSra1FFw=

Поддерживаемые режимы сканера

Режим Описание
Full Будут включены все компоненты, исключение параметра -m дает такой же результат
GroupifyOnly Использование только компонента "Microsoft 365 group connection readiness", который входит в состав каждого сканирования
ListOnly Включает подробное сканирование списка и компонент "Microsoft 365 group connection readiness"
HomePageOnly Включает сканирование вики-страниц, домашних страниц и страниц веб-частей, а также компонент "Microsoft 365 group connection readiness"
PageOnly Включает сканирование вики-страниц и страниц веб-частей, а также компонент "Microsoft 365 group connection readiness"
PublishingOnly Включает сканирование классического портала публикации на уровне сайта и сети, а также компонент "Microsoft 365 group connection readiness"
PublishingWithPagesOnly Включает сканирование классического портала публикации на уровне сайта, сети и страниц, а также компонент "Microsoft 365 group connection readiness"
InfoPathOnly Включает сканирование InfoPath и компонент "Microsoft 365 group connection readiness"
BlogOnly Включает сканирование блога и компонент "Microsoft 365 group connection readiness"
CustomizedFormsOnly Включает сканирование настраиваемых форм и компонент "Microsoft 365 group connection readiness"

Примечание.

Оценка использования рабочего процесса 2013 должна выполняться с помощью инструмента оценки Microsoft 365

Обзор параметров командной строки

SharePoint PnP Modernization scanner 2.19.0.0
Copyright (C) 2020 SharePoint PnP
==========================================================

See the sp-dev-modernization repo for more information at:
https://github.com/SharePoint/sp-dev-modernization/tree/master/Tools/SharePoint.Modernization

Let the tool figure out your urls (works only for SPO MT):
==========================================================
Using Azure AD app-only:
SharePoint.Modernization.Scanner.exe -t <tenant> -i <your client id> -z <Azure AD domain> -f <PFX file> -x <PFX file
password>
e.g. SharePoint.Modernization.Scanner.exe -t contoso -i e5808e8b-6119-44a9-b9d8-9003db04a882 -z conto.onmicrosoft.com
-f apponlycert.pfx -x pwd

Using app-only:
SharePoint.Modernization.Scanner.exe -t <tenant> -i <your client id> -s <your client secret>
e.g. SharePoint.Modernization.Scanner.exe -t contoso -i 7a5c1615-997a-4059-a784-db2245ec7cc1 -s
eOb6h+s805O/V3DOpd0dalec33Q6ShrHlSKkSra1FFw=

Using credentials:
SharePoint.Modernization.Scanner.exe -t <tenant> -u <your user id> -p <your user password>

e.g. SharePoint.Modernization.Scanner.exe -t contoso -u spadmin@contoso.onmicrosoft.com -p pwd

Specifying url to your sites and tenant admin (needed for SPO with vanity urls):
================================================================================
Using Azure AD app-only:
SharePoint.Modernization.Scanner.exe -r <wildcard urls> -a <tenant admin site>  -i <your client id> -z <Azure AD
domain> -f <PFX file> -x <PFX file password>
e.g. SharePoint.Modernization.Scanner.exe -r "https://teams.contoso.com/sites/*,https://my.contoso.com/personal/*" -a
https://contoso-admin.contoso.com -i e5808e8b-6119-44a9-b9d8-9003db04a882 -z conto.onmicrosoft.com  -f apponlycert.pfx
-x pwd

Using app-only:
SharePoint.Modernization.Scanner.exe -r <wildcard urls> -a <tenant admin site> -i <your client id> -s <your client
secret>
e.g. SharePoint.Modernization.Scanner.exe -r "https://teams.contoso.com/sites/*,https://my.contoso.com/personal/*" -a
https://contoso-admin.contoso.com -i 7a5c1615-997a-4059-a784-db2245ec7cc1 -s
eOb6h+s805O/V3DOpd0dalec33Q6ShrHlSKkSra1FFw=

Using credentials:
SharePoint.Modernization.Scanner.exe -r <wildcard urls> -a <tenant admin site> -u <your user id> -p <your user
password>
e.g. SharePoint.Modernization.Scanner.exe -r "https://teams.contoso.com/sites/*,https://my.contoso.com/personal/*" -a
https://contoso-admin.contoso.com -u spadmin@contoso.com -p pwd


  -i, --clientid                           Client ID of the app-only principal used to scan your site collections

  -s, --clientsecret                       Client Secret of the app-only principal used to scan your site collections

  -u, --user                               User id used to scan/enumerate your site collections

  -p, --password                           Password of the user used to scan/enumerate your site collections

  -z, --azuretenant                        Azure tenant (e.g. contoso.microsoftonline.com)

  -y, --azureenvironment                   (Default: Production) Azure environment (only works for Azure AD Cert
                                           auth!). Possible values: Production, USGovernment, Germany, China

  -f, --certificatepfx                     Path + name of the pfx file holding the certificate to authenticate

  -x, --certificatepfxpassword             Password of the pfx file holding the certificate to authenticate

  -a, --tenantadminsite                    Url to your tenant admin site (e.g. https://contoso-admin.contoso.com): only
                                           needed when your not using SPO MT

  -t, --tenant                             Tenant name, e.g. contoso when your sites are under
                                           https://contoso.sharepoint.com/sites. This is the recommended model for
                                           SharePoint Online MT as this way all site collections will be scanned

  -r, --urls                               List of (wildcard) urls (e.g.
                                           https://contoso.sharepoint.com/*,https://contoso-my.sharepoint.com,https://co
                                           ntoso-my.sharepoint.com/personal/*) that you want to get scanned. Ignored if
                                           -t or --tenant are provided.

  -o, --includeod4b                        (Default: False) Include OD4B sites in the scan

  -v, --csvfile                            CSV file name (e.g. input.csv) which contains the list of site collection
                                           urls that you want to scan

  -h, --threads                            (Default: 10) Number of parallel threads, maximum = 100

  -e, --separator                          (Default: ,) Separator used in output CSV files (e.g. ";")

  -m, --mode                               (Default: Full) Execution mode. Use following modes: Full, GroupifyOnly,
                                           ListOnly, PageOnly, HomePageOnly, PublishingOnly, PublishingWithPagesOnly,
                                           WorkflowOnly, WorkflowWithDetailsOnly, InfoPathOnly, BlogOnly or CustomizedFormsOnly. Omit or use
                                           full for a full scan

  -b, --exportwebpartproperties            (Default: False) Export the web part property data

  -c, --skipusageinformation               (Default: False) Don't use search to get the site/page usage information and
                                           don't export that data

  -j, --skipuserinformation                (Default: False) Don't include user information in the exported data

  -k, --skiplistsonlyblockedbyoobreaons    (Default: False) Exclude lists which are blocked due to out of the box
                                           reasons: base template, view type of field type

  -d, --skipreport                         (Default: False) Don't generate an Excel report for the found data

  -g, --exportpaths                        List of paths (e.g. c:\temp\636529695601669598,c:\temp\636529695601656430)
                                           containing scan results you want to add to the report

  -n, --disabletelemetry                   (Default: False) We use telemetry to make this a better tool...but you're
                                           free to disable that

  -q, --dateformat                         (Default: M/d/yyyy) Date format to use for date export in the CSV files. Use
                                           M/d/yyyy or d/M/yyyy

  -w, --storedcertificate                  (Default: ) Path to stored certificate in the form of
                                           StoreName|StoreLocation|Thumbprint. E.g.
                                           My|LocalMachine|3FG496B468BE3828E2359A8A6F092FB701C8CDB1

  --help                                   Display this help screen.