SharePoint/MOSS-从列表中删除其他人的未签入项目

SharePoint/MOSS-从列表中删除其他人的未签入项目,sharepoint,moss,Sharepoint,Moss,一个简单的场景: 我想从我们的莫斯出版网站上删除一个过时的页面布局。 一位前同事使用此页面布局创建了一个新页面,但他尚未将其签入。 我无法删除页面布局,因为他的文件正在引用它。 我无法“查看”该文件,因为它尚未签入以删除它 我尝试过SPFolder.Items、SPList.GetItemById和其他几种对象模型方法。但SharePoint根本不会向我显示该项目。 我甚至浏览了SPList.GetItemnew SPQuery{includealuserPermissions=true;} 有

一个简单的场景:

我想从我们的莫斯出版网站上删除一个过时的页面布局。 一位前同事使用此页面布局创建了一个新页面,但他尚未将其签入。 我无法删除页面布局,因为他的文件正在引用它。 我无法“查看”该文件,因为它尚未签入以删除它

我尝试过SPFolder.Items、SPList.GetItemById和其他几种对象模型方法。但SharePoint根本不会向我显示该项目。 我甚至浏览了SPList.GetItemnew SPQuery{includealuserPermissions=true;}

有人知道如何处理这件物品吗-

从codeplex尝试


祝你好运。

首先,你应该对网站集拥有管理员权限。然后:

单击站点操作,管理内容和结构。 在母版页库中浏览到要删除的页面布局。 在要删除的页面布局旁边打勾。 单击“显示相关资源”。
这将允许您查看连接到该页面布局的每个页面。

如果您是网站集管理员,还可以强制签入其他人的签出文件。诀窍是你必须知道它在哪个库中。如果您知道,可以导航到该库,然后执行以下操作:

我想可以点击设置->文档库设置或列表设置 单击“权限和管理”列中的“管理签出的文件” 现在,您应该看到一个签出文件列表,您可以选择该列表,然后单击工具栏中的“获取所选文件的所有权”。 完成后,您可以自己检查文件。
快速简便的非SharePoint解决方案:
如果是前同事,是否有可能要求使用新密码临时使用他的帐户,以便您可以登录门户并重新签入或放弃签入?

Abs的回答告诉我们-嘿,ManageCheckedOutFiles页面如何查看其他用户尚未签入的文件

转到~layouts/ManageCheckedOutFiles.aspx 从Microsoft.SharePoint.ApplicationPages.ManageCheckedOutFilesPage继承 reflector 12\CONFIG\BIN\Microsoft.SharePoint.ApplicationPages.dll 在protected void PrepareContent中,我们阅读了关键行: IList checkedOutFiles=this.CurrentList.checkedOutFiles; 那么回到我们的代码中

SPDocumentLibrary doclib = PublishingWeb.PagesList as SPDocumentLibrary;
foreach(var checkedoutfile in doclib.CheckedOutFiles)
{
    checkedoutfile.TakeOverCheckOut();
    var file = doclib.GetItemById(checkedoutfile.ListItemId);
    file.CheckIn();
}

谢谢大家:-

是的,它会显示相关内容,但如果该人至少一次没有登记入住,我不会删除这些内容。当我尝试访问该资源时,我得到了404。您指的是哪一个SharePoint Sushi功能?这是一个很好的提示,可以引导我们解决对象模型中的问题。见下面我的评论。感谢Abs。我的场景有点简化了-MOSS站点是从不同的MOSS站点进行的站点还原,用户实际上在不同的Active Directory系统上。因此,在我的网络中无法以他们的身份登录:-在SharePoint 14 PowerShell中,代码看起来有点不同:$checkedoutfile.TakeOverCheckOut$item=$doclib.GetItemById$checkedoutfile.ListItemId$item.File.CheckIn;