SharePoint の最新化評価はどこで開始すればよいですか?

新しいクラシック ページの評価と変換プロジェクトの場合は、Microsoft Learn の 従来の SharePoint ページの評価と変換 から始めてください。 このガイダンスには、要件、アプリケーションのセットアップ、評価の実行、レポートの解釈、CSV 参照、発行ページの準備、PnP PowerShell 変換、検証が含まれています。

SharePoint 最新化スキャナーはレガシ ツールであり、アクティブに保守されなくなりました。 そのドキュメントは、既にスキャナーを使用しているお客様、既存のスキャナー レポートを解釈する必要があるお客様、または Microsoft 365 アセスメント ツールでまだ使用できない機能を必要とするお客様に引き続きご利用いただけます。

シナリオ 参照先
従来の SharePoint ページの評価と変換 自己完結型の Microsoft Learn ワークフローで開始する
既存の SharePoint 最新化スキャナーの実行からの出力を確認する このアーカイブのレガシ スキャナー レポートのドキュメントを使用する
確立されたスキャナー ワークフローを継続するか、スキャナーのみの機能を使用する 従来のスキャナーのドキュメントを使用して、機能が環境で引き続き機能することを検証します
SharePoint Server または別のオンプレミス環境を評価する SharePoint 移行評価ツールまたは別のシナリオ固有の評価ツールを使用する

重要

従来のスキャナーは、既存のユーザーに対してそのまま保持されます。 その認証フロー、依存関係、およびコマンド例は、現在の推奨プラクティスを表していない可能性があります。 スキャナーを使用する前に、非運用環境でスキャナーをテストします。

レガシー スキャナーのドキュメント

次のセクションでは、引き続き必要な顧客向けに、従来の SharePoint 最新化スキャナーについて説明します。

手順 1: 従来の SharePoint 最新化スキャナーをダウンロードする

従来の SharePoint 最新化スキャナーの実行可能ファイルをダウンロードします。 スキャナーはアクティブに維持されなくなったため、使用する前にその動作と認証モデルを検証してください。

手順 2: スキャンの準備

一般的なスキャンではすべてのサイト コレクションをスキャンできる必要があるため、テナント スコープのアクセス許可を持つアプリのみのプリンシパルを使用してスキャンすることをお勧めします。 この方法により、スキャナーが常にアクセスできるようになります。 アカウント (SharePoint テナント管理者アカウントなど) を使用する場合、スキャナーは、このユーザーもアクセスできるサイトにのみアクセスできます。 アプリのみのアクセスには、Azure AD アプリケーションまたは SharePoint アプリ プリンシパルを使用できます。以下のリンクでは、手動で設定する方法について説明します。 推奨される方法は Azure AD アプリのみであるため、PnP PowerShellRegister-PnPAzureADAppコマンドレットを使用すると、Azure AD アプリケーションを簡単にセットアップできます。 詳細については、「Register-PnPAzureADApp を使用して AD アプリのみAzureセットアップする」の章を参照してください。

重要

Azure AD アプリのみを選択している場合は、上記の手順で、Azure AD アプリに、すべてのスキャン コンポーネントを実行する場合に必要な Sites.FullControl.All アクセス許可を付与します。 ワークフロー スキャンに関心がない場合は、アクセス許可として Sites.Read.All を使用することもできます (バージョン 2.6 の時点で)。 Teams チームがリンクされているサイト コレクションについてレポートする場合は、 Group.Read.All アクセス許可も追加する必要があります (バージョン 2.7 以降)。

準備作業が終わったら、スキャンを続けましょう。

Register-PnPAzureADApp を使用して Azure AD App-Only を設定する

PnP PowerShell を使用して Azure AD アプリ専用を構成するには、次の手順を実行します。

  1. PnP PowerShell をインストールするか、2020 年 4 月またはそれより新しいバージョンに更新します。

  2. Register-PnPAzureADAppコマンドレットを使用して、Azure AD アプリを設定します。

    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. 次に、要求されたアクセス許可で同意ダイアログが表示されます (下のスクリーンショットを参照)。 [Accept] をクリックします
  6. 返された AzureAppId、作成した PFX ファイル、パスワードを安全な場所に保存する場合は、「Azure AD アプリのみで認証する」の見出しの説明に従って使用する必要があります

スキャナーの同意

手順 3: ユーザー インターフェイスのオプションを使用してスキャンを起動する

最も簡単な方法は、スキャナーに備わっている UI を使用して SharePoint.Modernization.Scanner.exe を起動する方法です。 または、(PowerShell) コマンド プロンプトを起動してそのフォルダーに移動し、コマンド ラインからスキャナーを使用できるようにすることもできます。 この章では、UI オプションについて説明し、一般的な フル スキャンを行います。 最初に、SharePoint.Modernization.Scanner.exe を起動します。

1 ページ目: スキャナー認証の構成

