Search
Generic filters
Exact matches only
Filter by Custom Post Type

PowerShell + DevOps Global Summit - Initial OnRamp Scholarship Recipients

August 25, 2018
0

Based upon generous donations to this point, including from the Campers of DSC/DevOps Camp 2018 and the readers of The PowerShell Conference Book, we will be able to offer a greater number of scholarships that originally anticipated. As a result, we will be awarding some of those immediately.

Read more

ICYMI: PowerShell Week of 24-August-18

Topics include script module design, PowerShell exploitation, PowerShell Remoting, PowerShell AST, the O365 Data Retriever tool, and the inaugural PSPowerHour.

Read more

Use PnP PowerShell to add ContentType for your SharePoint site

You can achieve the task by using SharePoint GUI. However, if your sites collection has tens of hundreds sites and each site has more than one document library, it will become a nightmare for a SharePoint administrator to do the task by using GUI. 

Luckily, there is PnP Powershell which can help us achieve the goal.

The steps will be like below:

#Step1: export your login credential to a secure file on your local machine

get-credential|export-clixml -path c:\safe\mycredential.txt

#Step2: import your credential to Powershell

$cred=import-clixml -path c:\safe\mycredential.txt

#Step3: connect PnP online

connect-pnponline -url "your site url here" -credentials $cred

#Step4: get all sub sites of your site collection

$subsites=get-pnpsubwebs -recurse|select-url

#Step5: Use for each loop to loop through each subsites and add the content type into document libraries in each sub site.

foreach ($site in $subsites) {

connect-pnponline -url $site.url -credentials $cred

$docids=get-pnplist|where-object {$_.basetemplate -eq 101 -and $_title -ine "Site Assets"}|select id

foreach ($docid in $docids) {

     add-pnpcontenttypetolist -list $docid.id -contenttype "content type name of your choice for default one" -DefaultContentType

     add-pnpcontenttypetolist -list $docid.id -contenttype "2nd content type"

        } 

}

To remove the contenttype from your sharepoint libraries, you need to use remove-pnpcontenttypefromlist command.

See the following code:

Foreach($site in $subsites) {

connect-pnponline -url $sites.url -credentials $cred

$docids=get-pnplist|where-object {$_.basetemplate -eq 101 -and $_.title -ine "Site Assets"}|select id

foreach ($docid in $docids) {

remove-pnpcontenttypefromlist -list $docid.id -contenttype "the name of the content type you want to remove"}

     }

}

ICYMI: PowerShell Week of 17-August-2018

Topics include PowerBI cmdlets, auditing group changes, exporting module functions, and PowerShell phishing.

Read more

Skip to toolbar