PowerShell サンプル – アイテムの作成、取得、編集、削除

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

 

■アイテムの作成

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#アイテムのコレクションを取得します。
$items = $list.Items
#アイテムを追加します。
$item = $items.Add()
#アイテムのタイトルに値を設定します。
$item["Title"] = "<値>"
#アイテムを更新します。
$item.Update()

 

例) アイテムを追加する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["おしらせ"]
$items = $list.Items
$item = $items.Add()
$item["Title"] = "おしらせリストを作成しました。"
$item.Update()

 

■アイテムの取得

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#アイテムのコレクションを取得します。
$items = $list.Items
#アイテムを取得します。
$item = $items.GetItemById(<アイテムの ID>)
#アイテムの列の値を取得します。
$item["<列のタイトルまたは内部名>"]

 

例) アイテムのタイトルを取得する
$web = Get-SPWeb https://sharepoint/sites/team $list = $web.Lists["おしらせ"]
$items = $list.Items
$item = $items.GetItemById(1)
$item["Title"]

 

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#アイテムのコレクションを取得します。
$items = $list.Items
#アイテムを取得します。
$item = $items[<インデックス>]
#アイテムの列の値を取得します。
$item["<列のタイトルまたは内部名>"]

 

例) アイテムのタイトルを取得する
$web = Get-SPWeb https://sharepoint/sites/team $list = $web.Lists["おしらせ"]
$items = $list.Items
$item = $items[0]
$item["Title"]
 
参考 : <列の内部名> を確認する方法は以下の投稿でご紹介しています。
PowerShell サンプル – 列の作成、取得、編集、削除

 

■アイテムの編集

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#アイテムのコレクションを取得します。
$items = $list.Items
#アイテムを取得します。
$item = $items.GetItemById(<アイテムの ID>)
#アイテムの列に値を設定します。
$item["<列のタイトルまたは内部名>"] = <変更後の値>
#アイテムを更新します。
$item.Update()

 

例) はい/いいえ (チェック ボックス) 列の値を更新する
$web = Get-SPWeb https://sharepoint/sites/team
$list = $web.Lists["トレーニング管理"]
$items = $list.Items
$item = $items.GetItemById(1)
$item["必須"] = $true
$item.Update()
 
参考 : <列の内部名> を確認する方法は以下の投稿でご紹介しています。
PowerShell サンプル – 列の作成、取得、編集、削除

 

■アイテムの削除

#サイトを取得します。
$web = Get-SPWeb <Web サイトの URL>
#リストを取得します。
$list = $web.Lists["<リスト名>"]
#アイテムのコレクションを取得します。
$items = $list.Items
#アイテムを削除します。
$items.DeleteItemById(<アイテムの ID>)

 

例) アイテムを削除する
$web = Get-SPWeb https://sharepoint/sites/team $list = $web.Lists["おしらせ"]
$items = $list.Items
$items.DeleteItemById(1)
- 補足
目的の処理を実施した後は、SPWeb.Dispose メソッドを使用して SPWeb オブジェクトを閉じ、リソースを解放します。

$web.Dispose()

 

例) アイテムを追加し、タイトル、概要を設定します。
$web = Get-SPWeb https://sharepoint/sites/team $list = $web.Lists["業務分類"]
$items = $list.Items
$item = $items.Add()
$item["タイトル"] = "文書管理"
$item["概要"] = "業務の効率化を目的とし、文書の保存・廃棄等、文書を適切に管理します。"
$item.Update()
$web.Dispose()