Azure AD アプリ専用経由での認証

モダン化スキャナー ウィザードの最初のページで、認証情報を求められます。 スキャナーは 4 つのオプションをサポートしています。必要なものを選択し、以下で説明されている必要な情報を入力します。 理想的には、スキャナーがスキャンする必要があるすべてのサイトに確実にアクセスできるようにするために、アプリのみのモデルを使用します。

Azure AD アプリ専用

Azure AD アプリ専用経由でアクセス権を設定 した場合、Azure アプリが作成され、アクセスの証明書が構成されます。 この情報をツールに提供する必要がありあります。

  • Azure AD Application ID: Azure AD 環境で作成されたアプリケーションの ID
  • Azure AD Domain name: Azure AD 環境の既定のドメイン。 この情報は、Azure AD 管理センターの概要ページから確認することができます。 通常、このドメインは *.onmicrosoft.com (contoso.onmicrosoft.com など) として書式設定されます。
  • 証明書ファイル: Azure AD アプリへのアプリ限定のアクセスを付与した証明書。これはパスワードで保護された PFX ファイルとして提示する必要があります
  • Password for the PFX file: 以前に提供した PFX ファイルを保護するために使用したパスワード
  • 認証リージョン: テナントが米国政府 (ITAR)、ドイツ、または中国のクラウド環境にある場合は、それぞれのリージョンを選択します

注:

また、コンピューターに証明書をインストールし、 -w コマンド ライン パラメーターを使用してそれを参照することもできます。 証明書を参照するには、この値を -w パラメーター My|CurrentUser|1FG498B468AV3895E7659C8A6F098FB701C8CDB1に使用します。 My/Root および CurrentUser/LocalMachine を使用して、ストアを特定できます。 最後の引数は、証明書の拇印です。 このオプションは 2.7 リリース以降で使用できます。 LocalMachine を使用している場合は、スキャナーに LocalMachine ストアで読み取る権限があることを確認する必要があります。 これを行うには、管理者特権でスキャナー プロセスを実行するか、最新化スキャンの実行に使用しているアカウントに、LocalMachine ストアに格納されている証明書の秘密キーを読み取るアクセス許可を付与します。

重要

  • すべてのスキャン コンポーネントを実行する場合は、Azure AD アプリに Sites.FullControl.All アクセス許可を付与するために説明されている既定の手順が必要です。 ワークフロー スキャンに関心がない場合は、SharePoint 最新化スキャナーのバージョン 2.6 以降、アクセス許可として Sites.Read.All を使用することもできます。
  • Azure AD App-Only は、米国政府機関 (ITAR)、ドイツ、または中国のクラウド環境のテナントに対してサポートされている唯一の認証オプションです。

SharePoint AD アプリ専用経由での認証

SharePoint アプリ専用

"クラシック" の SharePoint アプリのみ のアプローチを使用した場合は、次を指定する必要があります。

  • Azure ACS Client ID: 作成されたアプリ専用プリンシパルの ID
  • Azure ACS Client Secret: アプリケーション プリンシパルを作成したときに取得したシークレット

資格情報による認証

資格情報

標準のユーザー名とパスワードの組み合わせを使用します (提供したユーザーが必要なアクセス許可を持っていることが前提です)。 スキャナーのバージョン 2.9 以降、ユーザー/パスワードベースの認証は、スキャンされたテナントで有効になっているレガシ認証に依存しなくなりました。 この種類の認証が機能しない唯一の理由は、ユーザーのアカウントで多要素認証が必要な場合です。 このような場合は、バージョン 2.9 以降で導入された多要素認証オプションを使用してください。

多要素認証を使用して認証する (バージョン 2.9 以降)

MFA

使用しているテナントとアカウントによっては、管理者が SharePoint Online へのログインに多要素認証を必要とする場合があります。 その場合、ユーザーの資格情報を介してスキャナーを使用する場合は、このオプションを使用する必要があります。 アプリのみの使用も推奨しますが、アプリのみを設定するために必要なアクセス許可がない場合は、この方法を使用すると、ユーザーとしてアクセス許可を持つサイト コレクションをスキャンできます。 これを使用するには、次の必要があります:

  • スキャンするサイトの URL を入力します (アクセスしたサイトはすべて問題ありません)
  • [ ログイン] ボタンをクリックすると、多要素認証フローがトリガーされます

注:

多要素認証により、正常にログオンした後、スキャナーにアクセス トークンが与えられます。 アクセス トークンの有効期間は制限されているため (通常は1時間)、トークンが有効な間のみ、スキャンが SharePoint サイトにアクセスできます。

2 ページ目: スキャナーのサイト範囲の構成

テナント全体をスキャンする

このページでは、スキャン対象のサイトを定義できます。 スキャナーでは、テナント全体のスキャンから、個別に選択したサイト コレクションのスキャンまでサポートされています。

テナント全体

