2012-08-02 62 views
1

我有两个identincal SharePoint 2007名的列表。PowerShell来执行SharePoint列表操作

我可以使用PowerShell来做到以下几点:

  1. 复制第一单进入第二与所有它的项目版本历史记录。
  2. 从第一列表中删除所有版本历史记录
  3. 清理掉一些15列的每个项目的第一个列表

上。而且,什么是使该PowerShell脚本可执行用户通过一个按钮的最佳方法在SharePoint 2007中的网页上?

什么这个脚本可能看起来像非常感谢任何帮助!

回答

0

既然你可以使用任何DLL从PowerShell的,是的,你可以使用SharePoint API从PowerShell中。

基本上可以

  1. STSADM扩展gl-copylist命令克隆列表(你可以从PowerShell的反正调用命令)
  2. There is already a PowerShell script禁用版本,但它涉及到所有的列表 - 你也许可以走出大块你需要。
  3. 呼叫SPList.Fields [ “fieldToDelete”]删除();删除列表中的字段。

关于#2 - 不知道这一个,但你可以尝试设置SPList.EnableVersioningfalse.Update(),然后true,看看它是否会自动删除版本。

从PowerShell中访问SharePoint API,执行(read more here):

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 

注意,你可以做到这一点只能从计算机的SharePoint安装上。反过来,你就不得不说说到PowerShell的throught Web服务。