I would like to change catalog settings of Pages list to make it act like a Catalog by using powershell. It includes adding Title as "Catalog Item URL Fields" and choosing a Term Set for "Navigation Hierarchy".


I know it's an old post but I had the same issue and I think it's a good thing to share my solution with you.

I've built a function which does the job:

function enableCatalog($arrayOfLists)
    foreach($list in $arrayOfLists)
        write-host "Enabling catalog on list " $list -foregroundcolor Yellow

        #Break permission inheritance

        #Enable anonymous to the catalog
        $list.AllowEveryoneViewItems = $true
        $list.AnonymousPermMask64 ="Open, OpenItems, ViewListItems, ViewVersions, ViewFormPages, ViewPages, UseClientIntegration"

        $rootFolder = $list.RootFolder
        $rootFolder.Properties.Add("IsPublishingCatalog", "True") #Activate catalog

        write-host "Catalog successfully enabled on " $list -foregroundcolor Green


$lists = <an array of list objects>

enableCatalog $lists


As far as I've tested it, it works fine.


I think this should help you.


  • 1
    Hi @PetBo and welcome to our site. When you post answers please remember to mention when you promote your own blog. The community tends to vote down overt self-promotion and flag it as spam. Post good, relevant answers, and if some (but not all) happen to be about your product or website, that’s okay. However, you must disclose your affiliation in your answers. Read about expected behaviour. Also remember that "link only answers" is of less use for our site, since links tend to die. Add a good summary of your answer and then link. Aug 20 '13 at 8:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.