Búsqueda de sitios web

Copie los valores de las columnas de la lista de SharePoint de uno a otro usando PowerShell


Requisito: copiar valores de columna de uno a otro en SharePoint

¿Cómo copiar el valor de una columna a otra columna en SharePoint?

En algunas situaciones, es posible que tengamos que copiar los valores de las columnas de la lista de SharePoint de una columna a otra. Digamos, por ej.

  • La columna OOTB no proporciona una forma de ingresar más de 255 caracteres en el campo Varias líneas de texto. Como el usuario ya ingresó valores y quiere que permita más de 255 caracteres.
  • Cuando es necesario cambiar el nombre interno de un campo de SharePoint.
  • Es necesario agregar una nueva columna, cuyos valores se basan parcialmente en una columna existente.

Si bien la vista Hoja de datos es una solución, no está disponible para todas las listas. E incluso en la vista de hoja de datos, algunas columnas, como los valores del selector de personas, no se pueden copiar ni pegar. Entonces, la solución es: PowerShell

PowerShell para copiar valores de columnas de una a otra en SharePoint

Aquí está el script de PowerShell para copiar datos de campos de biblioteca/lista de SharePoint de una columna a otra columna:


Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue

#Parameters
$SiteURL = "https://sharepoint.crescent.com/"
$listName = "Pictures"

$web = Get-SPweb $SiteURL
 
#Use the Display Names
$CopyFromColumnName = "Description" #column copy source
$CopyToColumnName = "Desc"  #destination column

#Get the List
$list = $web.lists[$ListName]

#Get all Items  
$Items = $list.Items

ForEach ($Item in $items)
{
   #copy data from one column to another
   $item[$copyToColumnName] = $item[$copyFromColumnName]

   #Do a system update to avoid Version and to Keep same metadata
   $item.SystemUpdate($false)
}

Artículos relacionados