Búsqueda de sitios web

SharePoint Online: establecer propiedades de columna del sitio mediante PowerShell


Requisito: Actualizar las propiedades de una columna de sitio en SharePoint Online mediante PowerShell.

¿Cómo editar una columna de sitio en SharePoint Online?

En esta publicación de blog, le mostraremos cómo actualizar la configuración de una columna de sitio usando PowerShell en SharePoint Online. Esto puede resultar útil si necesita realizar cambios en la configuración de una columna del sitio después de haberla creado o si desea automatizar el proceso de configuración de nuevas columnas del sitio. ¡Empecemos!

Puede editar las propiedades de las columnas del sitio, como nombre, grupo, tipo de columna, etc., en SharePoint Online siguiendo los pasos a continuación:

  1. Navegue hasta el sitio de SharePoint Online donde se creó la columna del sitio.
  2. Haga clic en Configuración Equipo >> Configuración del sitio
  3. En la página Configuración del sitio, haga clic en el enlace "Columnas del sitio" en el grupo "Galerías de diseñadores web".
  4. En la página Columnas del sitio, haga clic en el nombre de la columna del sitio que desea editar.
  5. En la página Editar columna del sitio, puede realizar los cambios necesarios y establecer si todas las columnas de la lista basadas en esta columna del sitio se actualizarán para reflejar sus cambios.
  6. Haga clic en el botón Aceptar para guardar los cambios.

Si no se puede hacer clic en el nombre de la columna del sitio, la columna del sitio se puede crear en el sitio principal. Navegue hasta el sitio principal como lo indica la "Columna de origen" donde se creó la columna del sitio y luego podrá editar la columna del sitio.

SharePoint Online: establecer propiedades de columna del sitio mediante PowerShell CSOM

Aquí está el PowerShell para actualizar un campo en SharePoint Online:


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

Function Set-SPOSiteColumn($SiteURL,$ColumnName)
{
    #Setup Credentials to connect
    $Cred = Get-Credential
    $Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)

    Try {
        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Cred

        #Check if the site column exists
        $Fields = $Ctx.web.Fields
        $Ctx.Load($Fields)
        $Ctx.ExecuteQuery()
        $FieldNames = $Fields | Select -ExpandProperty InternalName

        #Get the site column from sharepoint online site
        If($FieldNames.Contains($ColumnName))
        {
            #Get the site column
            $SiteColumn = $Fields.GetByInternalNameOrTitle($ColumnName)

            #Update Field Properties
            $Sitecolumn.Required = $True
            $Sitecolumn.Description="Current Status of the Project"
            $SiteColumn.Update()
            #Use: $siteColumn.UpdateAndPushChanges() to push changes to all lists

            $Ctx.ExecuteQuery()
            Write-host -f Green "Site Column Updated Successfully!"
        }
        else
        {
            Write-host -f Yellow "Site Column doesn't Exist!"
        }
    }
    Catch {
        write-host -f Red "Error:" $_.Exception.Message
    }
}

#Call the Function with Site URL and Internal Name of the Field
Set-SPOSiteColumn -SiteURL "https://Crescent.sharepoint.com" -ColumnName "ProjectName"

Actualizar las propiedades de la columna del sitio usando PnP PowerShell

Para actualizar la configuración de la columna de un sitio, use este PowerShell:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$FieldName = "ProjectStatus" #Internal Name

#Get Credentials to connect
$Cred = Get-Credential

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Credentials $Cred
    
    #Set Site Column Properties
    Set-PnPField -Identity $FieldName -Values @{Description="Current Status of the Project";Group="Crescent Site Columns V2"}    
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

También tenemos un modificador -UpdateExistingLists para actualizar la columna del sitio en todas las listas existentes.

Artículos relacionados