1. Add contenttype to the list
#########################################################################
# $siteUrl : The storeportal site. http://loacalhost #
# $listName : The name of the list. "Store Requests" #
# $contentTypeName: The contenttype name "Document" #
# Example : AddContentTypeToList "http://loacalhost" "Shared Documents" "Document" #
#########################################################################
# Import the Microsoft.SharePoint.PowerShellif ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ){ Add-PSSnapin Microsoft.SharePoint.PowerShell}function AddContentTypeToList($siteUrl, $listName, $contentTypeName){ $site = Get-SPSite -identity $siteUrl $spWeb = Get-SPWeb -identity $siteUrl $contentTypes = $site.rootweb.ContentTypes try{ # Check list is exist or not foreach($list in $spWeb.Lists) { if($list.Tostring() -eq $listName) { write-host "The list named $list is existing " # Check contentType is existing in the site if(($contentTypes|where {$_.Name -eq $contentTypeName}) -eq $null) { write-host "The contentType is not existing in the site" return } # Check contentType is exist or not in the list foreach($listCT in $list.ContentTypes|where {$_.Name -eq $contentTypeName}) { write-host "The contentType $contentTypeName is exiting in the list" return } $contentType = $spWeb.ContentTypes[$contentTypeName] $list.ContentTypes.Add($contentType) $list.Update() write-host "Add contentType success" return } } write-host "The list named $list is not existing " } catch{ write-host "(ERROR : "$_.Exception.Message")" throw } finally{ $spWeb.Dispose() } } 2. Delete the contenttype in list
#########################################################################
# $siteUrl : The storeportal site. http://loacalhost #
# $listName : The name of the list. "Store Requests" #
# $contentTypeName: The contenttype name "Document" #
# Example : DeleteContentType http://localhost "Shared Documents" "Document Set" #
#########################################################################
# Import the Microsoft.SharePoint.PowerShellif ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ){ Add-PSSnapin Microsoft.SharePoint.PowerShell}function DeleteContentType($siteUrl, $listName, $contentTypeName){ $spSite = Get-SPSite -identity $siteUrl $spWeb = Get-SPWeb -identity $siteUrl $contentTypes = $spSite.rootweb.ContentTypes try{ # Check list is exist or not foreach($list in $spWeb.Lists) { if($list.Tostring() -eq $listName) { write-host "The list named $list is existing " # Check contentType is existing in the site if(($contentTypes|where {$_.Name -eq $contentTypeName}) -eq $null) { write-host "The contentType is not existing in the site" return } # Check contentType is exist or not in the list if(($list.ContentTypes|where {$_.Name -eq $contentTypeName}) -eq $null) { write-host "The contentType $contentTypeName is not exiting in the list" return } else { $contentType = $list.ContentTypes[$contentTypeName] $list.ContentTypes.Delete($contentType.Id) $list.Update() write-host "Delete contentType success" } return } } write-host "The list named $list is not existing " } catch{ write-host "(ERROR : "$_.Exception.Message")" throw } finally{ $spWeb.Dispose() $spSite.Dispose() } }