MyNote365

Office365 , OneNote , SharePoint , PowerApps , MicrosoftFlow 関連の備忘録

【SharePoint】サイト設定情報のドキュメント(マークダウン)をPowerShellで作成する

f:id:tecchan365:20210214122907p:plain

新しいクロスプラットフォーム版の PnP PowerShell を利用すれば、上図のようなサイト設定情報が記載されたマークダウンファイルを作成することができます。

実行に必要な環境

  • PowerShell 7
  • 新しいクロスプラットフォーム版の PnP PowerShell

※レガシーバージョンの PnP PowerShell からアップグレード する方法は、次の鍋綿さんの記事が参考になるかと思います。

www.micknabewata.com

記事作成時点の PowerShell 7 および PnP PowerShell のバージョンは次の通りです。

f:id:tecchan365:20210214111955p:plain

コマンド例

PowerShell 7 を立ち上げ、次のスクリプトを実行すると、$output で設定した場所に、マークダウンファイルが作成されます。
(マークダウンファイル作成元の xml ファイルも同時に作成されます)

# =========================================================
# サイト情報を出力したいサイト
# =========================================================
$targetUrl = "https://contoso.sharepoint.com/sites/SharePointSuccessSite"

# =========================================================
# マークダウンファイル出力先
# =========================================================
$output = "C:\Work"

# =========================================================
# サイト情報を取得し、マークダウンファイルを出力先に作成
# =========================================================
Connect-PnPOnline -Url $targetUrl

$web = Get-PnPWeb
$xmlFile = $output + "\" + $web.Title + "_settings.xml"
$markdownFile = $output + "\" + $web.Title + "_settings.md"

Get-PnPSiteTemplate -Out $xmlFile -Force
Convert-PnPSiteTemplateToMarkdown -TemplatePath $xmlFile -Out $markdownFile -Force

Disconnect-PnPOnline

f:id:tecchan365:20210214134002p:plain

作成されたマークダウンファイルを開いてみると、$targetUrl で指定したサイトの設定情報が記載されています。

f:id:tecchan365:20210214120938p:plain

以下は、実際に作成してみたマークダウンファイルです。
SharePoint グループの一覧、リスト・ドキュメントの一覧、ビューの一覧など様々な情報が記載されています。

github.com

以上、サイト設定情報が記載されたマークダウンファイルを作成する方法でした。
サイト設定情報をドキュメントに残したい場合などに利用すると、便利そうです。

関連リンク

pnp.github.io