Búsqueda de sitios web

¿Cómo agregar una columna a la lista en SharePoint Online usando PowerShell?


Requisito: Agregar una columna a una lista en SharePoint Online con PowerShell.

¿Cómo agregar una columna a la lista o biblioteca de SharePoint Online?

Las listas de SharePoint Online se utilizan para almacenar datos y cada lista puede tener varias columnas. Las columnas definen el tipo de datos que se pueden almacenar en la lista. Por ejemplo, una lista de empleados puede tener columnas para su nombre, departamento y puesto de trabajo. Agregar una columna a una lista en SharePoint Online es un proceso sencillo.

Aquí hay una guía paso a paso sobre cómo agregar una nueva columna a una lista de SharePoint Online usando la interfaz web:

  1. Navegue a su sitio de SharePoint Online y vaya a la lista deseada donde desea agregar la nueva columna. Puede acceder a la lista haciendo clic en su nombre en la navegación del sitio o yendo a Contenidos del sitio y seleccionando la lista.
  2. Una vez que esté en la vista de lista, haga clic en el botón “+ Agregar columna”, que se encuentra en el encabezado de la vista de lista.

  3. Aparecerá una página emergente que ofrecerá varios tipos de columnas para elegir, como por ejemplo:

    • Una sola línea de texto
    • Varias líneas de texto
    • Elección (menú desplegable)
    • Número
    • Divisa
    • Fecha y hora
    • Búsqueda (referencia a otra lista)
    • Sí/No (casilla de verificación)
    • Persona o grupo
    • Hipervínculo o imagen
  4. Seleccione el tipo de columna deseado y aparecerá un nuevo panel de configuración en el lado derecho de la pantalla.
  5. En el panel de configuración, proporcione la siguiente información:

    • Nombre: introduzca un nombre para la nueva columna.
    • Descripción: opcionalmente, proporcione una descripción para ayudar a los usuarios a comprender el propósito de la columna.
    • Configuración específica del tipo: según el tipo de columna que haya seleccionado, puede haber opciones de configuración adicionales disponibles, como opciones para un menú desplegable, formato de número o formatos de fecha y hora.
  6. Después de haber configurado la nueva columna, haga clic en el botón "Guardar" en la parte inferior del panel de configuración.

  7. La nueva columna ahora aparecerá en la vista de lista y podrá comenzar a usarla para almacenar y mostrar información adicional.

¡Eso es todo! Usando la interfaz web, ha agregado exitosamente una nueva columna a una lista de SharePoint Online. Recuerde que la configuración de la columna se puede ajustar más adelante si es necesario yendo a la página de configuración de la lista y seleccionando el nombre de la columna.

Agregue una columna a la lista usando el script CSOM de PowerShell

Con la ayuda de PowerShell, puede optimizar su flujo de trabajo de SharePoint Online automatizando tareas repetitivas, como agregar una columna a una lista. Permítame guiarlo a través de los pasos para agregar una columna a una lista usando PowerShell.


#Load 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"

#Set parameters
$SiteURL="https://salaudeen.sharepoint.com/sites/Retail"
$ListName="Projects"
$Name="ProjectCode"
$DisplayName="Project Code"
$Description="Enter the Project Code"
$IsRequired = "TRUE"
$EnforceUniqueValues="FALSE" #Must set Indexed="FALSE", if Unique="TRUE"
$MaxLength="100"
 
#Generate new GUID for Field ID
$FieldID = New-Guid
 
