SharePointソリューション:ライブラリまたはリスト内のアイテムの数を取得する方法

51CTOブログアドレス:https://blog.51cto.com/13969817blog
ガーデンブログアドレス:https://www.cnblogs.com/bxapollo

今日は、PowerShell CSOMスクリプトを使用して、特定のライブラリまたはリストのアイテム数を取得する方法を説明します。これには、その下のすべてのフォルダ内のアイテムが含まれます。これは、データ分析と統計に役立ちます。たとえば、組織構造の変更にはデータの移行が必要です。 、次に、この方法を使用して、移行前のデータ量と移行後の宛先アイテム数を比較し、移行前後のデータに一貫性があることを確認できます。

PnP PowerShellなど、アイテム数を取得するための多くのオプションがあります。この記事では、PowerShellCSOMスクリプトソリューションを紹介します。

具体的な実装は、次の3つのステップに分かれています。

  • SharePointCSOMアセンブリをロードします
  • 変数を処理し、SharePointOnlineへの接続を確認します
  • カスタム関数は、特定のWebサイトURLのリストからアイテムの数を取得します

SharePoint CSOMアセンブリをロードするコマンド:

  • 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ソリューション:ライブラリまたはリスト内のアイテムの数を取得する方法

注:これら2つのdllファイルをロードするには、SharePoint Serverデプロイメント側で実行する必要があります。そうしないと、物理パスにデフォルトでファイルがありません。

変数を処理し、SharePointOnlineへの接続を確認します

$ SiteUrl = " https://mvptrainingcn.sharepoint.com/sites/Demo2 "
$ ListName = "TrainingDocument"
SharePointソリューション:ライブラリまたはリスト内のアイテムの数を取得する方法

注:次に示すように、Microsoft365グローバル管理者のアカウントとパスワードを入力する必要があります。br/> $ UserName = "[email protected]"
$ Password = "XXXXXX"
SharePointソリューション:ライブラリまたはリスト内のアイテムの数を取得する方法

カスタム関数は、特定のWebサイトURLのリストからアイテムの数を取得します

#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ソリューション:ライブラリまたはリスト内のアイテムの数を取得する方法

次の図に示すように、取得されたアイテムの数が2であることがわかります。これは、SharePointOnlineの実際の状況と一致しています。

SharePointソリューション:ライブラリまたはリスト内のアイテムの数を取得する方法

今回共有した統計手法が皆様のお役に立てば幸いです。今後とも注目していきます。今後もヒントを共有していきます。お読みいただきありがとうございます。

おすすめ

転載: blog.51cto.com/13969817/2592078