PowerShell サンプル – リストの作成、取得、編集、削除

こんにちは、SharePoint サポートの佐伯です。
今回の投稿では、PowerShell を使用してリストの基本的な操作を実施する方法についてご紹介します。
あまり PowerShell のご経験がない方にも分かりやすくするために、ここではシンプルなサンプルをご紹介していきます。目的の処理を実装する際にご参考になりましたら幸いです。
実装の際は MSDN の資料も合わせてご参照ください。

 

■リストの作成

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストのコレクションを取得します。
$lists = $web.Lists
#リストを追加します。
$lists.Add("<リスト名>", "<リストの説明>", <リスト定義の種類>)

 

例) お知らせリストを作成する
$web = Get-SPWeb https://sharepoint/sites/team
$lists = $web.Lists
$lists.Add("News", "お知らせ用のリスト", [Microsoft.SharePoint.SPListTemplateType]::Announcements)

 

例) ドキュメント ライブラリを作成する
$web = Get-SPWeb https://sharepoint/sites/team
$lists = $web.Lists
$lists.Add("会議資料", "会議資料管理用のライブラリ", [Microsoft.SharePoint.SPListTemplateType]::DocumentLibrary)
 
参考 : その他の <リスト定義の種類> は下記の資料をご参照ください。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splisttemplatetype(v=office.15).aspx
 
なお、上記のサンプルでは、引数が (String, String, SPListTemplateType) の SPListCollection.Add メソッドを使用しています。その他の引数リストの異なるメソッドについては、下記の資料をご参照ください。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splistcollection.add(v=office.15).aspx

 

■リストの取得

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#(リストの URL を指定して) リストを取得します。
$list = $web.GetList("<リストの URL>")
#リストのプロパティ値を取得します
$list.<リストのプロパティ>

 

例) リストの GUID を取得する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.GetList("/Lists/news")
$list.ID

 

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#(リスト名を指定して) リストを取得します。
$list = $web.Lists["<リスト名>"]
#リストのプロパティ値を取得します
$list.<リストのプロパティ>

 

例) リストの GUID を取得する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["News"]
$list.ID
参考 : その他の <リストのプロパティ> は下記の資料をご参照ください。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splist\_properties(v=office.15).aspx

 

例) リストのプロパティ情報を *.txt ファイルに出力する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["News"]
$list >C:\news.txt

 

■リストの編集

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#リストのプロパティに値を設定します。
$list.<リストのプロパティ> = <変更後のプロパティ値>
#リストを更新します。
$list.Update()

 

例) リストの表示名を変更する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["News"]
$list.Title= "ニュース"
$list.Update()

 

例) リストを非表示にする
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["バックアップ管理用リスト"]
$list.Hidden = $true
$list.Update()
 
参考 : その他の <リストのプロパティ> は下記の資料をご参照ください。
https://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.splist_properties(v=office.15).aspx

 

■リストの削除

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#リストを削除します。
$list.Delete()

 

例) リストを削除する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["ニュース"]
$list.Delete()

 

- 補足
目的の処理を実施した後は、SPWeb.Dispose メソッドを使用して SPWeb オブジェクトを閉じ、リソースを解放します。

$web.Dispose()

 

例) カスタム リストを作成し、フォルダの作成を有効にする
$web = Get-SPWeb https://sharepoint/sites/team
$lists = $web.Lists
$listGuid = $lists.Add("テスト用リスト", "テスト用に作成しました。", [Microsoft.SharePoint.SPListTemplateType]::GenericList)
$list = $lists.GetList($listGuid, $false)
$list.EnableFolderCreation= $true
$list.Update()
$web.Dispose()