📋
SharePoint 2013 のリストに内部名でアクセスする
SharePoint 2013 のリストには内部名と表示名が存在します。SPListItemCollection
オブジェクトのインデクサーからリストを取得するときは、表示名を指定しなければなりません。
$web = Get-SPWeb http://sharepoint.example.com
$list = $web.Lists["サイトのページ"] # 取得できる
$list = $web.Lists["SitePages"] # 取得できない
表示名は変更可能ですので、メンテナンスを考えると、表示名を指定するのは望ましくありません。そこで、内部名を指定して取得するために、SPList.GetList
メソッドが使用できます。ちなみにカスタム リストのような場合は URL が /Lists/List1
のようになりますので、注意が必要です。
$web = Get-SPWeb http://sharepoint.example.com
$list = $web.GetList($web.ServerRelativeUrl.TrimEnd("/") + "/SitePages") # 取得できる
なお、列の場合は、内部名と表示名のいずれでも取得できるようです。
$item = $list.Items[0]
$value = $item["Modified"] # 取得できる
$value = $item["更新日時"] # 取得できる
Discussion