С чего начать оценку модернизации SharePoint?

Для нового проекта по оценке и преобразованию классических страниц начните с оценки и преобразования классических страниц SharePoint в Microsoft Learn. Руководство включает требования, настройку приложения, выполнение оценки, интерпретацию отчетов, справочник CSV, готовность страницы публикации, преобразование PnP PowerShell и проверку.

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

Сценарий С чего начать
Оценка и преобразование классических страниц SharePoint Начните с автономного рабочего процесса Microsoft Learn
Просмотр выходных данных существующего средства проверки модернизации SharePoint Используйте устаревшую документацию к отчетам сканера в этом архиве
Продолжайте привычный рабочий процесс сканера или используйте возможность использования только сканера Используйте устаревшую документацию по сканеру и проверьте, по-прежнему ли эта возможность работает в вашей среде
Оценка SharePoint Server или другой локальной среды Используйте средство оценки миграции SharePoint или другое средство оценки для конкретного сценария

Важно!

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

Устаревшая документация по сканерам

В следующих разделах представлен устаревший сканер модернизации SharePoint для клиентов, которым он по-прежнему нужен.

Шаг 1. Скачивание сканера модернизации устаревшей версии SharePoint

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

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

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

Важно!

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

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

Использование Register-PnPAzureADApp для настройки Azure AD App-Only

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

  1. Установите PowerShell PnP или обновите этот пакет до версии апреля 2020 года или более поздней.

  2. Настройка приложения Azure AD с Register-PnPAzureADApp помощью командной команды:

    Register-PnPAzureADApp
      -ApplicationName "ModernizationScannerApp"
      -Tenant "contoso.onmicrosoft.com"
      -OutPath "C:\temp"
      -CertificatePassword (ConvertTo-SecureString -String "password" -AsPlainText -Force)
      -SharePointApplicationPermissions "Sites.FullControl.All"
      -GraphApplicationPermissions "Group.Read.All"
    
  3. Вам будет предложено пройти проверку подлинности. Убедитесь, что вы прошли проверку подлинности с помощью пользователя, который является администратором клиента

  4. Командлет настроит приложение Azure AD и подождет 60 секунд, чтобы дать Azure AD время на создание приложения

  5. Вам будет предложено согласиться с разрешениями, предоставленными созданному приложению Azure AD:

    1. Сначала вам будет предложено войти повторно и использовать учетную запись администратора клиента
    2. Более того, отображается диалоговое окно согласия с запрошенными разрешениями (см. снимок экрана ниже). Нажмите кнопку Принять.
  6. Сохраните возвращенный 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 AD только для приложения; он должен быть представлен как файл PFX, защищенный паролем
  • Пароль для PFX-файла. Пароль, используемый для обеспечения безопасности ранее предоставленного PFX-файла
  • Регион проверки подлинности: если ваш клиент находится в облачной среде правительства США (ITAR), Германии или Китая, выберите соответствующий регион

Примечание.

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

Важно!

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

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

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

Если вы использовали «классический» подход SharePoint App-Only , то вам нужно указать:

  • Идентификатор клиента 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-файл представляет собой простой список семейств веб-сайтов. В файле нет заголовка, как показано в следующем примере:

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 (Отключить отзывы). Сканер отправляет в корпорацию Майкрософт отзывы, которые помогают улучшить сканер. Если вы не хотите отправлять отзывы, снимите этот флажок.
  • Разделитель: по умолчанию в создаваемых 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"

Примечание.

Текущее руководство по миграции рабочих процессов см. в статье Переход от классических рабочих процессов к потокам Power Automate.

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

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.