Dirección del blog 51CTO: https://blog.51cto.com/13969817
Dirección del blog del jardín del blog: https://www.cnblogs.com/bxapollo
Hoy compartiré con ustedes cómo utilizar el script CSOM de PowerShell para obtener el recuento de elementos para una biblioteca o lista específica, incluidos los elementos de todas las carpetas que se encuentran debajo. Esto favorece el análisis de datos y las estadísticas. Por ejemplo, los cambios en la estructura organizativa requieren la migración de datos. Luego, puede utilizar este método para comparar el volumen de datos antes de la migración y el recuento de elementos de destino después de la migración para asegurarse de que los datos antes y después de la migración sean coherentes.
Hay muchas opciones para obtener el recuento de elementos, como PnP PowerShell, etc. Este artículo le presentará la solución de secuencia de comandos CSOM de PowerShell.
La implementación específica se divide en los siguientes 3 pasos:
- Cargar ensamblados CSOM de SharePoint
- Procesar variables y asegurar la conexión a SharePoint Online
- La función personalizada obtiene la cantidad de elementos de la lista de la URL de un sitio web específico
Comando para cargar ensamblados CSOM de SharePoint:
- Add-Type -Path "C: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ Web Server Extensions \ 16 \ ISAPI \ Microsoft.SharePoint.Client.dll"
- Add-Type -Path "C: \ Archivos de programa \ Archivos comunes \ Microsoft Shared \ Web Server Extensions \ 16 \ ISAPI \ Microsoft.SharePoint.Client.Runtime.dll"
Pero debido a que el .net de mi entorno es 4.0, de forma predeterminada, la función de ejecutar código en ensamblados cargados desde ubicaciones remotas está deshabilitada, por lo que debe usar [System.Reflection.Assembly] :: LoadFrom () para cargar Microsoft.SharePoint .Client.dll "como se muestra a continuación:
Nota: Para cargar estos dos archivos dll, debe ejecutarlos en el lado de implementación de SharePoint Server; de lo contrario, la ruta física no tiene el archivo de forma predeterminada.
Procesar variables y asegurar la conexión a SharePoint Online
$ SiteUrl = " https://mvptrainingcn.sharepoint.com/sites/Demo2 "
$ ListName = "TrainingDocument"
Nota: Debe ingresar la cuenta y la contraseña del administrador global de Microsoft 365, como se muestra a continuación: br /> $ UserName = "[email protected]"
$ Password = "XXXXXX"
La función personalizada obtiene la cantidad de elementos de la lista de la URL de un sitio web específico
#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
Puede ver que la cantidad de elementos obtenidos es 2, lo cual es consistente con la situación real de SharePoint Online, como se muestra en la siguiente figura:
Espero que los métodos estadísticos compartidos esta vez sean útiles para todos. Sigue prestándome atención. Compartiré más consejos en el futuro. Gracias por leer.