使用PowerShell更新声明为记录的项目

时间:2014-06-16 17:27:54

标签: powershell sharepoint

想要检查是否有人知道更有效的文件更新方式。

使用CAML查询从库中返回文档。返回的文档需要未声明为记录,签出,更新,签入,然后声明为记录。

在下面的脚本中,您将注意到我必须执行多个.GetItems调用。如果没有这些调用,则会在管理帐户修改该项目的每个操作后返回错误。

$spQuery.Query = $caml 

do
{
 $listItems = $list.GetItems($spQuery)
 $spQuery.ListItemCollectionPosition = $listItems.ListItemCollectionPosition
 foreach($item in $listItems)
{
  $itemID = $item.id
  $recordsmanagement::UndeclareItemAsRecord($item)
  $item = $list.GetItemById($itemID) 
  $item.File.CheckOut()

  $item["Some Field"]=$nSomeUpdate

  $item.Update() 
  $item = $list.GetItemById($item.id) 
  $item.File.CheckIn("Content Update")
  $item = $list.GetItemById($item.id)
  $recordsmanagement::DeclareItemAsRecord($item)
}

}
while ($spQuery.ListItemCollectionPosition -ne $null)

0 个答案:

没有答案