Try {
    #Get Credentials to connect
    $Cred= Get-Credential
 
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
         
    #Get the List
    $List = $Ctx.Web.Lists.GetByTitle($ListName)
    $Ctx.Load($List)
    $Ctx.ExecuteQuery()
 
    #Check if the column exists in list already
    $Fields = $List.Fields
    $Ctx.Load($Fields)
    $Ctx.executeQuery()
    $NewField = $Fields | where { ($_.Internalname -eq $Name) -or ($_.Title -eq $DisplayName) }
    if($NewField -ne $NULL)  
    {
        Write-host "Column $Name already exists in the List!" -f Yellow
    }
    else
    {
        #Define XML for Field Schema
        $FieldSchema = "<Field Type='Text' ID='{$FieldID}' Name='$Name' StaticName='$Name' DisplayName='$DisplayName' Description='$Description' Required='$IsRequired' EnforceUniqueValues='$EnforceUniqueValues' MaxLength='$MaxLength' />"
        $NewField = $List.Fields.AddFieldAsXml($FieldSchema,$True,[Microsoft.SharePoint.Client.AddFieldOptions]::AddFieldInternalNameHint)
        $Ctx.ExecuteQuery()    
 
        Write-host "New Column Added to the List Successfully!" -ForegroundColor Green  
    }
}
Catch {
    write-host -f Red "Error Adding Column to List!" $_.Exception.Message
}

Esto puede resultar especialmente útil si necesita agregar varios campos o si desea automatizar el proceso de agregar campos a las listas.

PnP PowerShell para agregar una columna a la lista de SharePoint Online

Si prefiere agregar una columna a una lista mediante programación en SharePoint Online, use este script PnP PowerShell. Asegúrese de tener el módulo PnP.PowerShel instalado en su computadora antes de ejecutar este script. Utilice el cmdlet Add-PnPField para agregar una nueva columna a su lista de SharePoint Online. Este cmdlet requiere que especifique varios parámetros, como el nombre de la columna, el tipo de columna y el nombre para mostrar.


#Parameters
$SiteURL = "https://Crescent.sharepoint.com/sites/Projects"
$ListName= "Team Projects"
$FieldTitle= "Project ID"
$FieldInternalName ="ProjectID"
$FieldType = "Text"
 
Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Interactive
     
    #Add new field to list
    Add-PnPField -List $ListName -DisplayName $FieldTitle -InternalName $FieldInternalName -Type $FieldType -Required -AddToDefaultView -ErrorAction Stop
    Write-host -f Green "New Field '$FieldTitle' Added to the List!" 
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

Asegúrese de reemplazar los parámetros según sus requisitos. De manera similar, puede agregar un campo a la lista de SharePoint Online según su esquema:


#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/retail"
$ListName= "Projects"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
 
#Define XML Schema for Text Field
$FieldXML= "<Field Type='Text' Name='ProjectCode' ID='$([GUID]::NewGuid())' DisplayName='Project Code' Required ='TRUE' EnforceUniqueValues = 'TRUE' Indexed='TRUE'></Field>"
 
#Add a Field to list from XML schema
Add-PnPFieldFromXml -FieldXml $FieldXML -List $ListName

Consulte este artículo de Microsoft para conocer todos los esquemas de campos disponibles: https://learn.microsoft.com/en-us/sharepoint/dev/schema/field-element-field

¿Qué tal agregar otros tipos de campos?

Aquí está mi lista de publicaciones sobre cómo agregar otros tipos de campos a la lista de SharePoint Online usando PowerShell:

  • Agregar columna de una sola línea de texto a la lista
  • Agregar columna calculada a la lista
  • Agregar columna de búsqueda a la lista
  • Agregar campo de elección a la lista
  • Agregar columna de fecha y hora a la lista
  • Agregar columna de persona o grupo (selector de personas)
  • Agregar varias líneas de columna de texto a la lista
  • Agregue la columna de casilla de verificación "Sí/No" a la lista
  • Agregar hipervínculo o columna de imagen a la lista
  • Agregar columna de metadatos administrados a la lista
  • Agregar columna de moneda a la lista
  • Agregar columna numérica a la lista

Terminando

En este artículo, analizamos el proceso de agregar una columna a una lista en SharePoint Online usando PowerShell. Al aprovechar el poder de SharePoint Online CSOM y PnP PowerShell, puede automatizar y optimizar el proceso de agregar columnas de lista de SharePoint Online. En conclusión, agregar una columna a una lista en SharePoint Online usando PowerShell es un proceso simple que puede ahorrar tiempo y reducir errores en su flujo de trabajo.

Artículos relacionados