51CTO 博客地址:https://blog.51cto.com/13969817
博客园博客地址:https://www.cnblogs.com/bxapollo

今天给大家分享一下如何使用PowerShell CSOM 脚本为特定的Library或者List获取Item count,包括其下所有的文件夹中的item,这样有利于做数据分析和统计,比如组织结构变更,需要将数据做迁移,那么就可以通过该种方法对比迁移前的数据量和迁移后的目的端item count,以确保数据迁移前后的数量是一致的。

获取Item count方案有很多,比如PnP PowerShell等等,本文将为大家介绍的是PowerShell CSOM 脚本的解决方案。

具体执行分为以下3个步骤:

  • 加载SharePoint CSOM Assemblies
  • 处理变量,确保连接SharePoint Online
  • 自定义函数从特定的网站URL的List中获取Item数量

加载SharePoint CSOM Assemblies的命令:

  • Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
  • Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

但由于我环境的.net是4.0的,默认的情况下,禁用从远程位置加载的程序集中执行代码的功能,所以需要使用[System.Reflection.Assembly]::LoadFrom()来加载Microsoft.SharePoint.Client.dll",如下所示:

SharePoint 解决方案:如何获取Library或者List下的Item数量

说明:加载这两个dll文件,需要在部署SharePoint Server端执行,否则默认情况下物理路径是没有该文件的。

处理变量,确保连接SharePoint Online

$SiteUrl = "https://mvptrainingcn.sharepoint.com/sites/Demo2"
$ListName="TrainingDocument"
SharePoint 解决方案:如何获取Library或者List下的Item数量

说明:需要输入Microsoft 365 Global Admin的账户和密码,如下所示:$UserName="XXXXXX@MVPTrainingCN.onmicrosoft.com"
br/>$UserName="XXXXXX@MVPTrainingCN.onmicrosoft.com"
SharePoint 解决方案:如何获取Library或者List下的Item数量

自定义函数从特定的网站URL的List中获取Item数量

#Setup Credentials to connect$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName,(ConvertTo-SecureString $Password -AsPlainText -Force))#Set up the context$Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)$Context.Credentials = $credentials#Get the List$List = $Context.web.Lists.GetByTitle($ListName)#sharepoint online get list items powershell$ListItems = $List.GetItems([Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery())$Context.Load($ListItems)$Context.ExecuteQuery()      write-host "Total Number of List Items found:"$ListItems.Count

SharePoint 解决方案:如何获取Library或者List下的Item数量

可以看到获取到的Item数量是2,与SharePoint Online的实际情况吻合,如下图所示:

SharePoint 解决方案:如何获取Library或者List下的Item数量

希望本次分享的数据统计方法对大家有帮助,持续关注我,后续会分享更多使用小技巧,谢谢阅读。

更多相关文章

  1. 使用Rails 3.2和AJAX(非flash上传解决方案)将多个文件直接上载到
  2. jQuery的$.getJSON方法在IE浏览器下失效的解决方案
  3. [置顶] JQuery datatables 使用Fixedcolumns固定列控件
  4. jQuery Ui Draggable在移动端浏览器不起作用解决方案
  5. html2canvas 识别 svg 解决方案
  6. HTML5用户身份认证源代码:注册、登录、会话保持的解决方案
  7. 用于在表中强制换行的PHP或HTML/CSS解决方案
  8. 如何实现分布式文件上传解决方案?
  9. 如何在数组中存储产品数量

随机推荐

  1. 如何使用ASP.NET实现生成验证码功能的实
  2. 关于Asp.net MVC如何利用swupload来实现
  3. 关于asp.net如何获取浏览器访问的IP地址?
  4. C#中INI配置文件的图文代码详解
  5. 关于.net使用Cache框架如何给程序添加Cac
  6. C#中关于TCP粘包出现的问题解决的示例
  7. 如何使用C#自定义音乐播放器进度条的实例
  8. C#实现身份证识别功能的图文代码详解
  9. 关于ASP.NET MVC4如何使用PagedList.Mvc
  10. Windows服务在C#下如何创建(图)?