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() } }