Búsqueda de sitios web

Registrar todos los documentos en una biblioteca de SharePoint usando PowerShell


Requisito: Registrar todos los archivos que están desprotegidos en una biblioteca de documentos de SharePoint.

¿Cómo registrar todos los documentos retirados en SharePoint 2016?

SharePoint 2016 lo simplifica al proporcionar botones de cinta sensibles al contexto para registrar varios archivos de forma masiva. Simplemente seleccione todos los archivos marcados y haga clic en el botón "Registrar" de la cinta.

¡Pero este método no funciona cuando tienes un campo obligatorio sin ningún valor predeterminado asignado!

Registrar todos los documentos en una biblioteca de SharePoint usando PowerShell

Cuando carga varios archivos (carga masiva o mediante la vista del explorador) y la columna requerida no tiene ningún valor predeterminado, sus archivos se retirarán automáticamente. El botón "Registrar" no funcionará si se pierde algún campo obligatorio en la biblioteca.

Entonces, nuestra solución es: ¡PowerShell!

Script de PowerShell para registrar todos los documentos en la biblioteca:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Variables for Site URL and Library Name
$WebURL="https://sharepoint.crescent.com/sites/sales"
$LibraryName="Proposal Documents"

#Get Site and Library
$Web = Get-SPWeb $WebURL
$DocLib = $Web.Lists.TryGetList($LibraryName)

#Get all Checked out files
$CheckedOutFiles = $DocLib.Items | Where-Object { $_.File.CheckOutStatus -ne "None"} 

#Check in All Checked out Files in the library
ForEach($item in $CheckedOutFiles)
{ 
    #If you want to update fields
    #$item["Field"] = "value"
    #$item.SystemUpdate()
 
    #check in file programmatically     
    #$item.TakeoverCheckout() 
    $DocLib.GetItemById($item.Id).file.CheckIn("Checked in by Admin") 
    write-host "File:'$($item.Name)' has been checked in!"        
}

Si desea hacer esto para todas las bibliotecas en toda su aplicación web de SharePoint, use: Buscar todos los archivos retirados y registrarlos nuevamente

¡Es posible registrar el archivo sin proporcionar los valores de campo requeridos a través de PowerShell!

Para registrar de forma masiva varios archivos en SharePoint Online mediante PowerShell, utilice: SharePoint Online: registrar varios archivos mediante PowerShell

Artículos relacionados