如何以编程方式从回收站sharepoint还原项目?

时间:2010-11-04 10:49:28

标签: sharepoint sharepoint-2007

除管理员帐户外,是否可以恢复从列表中删除的记录?如果可能怎么样?在我当前的项目中,我必须为具有“批准”权限的组授予权限,以恢复从列表中删除的记录。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

不幸的是,没有受支持的方式来访问作为非网站集管理员的网站集中的所有项目的回收站。

回收站仅显示打开回收站的用户删除的内容。因此,当您自己删除某些内容时,即使您是网站所有者,也只会看到“您的回收站”中的内容。您将无法看到其他人删除的文件。

以网站集管理员身份登录后,您可以打开回收站并查看所有用户的已删除项目。您甚至可以选择视图:

答案 1 :(得分:1)

您必须编写一些自定义代码来绕过安全模型 - 如果正确完成,可以在不授予过多权限的情况下获益。这是一个可以帮助您入门的代码段:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
  using (SPSite site = new SPSite("http://server/"))
  {
    using (SPWeb web = site.OpenWeb())
    {
      if (web.RecycleBin.Count > 0)
      {
        web.RecycleBin[0].Restore();
      }
    }
  }
});