前回は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()





コメント