はじめに
SharePoint Onlineのサイト~サブサイトの情報を取得するPowerShellです。
本当はリスト名・URLだけを取得したかったのですが、URLだけ取得しようとするとURLに値が入らず、取得できなかったため今回この方法に至りました。
取得方法がわかる方がいらっしゃいましたらコメントください
準備
- PowerShell Ver.5.0以上
- インストールしている場合は、
$PSVersionTable
を入力してバージョンを確認してください。
- インストールしている場合は、
- PnP PowerShell
- SharePoint Online Management Shell
- SharePoint Online Client Components SDK
サンプル
qiita.rb
#サイトコレクションのURL
$SiteCollectionUrl = "任意のURL"
#ログインユーザー
$username="任意のメールアドレス"
$Cre = Get-Credential -UserName $username -Message "パスワードを入力してください"
Connect-PnPOnline -Url $SiteCollectionUrl -Credentials $Cre
$web=Get-PnPWeb
Write-Host $web.Title "(" $web.ServerRelativeUrl ")に接続しました。"
Read-Host "続けるには Enter キーを押してください..."
Get-PnPList
$Subs=Get-PnPSubWebs
ForEach($sub in $Subs){
Get-PnPList
$sub
}
必要であれば、以下をGet-PnPList
の後ろに追記してください。
| Out-String -Width 5000
文字数制限により、Get-PnPList
だけではURLまですべて取得できないことがあります。
必要であれば追記してください。
今回は5000にしていますが、ここは任意の数に変更してください。
参考URL
PowerShellで表示が切れるのを防ぐ
PowerShell で、SharePoint Online の リストとアイテムの情報を書き出してみた