Búsqueda de sitios web

SharePoint Online: Agregar nuevo elemento de lista usando PowerShell


Requisito: Cuando trabajaba con SharePoint Online, tenía el requisito de agregar nuevos elementos de lista a una lista desde el script de PowerShell. Esta publicación de blog cubrirá cómo crear un elemento de lista en SharePoint Online usando PowerShell, con algunos ejemplos.

¿Cómo agregar un elemento a una lista en SharePoint Online?

Agregar elementos a las listas de SharePoint es una tarea común que probablemente realizará con regularidad. Aquí hay una descripción general rápida de cómo hacerlo:

  1. Inicie sesión en su sitio de SharePoint y navegue hasta la lista a la que desea agregar un elemento.
  2. Haga clic en el enlace “+ Nuevo” de la barra de comandos.
  3. Ingrese la información del nuevo artículo en los campos correspondientes.
  4. Haga clic en el botón "Guardar".

¡Y eso es todo! Veamos cómo agregar elementos a la lista en línea de SharePoint usando PowerShell.

SharePoint Online: PowerShell para agregar elementos de lista

Hay muchas situaciones en las que es posible que desee crear un elemento de lista en SharePoint Online sin pasar por la interfaz de usuario basada en web en SharePoint Online. Afortunadamente, tenemos una manera sencilla de hacerlo usando PowerShell. En esta publicación de blog, le mostraremos cómo agregar un elemento a una lista de SharePoint Online usando PowerShell.

Para agregar un elemento de lista usando PowerShell, debemos establecer el valor para cada columna personalizada en la lista. Aquí está SharePoint Online PowerShell para crear un elemento de lista:


#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 Config Parameters
$SiteURL="https://Crescent.sharepoint.com"
$ListName="Tasks"

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)
 
    #sharepoint online powershell add list item
    $ListItemInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation  
    $ListItem = $List.AddItem($ListItemInfo)
    
    #Set Column Values
    $ListItem["Title"] = "Project Darwin"

    #Set People Picker Field value
    $AssignedToUser = $Ctx.web.EnsureUser("Salaudeen@TheCrescentTech.com")
    $ListItem["AssignedTo"] = $AssignedToUser
    
    #Set Date Fields
    $ListItem["StartDate"] = "01/07/2015"
    $ListItem["DueDate"] = "01/08/2015"
    
    #Set Percentage Field 
    $ListItem["PercentComplete"] = "0.2" #20%

    #add item to sharepoint online list powershell
    $ListItem.Update()
    $Ctx.ExecuteQuery()
 
    Write-host -f Green "New Item has been added to the List!"
}
Catch {
    write-host -f Red "Error:" $_.Exception.Message
}  

Esto inserta un nuevo elemento en la lista de Tareas. Esta es una manera rápida y sencilla de agregar un elemento a la lista en SharePoint Online usando PowerShell, sin tener que usar la interfaz de usuario del navegador web. Aquí está el resultado:

SharePoint Online PowerShell para crear elementos de lista

Agreguemos un código de manejo de errores y obtengamos las credenciales en tiempo de ejecución en el script. Aquí está el CSOM de SharePoint Online PowerShell para agregar elementos de la lista:


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

#Config Parameters
$SiteURL="https://crescent.sharepoint.com"
$ListName="Random"
$ItemsToCreate="1000"

Try {
    $Cred= Get-Credential
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Credentials
        
    #Get the List
    $List = $Ctx.Web.Lists.GetByTitle($ListName)
    $Ctx.Load($List)
    $Ctx.ExecuteQuery()

    #add an item to list SharePoint Online PowerShell - with Random Data
    For($i=1; $i -le $ItemsToCreate; $i++)
    {
        #create list item in sharepoint online using powershell
        $ListItemInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation
        $ListItem = $List.AddItem($ListItemInfo)
        $ListItem["Title"] = $I
        $ListItem.Update()
        $Ctx.ExecuteQuery()

        Write-host "New Item $I Added to the List!" -ForegroundColor Green  
    }
}
Catch {
    write-host -f Red "Error Adding Items to List!" $_.Exception.Message
}

Este script crea aleatoriamente elementos de lista de forma masiva.

