SharePoint Online: eliminar un tipo de contenido mediante PowerShell
Requisito: Eliminar un tipo de contenido del sitio de SharePoint Online.
¿Cómo eliminar un tipo de contenido en SharePoint Online?
¿Alguna vez creó un tipo de contenido de SharePoint Online y decidió que ya no lo desea? ¿O desea deshacerse permanentemente de un tipo de contenido en particular porque tiene problemas y necesita eliminarlo y volver a crearlo? En este artículo, lo guiaremos a través de los pasos para eliminar un tipo de contenido en SharePoint Online. También compartiremos PowerShell para eliminar un tipo de contenido en SharePoint Online.
Los tipos de contenido que no utilizan listas o bibliotecas se pueden eliminar. Para eliminar un tipo de contenido en SharePoint Online, siga estos pasos:
- Inicie sesión en su sitio de SharePoint Online >> Haga clic en el engranaje de configuración del sitio >> Configuración del sitio.
- En la página de configuración del sitio, haga clic en "Tipos de contenido del sitio".
- En la página Tipos de contenido del sitio, haga clic en el nombre del tipo de contenido que desea eliminar.
Haga clic en el enlace "Eliminar este tipo de contenido del sitio" y confirme el mensaje una vez.
Eliminar tipo de contenido usando PowerShell en SharePoint Online:
Tenga en cuenta que eliminar un tipo de contenido es una acción permanente (¡no se puede deshacer!). ¡Asegúrese de que realmente no la necesita antes de continuar! Aquí está el PowerShell para eliminar el tipo de contenido 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 Delete-ContentType()
{
param
(
[Parameter(Mandatory=$true)] [string] $SiteURL,
[Parameter(Mandatory=$true)] [string] $ContentTypeName
)
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 content type from web
$ContentTypeColl = $Ctx.Web.ContentTypes
$Ctx.Load($ContentTypeColl)
$Ctx.ExecuteQuery()
#Check if the content type exists in the site
$ContentType = $ContentTypeColl | Where {$_.Name -eq $ContentTypeName}
If($ContentType -eq $Null)
{
Write-host "Content Type '$ContentTypeName' doesn't exists in '$SiteURL'" -f Yellow
}
else
{
#delete the content type
$ContentType.DeleteObject()
$Ctx.ExecuteQuery()
Write-host "Content Type '$ContentTypeName' deleted successfully!" -ForegroundColor Green
}
}
Catch {
write-host -f Red "Error Deleting Content Type!" $_.Exception.Message
}
}
#Set parameter values
$SiteURL="https://crescent.sharepoint.com"
$ContentTypeName="Projects"
#Call the function
Delete-ContentType -SiteURL $SiteURL -ContentTypeName $ContentTypeName
PnP PowerShell para eliminar el tipo de contenido en SharePoint Online
Veamos cómo usar el cmdlet PnP PowerShell Remove-PnPContentType para eliminar un tipo de contenido en SharePoint Online:
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ContentTypeName ="Project Proposal V1"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Get the content type
$ContentType = Get-PnPContentType -Identity $ContentTypeName
If($ContentType)
{
Remove-PnPContentType -Identity $ContentTypeName -Force
}
¿No se puede eliminar el tipo de contenido en SharePoint Online?
¿No puedes eliminar el tipo de contenido? Aparece "Otro sitio o lista todavía usa este tipo de contenido". Si aún desea eliminarlo, elimine el tipo de contenido de todos los sitios y listas y vuelva a intentarlo”. ¿Error? Bueno, esto podría deberse a que es posible que tengas listas o bibliotecas asociadas con el tipo de contenido que estás intentando eliminar. Aquí está la solución: SharePoint Online no puede eliminar el tipo de contenido
