前回はPowershellでSharePoint Online を操作するための準備について紹介しました。今回はSharePoint Onlineのリスト一覧を取得してみようというお話です。
$Context.Web.lists
前回動作確認で$Contextというオブジェクトを作成していましたが、その中にリストの情報も詰まっています。
リスト一覧の場合、$Context の中の Web情報 の中の lists を取得してやります。イメージとしては↓の図のような感じ。
んでそれが $Context.Web.lists という書き方で参照できるという訳ですね。
そしてそれはリストの一覧、つまり全てのリスト情報が入っていますので、ループ処理などを用いて1リストずつ見ていってやるということをよくやります。
foreach($objList in $Context.Web.lists) { Write-Host "リスト名 : " $objList.Title }
foreach で1リスト分ずつ見ていって、$objList.Title でリストのタイトル部分を参照しています。
サンプル
コード
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null #接続情報等 $SiteUrl = "https://tenant.sharepoint.com/testsite" $Account = "administrator@tenant.onmicrosoft.com" $Password = Read-Host -Prompt "Enter Password." -AsSecureString # Credential作成 $Credential = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Account, $Password) # Context作成 $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl) $Context.Credentials = $Credential $Context.Load($Context.Web.lists) $Context.ExecuteQuery() foreach($objList in $Context.Web.lists) { Write-Host "リスト名 : " $objList.Title } # 後始末 $Context.Dispose()
コメント