¿Cómo agregar una columna de elección a una lista de SharePoint Online usando PnP PowerShell?
Recientemente, uno de los miembros de mi equipo debió agregar una columna de elección a una lista de SharePoint Online. Sugerí cmdlets PnP PowerShell. En este tutorial, le mostraré cómo agregar una columna de opciones a una lista de SharePoint Online usando PnP PowerShell.
Aquí, he creado una lista de SharePoint Online que tiene la columna Título y puede ver la lista en la siguiente captura de pantalla:
Aquí, agregaré una columna de elección como "Departamento" con varias opciones.
Agregar una columna de elección a una lista de SharePoint Online usando PnP PowerShell
Agregaremos la columna de elección "Departamento" a la lista "Empleado". Las opciones serán "RRHH", "Finanzas", "TI" y "Marketing".
Aquí está el script PnP PowerShell completo:
# Connect to SharePoint Online
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQsNew/" -Interactive
# Ensure the Employees list exists
$list = Get-PnPList -Identity "Employees"
if ($null -eq $list) {
Write-Host "The list 'Employee' does not exist." -ForegroundColor Red
exit
}
# Define the XML for the choice field
$fieldXml = @"
<Field Type='Choice' DisplayName='Department' Name="Department" Format='Dropdown' FillInChoice='FALSE'>
<Default>HR</Default>
<CHOICES>
<CHOICE>HR</CHOICE>
<CHOICE>Finance</CHOICE>
<CHOICE>IT</CHOICE>
<CHOICE>Marketing</CHOICE>
</CHOICES>
</Field>
"@
# Add the choice field to the Employee list using XML
try {
Add-PnPFieldFromXml -List "Employees" -FieldXml $fieldXml
Write-Host "Choice field 'Department' added successfully." -ForegroundColor Green
} catch {
Write-Host "Error adding choice field: $_" -ForegroundColor Red
exit
}Ejecuté el script PnP PowerShell anterior y puedes ver el resultado en la siguiente captura de pantalla:
El cmdlet Add-PnPFieldFromXml agrega el campo de elección a la lista "Empleado". El bloque try detecta cualquier error que ocurra durante este proceso e imprime un mensaje de error.
Establecer valor predeterminado para la columna de elección
Si desea establecer un valor predeterminado para la columna de elección en la lista de SharePoint Online, puede escribir el script PnP PowerShell a continuación.
# Set the default value of the Department choice column
try {
Set-PnPField -List "Employee" -Identity "Department" -Values @{DefaultValue="HR"}
Write-Host "Default value for 'Department' set to 'HR'." -ForegroundColor Green
} catch {
Write-Host "Error setting default value: $_" -ForegroundColor Red
}Consulte ¿Cómo comprobar si existe una lista en el sitio de SharePoint usando PnP PowerShell?
Agregue una columna de elección a una lista de SharePoint Online usando Add-PnPField
Permítame mostrarle otro método para agregar una columna de opciones a una lista de SharePoint Online usando Add-PnPField.
Aquí está el script completo, desde la conexión a SharePoint Online hasta la adición de la columna de elección "Rol de trabajo" y la configuración de su valor predeterminado:
# Connect to SharePoint Online
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQsNew/" -Interactive
# Add a choice column to the Employees list
Add-PnPField -List "Employees" -DisplayName "Job Role" -InternalName "JobRole" -Type Choice -Group "Custom Columns" -AddToDefaultView `
-Choices "Manager", "Developer", "Analyst", "Support"
# Set the default value for the Job Role choice column
Set-PnPField -List "Employees" -Identity "JobRole" -Values @{DefaultValue="Developer"}
# Verify the column addition
$field = Get-PnPField -List "Employees" | Where-Object {$_.InternalName -eq "JobRole"}
if ($field -ne $null) {
Write-Host "Choice column 'Job Role' added successfully." -ForegroundColor Green
} else {
Write-Host "Failed to add choice column 'Job Role'." -ForegroundColor Red
}Aquí está la explicación:
-List "Employees"especifica la lista donde se agregará la columna.-DisplayName "Rol de trabajo"establece el nombre para mostrar de la columna.-InternalName "JobRole"establece el nombre interno de la columna.-Type Choiceespecifica el tipo de columna.-Group "Columnas personalizadas"agrupa la columna en "Columnas personalizadas".-AddToDefaultViewagrega la columna a la vista predeterminada de la lista.-Choices "Manager", "Developer", "Analyst", "Support"especifica las opciones para la columna.
Una vez que ejecute el script, podrá ver el resultado en la siguiente captura de pantalla:
Si abre la lista de SharePoint Online, puede ver la columna que se agregó y las opciones. Vea la captura de pantalla a continuación:
En este tutorial, expliqué cómo agregar una columna de opciones a una lista de SharePoint Online usando dos métodos. ¡Espero que los dos ejemplos anteriores te ayuden! Déjame saber en el comentario a continuación si tienes algún problema.



