Add/Delete ContentType in list via powershell

來源:互聯網
上載者:User
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()           } }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.