¿Cómo eliminar una columna de la lista de SharePoint usando PowerShell?
Problema: ¡El usuario ha creado una columna calculada con un error en su fórmula! ¡Eso provocó que el elemento web de vista de lista fallara! No se pudo eliminar la columna de la lista de SharePoint mediante la interfaz de usuario web.
¿Cómo eliminar una columna de la lista de SharePoint?
¿Necesita eliminar una columna en una lista de SharePoint? PowerShell lo hace fácil. En este artículo, lo guiaremos a través del proceso de eliminar una columna de una lista de SharePoint. También le mostraremos cómo usar PowerShell para eliminar una columna de su lista de SharePoint.
Desde la interfaz de usuario web de SharePoint, para eliminar un campo de una lista o biblioteca, siga estos pasos:
- Busque la lista o biblioteca en la que desea eliminar la columna. Haga clic en la pestaña Lista o Biblioteca.
- Haga clic en Configuración de lista/Configuración de biblioteca en la cinta.
Desde la página Configuración de lista, en la sección Columnas, haga clic en el nombre de la columna que desea eliminar.
- Desplácese hacia abajo y luego haga clic en el botón "Eliminar". Confirme el mensaje.
Script de PowerShell para eliminar la columna de la lista de SharePoint
Si necesita eliminar una columna de una lista de SharePoint, pero la interfaz de usuario del navegador web no le ayudó, ¡PowerShell es el camino a seguir! Aquí está el PowerShell para eliminar una columna de la lista:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$SiteURL="https://intranet.crescent.com/"
$ListName="Change Request"
$ColumnName="Activity Status"
#Get Internal Name of the columns
$web = Get-SPWeb $SiteURL
#Get the list
$list = $web.Lists.TryGetList($ListName)
if($List -ne $null)
{
#Get the column
$column = $list.Fields[$ColumnName]
if($column -ne $null)
{
#Reset column properties to allow delete
$column.Hidden = $false
$column.ReadOnlyField = $false
$column.AllowDeletion = $true
$column.Update()
#delete column in sharepoint list
$list.Fields.Delete($column)
write-host "Column has been deleted!" -f Green
}
else
{
write-host "Specified column name not found!" -ForegroundColor Red
}
}
Eliminación masiva de columnas de la lista de SharePoint mediante PowerShell:
Envuelvamos el código dentro de una función y llamemos para eliminar columnas de forma masiva de la lista de SharePoint para que sea reutilizable.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Custom Function to delete a column with PowerShell
Function Remove-Column($WebURL, $ListName, $ColumnName)
{
#Get Internal Name of the columns
$web = Get-SPWeb $WebURL
#Get the list
$list = $web.Lists.TryGetList($ListName)
if($List -ne $null)
{
#Get the column
$column = $list.Fields[$ColumnName]
if($column -ne $null)
{
#Reset column properties to allow delete
$column.Hidden = $false
$column.ReadOnlyField = $false
$column.AllowDeletion = $true
$column.Update()
#Delete the column from list
$list.Fields.Delete($column)
write-host "Column '$ColumnName' has been deleted!" -f Green
}
else
{
write-host "Specified column name not found!" -ForegroundColor Red
}
}
else
{
write-host "Specified List is not found!" -ForegroundColor Red
}
}
#Variables
$WebURL="https://intranet.crescent.com"
$ListName="Change Request"
#Array to hold column titles
$ColumnNames=@("Change Type","Approvers","Proposed Date and Time")
#Process each column
$ColumnNames | foreach {
#Call the function to delete column from sharepoint list
Remove-Column $WebURL $ListName $_
}
Como siempre, asegúrese de haber hecho una copia de seguridad de sus datos antes de eliminar cualquier columna. Porque, cuando eliminas una columna, todos los datos de esa columna también se eliminan. (¡Y no se pueden deshacer ni restaurar desde las opciones de la papelera de reciclaje!)