テナントの完全なスキャンを行うとモダン化レポートが作成されるため、多くの場合この方法が推奨されます。 それがあなたの好みである場合は、テナントの名前を入力するだけです。 このアプローチは、テナントが sharepoint.com で終わらない URL を使用している場合には機能しません。その場合は、次の 2 つのオプションのいずれかを使用する必要があります。

定義されたサイト コレクションの一覧をスキャンする

ワイルドカード URL

このオプションでは、次のうちどちらかを提供して 1 つまたは複数のサイト コレクションを選択できます。

  • スキャン対象のサイト コレクションの完全修飾 URL
  • ワイルドカード URL: 星で終わる URL を追加すると、そのフィルターに一致するすべてのサイトが含まれます。 サポートされているワイルドカードは、アスタリスクで終わるもののみです

sharepoint.com で終わらない URL (いわゆるバニティ URL) を使用している場合は、テナント管理センター サイトの URL (https://contoso-admin.contoso.com など) も指定する必要があります。

CSV ファイルで定義されているサイト コレクションの一覧をスキャンする

CSV ファイル

3 番目のオプションとして、スキャンするサイト コレクションを一覧表示した CSV ファイルをスキャナーに提供できます。 この CSV ファイルは、サイト コレクションの単純なリストです。次の例に示すように、ファイルにはヘッダーがありません。

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

3 ページ目: スキャナー モードの構成

SharePoint モダン化スキャナーでは複数のモードが利用できます。モダン化のモードに合わせて、スキャンする範囲を一部の場所に限ったり、または全体をスキャンしたりできます。

スキャナー モード

ドロップダウン リストで目的のオプションを選択すると、選択したスキャンに含まれるコンポーネントのチェック ボックスがオンになります。 「Microsoft 365 グループ接続の準備状態」コンポーネントは中心的なコンポーネントであるため、すべてのスキャン モードに含まれます。

4 ページ目: スキャナーのオプション

最後のステップでは、スキャナー オプションの詳細を調整することができます。 先ほど選択したスキャナーのモードによっては、一部のオプションが無効になっている場合があります。

スキャナーのオプション

次のスキャン オプションを使用できます。

  • Number of threads: 実行されるスキャンはマルチ スレッドで既定値は 10ですが、大規模なスキャンではスレッド数を 20 - 30 にするとパフォーマンスが上がります (効果にばらつきがある場合があります)
  • Don't use search: ページやサイトの使用状況の情報が必要な場合には、このオプションの選択を解除できます。 サイト コレクションごとに検索クエリが 1 つ追加されるので、スキャンがわずかに低速化します
  • Don't include user information: 作成されたデータにユーザー情報 (ユーザー名) 表示する必要がない場合はこのボックスをオンにします
  • Exclude lists: [モダン リストとライブラリ エクスペリエンス] スキャンでは、アウトオブボックス に関する理由だけでブロックされているリストを除外することができます
  • Export page details: Web パーツの詳細情報 (Web パーツ プロパティ) のデータセットは巨大になる場合があるので、既定ではスキャンからエクスポートされません。 Web パーツ オプションの完全なデータが必要な場合は、このボックスをオンにします
  • Don't generate reports: 既定では、スキャンは Excel ベースのダッシュボードを出力しますが、生の CSV ファイルのみが必要な場合は、Excel レポートを省略できます
  • Disable feedback: スキャナーは、スキャナーの性能を向上させる目的で Microsoft にフィードバックを送信します。 希望しない場合は、このボックスをオンにします
  • 区切り記号: 生成される CSV ファイルの既定の区切り記号はコンマですが、必要に応じてこれをセミコロンに変更できます
  • Date format: 生成された CSV ファイルの既定の日付形式は月/日/年です。 オプションでこれを日/月/年に切り替えることができます

手順 3 (別のオプション): コマンドラインを使用してスキャンを開始する

以下に、ほとんどのお客様にご利用いただける、ツールの既定の使用方法を示します: モード、テナント名、作成されたクライアント ID、およびシークレットを指定します:

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 グループ接続の準備状態コンポーネントのみを使用します。このコンポーネントは、各スキャンの一部です
ListOnly リストの詳細スキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
HomePageOnly Wiki ページ と Web パーツ ページ ホーム ページのスキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
PageOnly Wiki ページ と Web パーツ ページのスキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
PublishingOnly サイト レベルおよび Web レベルでのクラシック発行ポータルのスキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
PublishingWithPagesOnly サイト レベル、Web レベル、およびページ レベルでのクラシック発行ポータルのスキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
InfoPathOnly InfoPath スキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
BlogOnly ブログ スキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます
CustomizedFormsOnly カスタマイズされたフォームのスキャンおよび Microsoft 365 グループ接続の準備状態コンポーネントが含まれます

注:

現在のワークフロー移行ガイダンスについては、「 クラシック ワークフローから 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.