SharePoint Online : supprimer le type de contenu de la liste à l'aide de PowerShell
Exigence : supprimez un type de contenu de la liste SharePoint Online.
Comment supprimer un type de contenu d'une liste dans SharePoint Online ?
Les types de contenu sont des collections réutilisables de métadonnées qui définissent les colonnes et le comportement des éléments dans une liste ou une bibliothèque. Il peut arriver que vous deviez supprimer un type de contenu d'une liste ou d'une bibliothèque. Vous pouvez supprimer un type de contenu associé à une liste dans SharePoint Online lorsque vous n'en avez plus besoin. Dans cet article, nous vous guiderons tout au long du processus de suppression d'un type de contenu d'une liste SharePoint Online à l'aide de PowerShell.
Pour supprimer un type de contenu de la liste SharePoint Online, procédez comme suit :
- Tout d’abord, connectez-vous à votre site SharePoint Online >> Accédez aux paramètres de la liste ou de la bibliothèque.
- Ensuite, sous « Types de contenu », cliquez sur le nom du type de contenu approprié que vous souhaitez supprimer de la liste.
Enfin, cliquez sur le lien « Supprimer ce type de contenu » sur la page Liste des types de contenu et confirmez une fois l'invite pour supprimer le type de contenu de la liste.
Gardez à l’esprit que cela supprimera uniquement le type de contenu de la liste - cela ne supprimera pas le type de contenu lui-même. Si vous devez supprimer entièrement le type de contenu, vous devrez le faire à partir de la page des paramètres du site.
Supprimer le type de contenu de la liste à l'aide de PowerShell dans SharePoint Online
Les types de contenu non utilisés dans les listes ou les bibliothèques peuvent être supprimés. Pour supprimer un type de contenu d'une liste SharePoint Online, utilisez ce script PowerShell. Vous devez spécifier l'URL du site, le nom du type de contenu et le nom de la liste comme paramètres.
#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 Remove-ContentTypeFromList()
{
param
(
[Parameter(Mandatory=$true)] [string] $SiteURL,
[Parameter(Mandatory=$true)] [string] $ListName,
[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 List
$List = $Ctx.Web.Lists.GetByTitle($ListName)
$Ctx.Load($List)
#Get the content type from list
$ContentTypeColl = $List.ContentTypes
$Ctx.Load($ContentTypeColl)
$Ctx.ExecuteQuery()
#Get the content type to remove
$CTypeToRemove = $ContentTypeColl | Where {$_.Name -eq $ContentTypeName}
If($CTypeToRemove -ne $Null)
{
#Remove content type from list
$CTypeToRemove.DeleteObject()
$Ctx.ExecuteQuery()
Write-host "Content Type '$ContentTypeName' Removed From '$ListName'" -f Green
}
else
{
Write-host "Content Type '$ContentTypeName' doesn't exist in '$ListName'" -f Yellow
Return
}
}
Catch {
write-host -f Red "Error Removing Content Type from List!" $_.Exception.Message
}
}
#Set parameter values
$SiteURL="https://crescent.sharepoint.com"
$ListName="Projects"
$ContentTypeName="ProjectMilestone"
#Call the function
Remove-ContentTypeFromList -SiteURL $SiteURL -ListName $ListName -ContentTypeName $ContentTypeName
Pour confirmer que le type de contenu a été supprimé avec succès de la liste, accédez aux paramètres de liste sur le site SharePoint Online et vérifiez la liste des types de contenu. Le type de contenu que vous avez supprimé ne devrait plus être répertorié.
Supprimer le type de contenu de la liste SharePoint Online à l'aide de PnP PowerShell :
En tant qu'administrateur, vous devrez peut-être supprimer un type de contenu de la liste SharePoint Online. Laissez-moi vous montrer comment vous connecter à votre liste ou bibliothèque SharePoint Online et supprimer un type de contenu à l'aide de PnP PowerShell :
#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$ListName ="Project Documents"
$ContentTypeName ="Invoice Template V2"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
$Context = Get-PnPContext
#Get the content type from list
$ListContentType = Get-PnPContentType -list $ListName -Identity $ContentTypeName
#Delete the content type from List
$ListContentType.DeleteObject()
$Context.ExecuteQuery()
Vous pouvez également supprimer le type de contenu d’une liste à l’aide de la cmdlet Remove-PnPContentTypeFromList :
#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$ListName = "Projects"
$ContentTypeName ="Crescent Project Proposal V2"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#Remove content type from List
Remove-PnPContentTypeFromList -List $ListName -ContentType $ContentTypeName
En suivant les étapes décrites dans cet article, vous pouvez facilement supprimer des types de contenu des listes selon vos besoins. Cela vous permet de maintenir un environnement SharePoint Online propre et organisé, garantissant que vos listes et bibliothèques restent pertinentes et à jour pour vos utilisateurs.
Veuillez noter que vous ne pouvez pas supprimer le type de contenu d'une liste si la liste contient des éléments créés en fonction du type de contenu particulier que vous souhaitez supprimer ! Cela pourrait entraîner l'erreur « Le type de contenu est toujours utilisé », à la fois à partir de l'interface utilisateur SharePoint ou en utilisant PowerShell pour supprimer le type de contenu de la liste. Voici un autre article pour vous aider : Obtenir « Le type de contenu de liste est toujours utilisé » dans SharePoint Online ? Découvrez où utiliser PowerShell