PnP PowerShell para agregar elementos de lista en SharePoint Online

Al trabajar con SharePoint Online, es posible que necesite agregar un elemento a una lista mediante programación. Afortunadamente, existe una manera sencilla de lograrlo utilizando PowerShell. Puede utilizar el script de PowerShell para ayudar a automatizar la creación de contenido que debe agregarse de forma regular o sin supervisión.

A continuación se explica cómo agregar un elemento a la lista en SharePoint Online con el cmdlet PnP PowerShell Add-PnPListItem.

  1. El primer paso es conectarse a la URL de su sitio de SharePoint Online. Puede hacerlo ejecutando el siguiente cmdlet: Connect-PnPOnline.
  2. Una vez que esté conectado, puede usar el cmdlet Add-PnPListItem para agregar elementos a su lista. Por ejemplo, el siguiente comando agregará un nuevo elemento a una lista con el campo Nombre interno y el valor del campo: Add-PnPlistItem -list “Nombre de lista” -values @{“Nombre interno del campo”=”Valor del campo”; “Nombre interno del campo”=”Valor del campo”}

Aquí hay un ejemplo:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName ="Projects"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Add List Item - Internal Names of the columns: Value
Add-PnPListItem -List $ListName -Values @{"Title" = "SharePoint 2016 Migration V2"; "ProjectID"="Abj-IT-3025"}

También puede especificar el parámetro "ContentType" con nombre o ID si desea agregar un elemento de un tipo de contenido específico. Una vez que ejecute este script de PowerShell, se agregará un nuevo elemento a la lista. Agregar elementos a listas de SharePoint Online mediante PowerShell es una forma rápida y sencilla de completar sus datos.

¿Qué tal configurar campos como metadatos administrados, hipervínculo, búsqueda, persona o grupo, etc.?

Los scripts anteriores funcionan bien con tipos de campos simples, como líneas de texto individuales, elección, Sí/No, etc. Sin embargo, tenemos que manejarlos de manera diferente para otros tipos de campos, como metadatos administrados, hipervínculo, búsqueda, selector de personas, etc. Aquí están mis publicaciones para ayudar:

  • SharePoint Online: PowerShell para actualizar el valor del campo de búsqueda
  • SharePoint Online: actualice el valor del campo de hipervínculo mediante PowerShell
  • SharePoint Online: PowerShell para actualizar el valor del campo de búsqueda
  • SharePoint Online: actualice el valor del campo de metadatos administrados mediante PowerShell
  • SharePoint Online: actualice los valores de los campos de persona o grupo mediante PowerShell
  • SharePoint Online: actualice el valor del campo de elección mediante PowerShell
  • SharePoint Online: actualice el valor del campo "Sí/No (casilla de verificación)" mediante PowerShell
  • SharePoint Online: PowerShell para actualizar el valor del campo de fecha

Preguntas frecuentes:

¿Cómo agrego varios elementos de lista por lotes en SharePoint Online?

Puede realizar operaciones masivas, como eliminar o agregar elementos a una lista de SharePoint Online en lotes más rápidamente, utilizando el cmdlet New-PnPBatch en PnP PowerShell.
Más información: ¿Cómo agregar varios elementos de lista en lote usando PowerShell?

¿Cómo importo datos desde CSV a una lista de SharePoint Online?

Aunque puede crear una lista a partir de un archivo CSV o Excel, se pueden lograr importaciones sucesivas con los cmdlets de elementos Import-CSV y Add-PnPList en PowerShell.
Más información: Importar CSV a la lista en línea de SharePoint PowerShell

¿Cómo subo un archivo a SharePoint Online PowerShell?

Para cargar un archivo en la biblioteca de documentos de SharePoint usando PowerShell, use el método Files.Add en CSOM o el cmdlet Add-PnPFile de PnP PowerShell.
Más información: Cargue archivos a SharePoint Online usando PowerShell

¿Cómo obtengo elementos de una lista de SharePoint Online en PowerShell?

Utilice el método "List.GetItems" o Get-PnPListItem de PnP PowerShell para consultar y obtener elementos de lista de SharePoint Online.
Más información: SharePoint Online Obtener elementos de lista de PowerShell

Artículos relacionados