Búsqueda de sitios web

SharePoint Online: crear una lista a partir de una plantilla personalizada usando PowerShell


Requisito: Crear una lista a partir de una plantilla de lista personalizada usando PowerShell en SharePoint Online.

SharePoint Online: ¿Cómo crear una lista a partir de una plantilla?

Las plantillas de listas en SharePoint Online ahorran mucho tiempo al reutilizar cualquier lista o biblioteca de documentos existente, que comprende todas las columnas y, opcionalmente, los datos de la lista. Puede crear cualquier cantidad de copias a partir de la plantilla de lista.

Suponiendo que tiene una plantilla de lista existente en el sitio, aquí se explica cómo crear una lista a partir de una plantilla de SharePoint Online:

  1. Inicie sesión en su sitio de SharePoint Online >> Haga clic en el ícono de ajustes de Configuración y haga clic en "Agregar una aplicación".
  2. Puede usar la paginación para encontrar su plantilla de lista o el cuadro de búsqueda "Buscar una aplicación" para elegir su plantilla de lista.

  3. Proporcione un nombre a su nueva lista y haga clic en "Aceptar". Esto crea una nueva lista a partir de la plantilla en SharePoint Online.
  4. Verá una nueva lista creada con el mismo esquema de lista y también datos si seleccionó "Incluir contenido" al crear la plantilla de lista inicialmente. Veamos el PowerShell de SharePoint Online para crear una lista a partir de la plantilla.

SharePoint Online: crear una lista a partir de una plantilla usando PowerShell

Las listas son los principales componentes básicos que utiliza SharePoint para almacenar información. Usemos PowerShell en SharePoint Online para crear una lista a partir de una plantilla.


#Load SharePoint Online 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 Variables
$SiteURL="https://crescent.sharepoint.com"
$ListTemplateName = "Quick Links Template"
$ListName="Quick Links V2"

#Get Credentials to connect
$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 All Lists
$Lists = $Ctx.Web.Lists
$Ctx.Load($Lists)
$Ctx.ExecuteQuery()

#Get the Custom list template
$ListTemplates=$Ctx.site.GetCustomListTemplates($Ctx.site.RootWeb)
$Ctx.Load($ListTemplates)
$Ctx.ExecuteQuery()

#Filter Specific List Template
$ListTemplate = $ListTemplates | where { $_.Name -eq $ListTemplateName } 
If($ListTemplate -ne $Null)
{
    #Check if the given List exists
    $List = $Lists | where {$_.Title -eq $ListName}
    If($List -eq $Null)
    {
        #Create new list from custom list template
        $ListCreation = New-Object Microsoft.SharePoint.Client.ListCreationInformation
        $ListCreation.Title = $ListName
        $ListCreation.ListTemplate = $ListTemplate
        $List = $Lists.Add($ListCreation)
        $Ctx.ExecuteQuery()
        Write-host -f Green "List Created from Custom List Template Successfully!"
    }
    else
    {
        Write-host -f Yellow "List '$($ListName)' Already Exists!"
    }
}
else
{
    Write-host -f Yellow "List Template '$($ListTemplateName)' Not Found!"
}

El mismo método se aplica a la creación de una biblioteca de documentos a partir de una plantilla personalizada.

SharePoint Online: PnP PowerShell para crear una lista a partir de una plantilla

Las listas son los componentes principales para almacenar información en SharePoint. Aquí está el PnP PowerShell para crear una lista a partir de la plantilla:


#Config Variables
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$ListName = "Migation Tasks"
$ListTemplateName ="Project Tasks"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get the Custom List Template
$Ctx = Get-PnPContext
$Web = Get-PnPWeb
$RootWeb = $Ctx.Site.RootWeb
$ListTemplates = $Ctx.Site.GetCustomListTemplates($RootWeb)
$Ctx.Load($RootWeb)
$Ctx.Load($ListTemplates)
Invoke-PnPQuery
$ListTemplate = $ListTemplates | where {$_.Name -eq $ListTemplateName}
 
#sharepoint online powershell create list from template
$ListCreation = New-Object Microsoft.SharePoint.Client.ListCreationInformation
$ListCreation.Title = $ListName
$ListCreation.ListTemplate = $ListTemplate
$Web.Lists.Add($ListCreation)
Invoke-PnPQuery

Siguiendo los pasos descritos en este artículo, puede crear una nueva lista a partir de una plantilla prediseñadas, personalizar la lista para satisfacer sus necesidades específicas y comenzar a agregar datos a la lista.

Artículos relacionados