脚本下载: SPListEnumerator.zip
http://gallery.technet.microsoft.com/scriptcenter/SPListEnumerator-PowerShell-b0ce0b9f
本脚本通过一个“大型”列表或者是文档库来枚举并为相关项提供信息。
在SharePoint(2007版和2010版)中,我们有一个阈值。在SharePoint 2007中该阈值是2, 000而在SharePoint 2010中,它的的阈值是5, 000。我们会经常遇见一些客户在他们的列表或者文档库里存有大量的项。他们也因此抱怨整个站点的性能。客户可能在这里面创建了一些内嵌文件夹内存有大量的文档和列表项。一旦数量超过阈值的数值便会引起缓慢并会影响后端SQL内容数据库的性能。
比如说,假如你有500,000个文档存储在文档库的文件夹(和嵌套文件夹)内,那么要识别那些超过阈值数量的文档将会变得十分困难。本脚本会在一个给定的列表或文档库中遍历每个文件夹并在每个容器级别下枚举各项,然后将结果输出到一个后缀为.CSV的文件中,以便更轻松地在Excel表格中查看并执行进一步的筛选。
本PowerShell脚本采用了SharePoint对象模型。您需要提供您想要遍历的列表的列表名或者文档库名字,结果会写入一个可用Excel打开的名为out.CSV的文件内以此来做进一步的数据筛选。所写入的详细内容包括:
- 父级名称: 存放项的容器
- 内容类型: 每个项的内容类型
- 版本号(Minor和Major): 已有项的总版本数
- 大小(字节)(只针对当前版本):只对一个文档库里的项目有效。该列的值表示一个文档当前版本的大小。
- 终止权限继承: 使用布尔值来标志项是否终止权限继承
- 项计数器(仅针对文件夹): 该容器内的所有项的数目
您可以在微软一站式脚本实例库中找到更多的脚本示例资源:http://aka.ms/onescriptingallery