SharePoint モダン化スキャナーを使い始める
SharePoint モダン化スキャナーを使用すると、従来のサイトでモダン化の準備が行えます。 スキャナーは、以下のモダン化の作業の準備を行います。
- モダン リストとライブラリの使用状況の最適化
- これらのサイトを Microsoft 365 のグループに接続する
- モダン サイト ページを作成して Wiki ページと Web パーツ ページをモダン化する
- クラシック発行ポータルをモダン発行ポータルとして再構築する
- 従来のブログ ページの使用方法の概要
このスキャナーは、サイトをモダン化する場合の難易度を実際のデータで示すことができるため、クラシック サイトをモダン化する準備のために使用する中心的なツールです。 スキャナーで生成されたダッシュボードを使用すると、サイトの「モダン化の準備状態」を正確に把握し、必要な対策の計画を適宜立てることができます。
注:
- ワークフロー 2013 と InfoPath Forms Services の使用状況を 評価するには、Microsoft 365 評価ツールを使用する必要があります。このツールは、最新化スキャナーの関連する機能を段階的に置き換えます
- SharePoint モダン化スキャナーは、SharePoint Online に対して実行するためにのみサポートされています。 オンプレミスの SharePoint をスキャンする場合は、SharePoint 移行評価ツール (SMAT) または Microsoft コンサルティング サービスのオープン ソース バージョンのオンプレミス ワークフロー スキャナー の使用をご検討ください。
重要
モダン化ツールと他のすべての PnP コンポーネントは、それらをサポートしてくれるアクティブなコミュニティによって支援されているオープン ソース ツールです。 公式の Microsoft サポート チャネルのオープン ソース ツールのサポート用 SLA ではありません。
手順 1: SharePoint モダン化スキャナーの最新バージョンを入手する
SharePoint Online はより多くのモダン機能を追加しながら継続的に進化しているため、スキャナーの最新バージョンを常時ダウンロードする必要があります。 SharePoint モダン化スキャナー実行ファイルをダウンロードして、使用を開始します。 このページとそれにリンクされている他のページには、開始するためのすべての情報と、すべてのレポートの詳細、FAQ も含まれています。
手順 2: スキャンの準備
一般的なスキャンでは、すべてのサイト コレクションをスキャンする必要があるため、テナント スコープのアクセス許可を持つアプリ専用プリンシパルを使用してスキャンすることをお勧めします。 この方法を使うと、スキャナーはすべてのサイトに確実アクセスできます。アカウント (たとえば、SharePoint テナント管理者アカウント) を使用する場合は、スキャナーがアクセスできるサイトはこのアカウントがアクセスできるサイトに限られます。 アプリ専用のアクセスには、Azure AD アプリケーションまたはSharePoint アプリ プリンシパルを使用できます。以下のリンクは、手動で設定する方法を示しています。 推奨される方法は Azure AD アプリのみであるため、 PnP PowerShellInitialize-PnPPowerShellAuthentication
コマンドレットを使用して、Azure AD アプリケーションのセットアップを簡単に行うことができます。 詳細については、「Initialize-PnPPowerShellAuthentication を使用して Azure AD アプリ専用をセットアップする」 の章を参照してください。
重要
Azure AD アプリ専用を選択する場合は、上記の手順で Azure AD アプリに Sites.FullControl.All 権限を付与します。これは、すべての スキャン コンポーネントを実行する場合に必要です。 ワークフロー スキャンに興味がない場合は、バージョン 2.6 以降、Sites.Read.All を権限として使用することもできます。 Teams チームがリンクされているサイト コレクションについてレポートする場合は、Group.Read.All 権限も追加する必要があります (バージョン 2.7 以降)。
準備作業が完了したら、スキャンの実行に進みます。
Initialize-PnPPowerShellAuthentication を使用して Azure AD アプリ専用をセットアップする
PnP PowerShell を使用して Azure AD アプリ専用を構成するには、次の手順を実行します。
- PnP PowerShell をインストールするか、2020 年 4 月またはそれより新しいバージョンに更新します。
-
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)
- 認証を求められます。テナント管理者のユーザーで認証されていることを確認します
- コマンドレットは Azure AD アプリをセットアップし、アプリの作成を処理するための Azure AD 時間を与えるために 60 秒待ちます
- 作成された Azure AD アプリケーションに付与された権限に同意するよう求められます:
- 最初に、もう一度ログインするように求められます。テナント管理者アカウントを使用してください
- 次に、同意ダイアログが要求された権限で表示されます (次のスクリーンショットを参照)。 [Accept] をクリックします
- 返された AzureAppId、作成された PFX ファイル、およびパスワードを安全な場所に保存します。次の章の説明に従って使用する必要があります。「Azure AD アプリ専用で認証」 を参照してください
手順 3: ユーザー インターフェイスのオプションを使用してスキャンを起動する
最も簡単な方法は、スキャナーに備わっている UI を使用して SharePoint.Modernization.Scanner.exe を起動する方法です。 別の方法として、(PowerShell) コマンド プロンプトを起動して同フォルダーに移動し、コマンド ラインでスキャナーを使用する方法もあります。 この章では、UI を使用して標準的なフル スキャンを行う手順を説明します。 最初に、SharePoint.Modernization.Scanner.exe を起動します。
1 ページ目: スキャナー認証の構成
Azure AD アプリ専用経由での認証
モダン化スキャナー ウィザードの最初のページで、認証情報を求められます。 スキャナーでは 4 つのオプションが利用可能です。次に示すように、目的のオプションを選択して必要な情報を入力します。 スキャンする必要があるサイトすべてにスキャナーがアクセスできるように、アプリ専用モデルの使用をお勧めします。
Azure AD アプリ専用経由でアクセス権を設定 した場合、Azure アプリが作成され、アクセスの証明書が構成されます。 この情報をツールに提供する必要がありあります。
- Azure AD Application ID: Azure AD 環境で作成されたアプリケーションの ID
- Azure AD Domain name: Azure AD 環境の既定のドメイン。 この情報は、Azure AD 管理センターの概要ページから確認することができます。 通常、このドメインは *.onmicrosoft.com として書式設定されます (例: contoso.onmicrosoft.com)。
- Certificate file: 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 アプリ専用を使用する方法を選択した場合は、次の情報を指定する必要があります。
- Azure ACS Client ID: 作成されたアプリ専用プリンシパルの ID
- Azure ACS Client Secret: アプリケーション プリンシパルを作成したときに取得したシークレット
資格情報による認証
標準のユーザー名とパスワードの組み合わせを使用します (提供したユーザーが必要なアクセス許可を持っていることが前提です)。 スキャナーのバージョン 2.9 以降、ユーザー名とパスワード ベースの認証は、スキャンされたテナントで有効になっているレガシ認証に依存しなくなりました。 この種の認証が機能しないのは、使用するアカウントが多要素認証を必要とする場合のみです。 このような場合は、バージョン 2.9 以降で導入された多要素認証オプションを使用してください。
多要素認証を使用して認証する (バージョン 2.9 以降)
管理者を使用しているテナントとアカウントによっては、SharePoint Online にログインするために多要素認証が必要になる場合があります。 ユーザーの資格情報を使用してスキャナーを使用する場合は、このオプションを使用する必要があります。 アプリ専用のアプローチの使用もお勧めしますが、アプリ専用のセットアップに必要な権限がない場合は、このアプローチでは、ユーザーとして権限を持つサイト コレクションをスキャンできます。 これを使用するには、次の必要があります:
- スキャンするサイトの URL を入力します (アクセスしたサイトはすべて問題ありません)
- [ログイン] ボタンをクリックすると、多要素認証の流れがトリガーされます
注:
多要素認証を使用すると、正常にログインした後に、スキャナーにアクセス トークンが割り当てられます。 アクセス トークンの有効期間は制限されているため (通常は1時間)、トークンが有効な間のみ、スキャンが SharePoint サイトにアクセスできます。
2 ページ目: スキャナーのサイト範囲の構成
テナント全体をスキャンする
このページでは、スキャン対象のサイトを定義できます。 スキャナーでは、テナント全体のスキャンから、個別に選択したサイト コレクションのスキャンまでサポートされています。
テナントの完全なスキャンを行うとモダン化レポートが作成されるため、多くの場合この方法が推奨されます。 この方法を選択する場合は、テナント名を入力するだけで済みます。 テナントが sharepoint.com で終わらない URL を使用 している場合はこの方法は利用できません。該当する場合は、以下の 2 つの方法のうちいずれかを使用する必要があります。
定義されたサイト コレクションの一覧をスキャンする
このオプションでは、次のうちどちらかを提供して 1 つまたは複数のサイト コレクションを選択できます。
- スキャン対象のサイト コレクションの完全修飾 URL
- ワイルドカード URL: アスタリスクで終わる URL を追加すると、そのフィルターに一致するすべてのサイトを含められます。 アスタリスクで終わるワイルドカード URL のみを利用できます
sharepoint.com で終わっていない URL (バニティ URL) を使用している場合は、テナント管理センター サイトの URL ( https://contoso-admin.contoso.com など) も指定する必要があります。
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 にフィードバックを送信します。 希望しない場合は、このボックスをオンにします
- Separator: 生成された 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 グループ接続の準備状態コンポーネントが含まれます |
注:
ワークフロー 2013 の使用状況の評価は、Microsoft 365 Assessment ツールを使用して行う必要があります
コマンドライン パラメーターの概要
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.