In a SharePoint site collection, Site logo can be easily changed by going to site settings –> Look and Feel –> and click Title, Description and Logo. But if there are multiple sub sites then it going to be a hassle to go to each site and perform this action.

Sharepoint Change site logo

To minimize this effort, we can go with PowerShell cmdlets where a simple script can do the task for us. The PowerShell script is different for both online and on-premise environments. In this blog post I am sharing the PowerShell script which will work for SharePoint on-premise.

Below is the PowerShell which can update site logo for all the sub sites under a site collection, this script has been testing on SharePoint 2010, SharePoint 2013 and SharePoint 2016.

if ((Get-PSSnapin “Microsoft.SharePoint.PowerShell” -ErrorAction SilentlyContinue) -eq $null)
Add-PSSnapin “Microsoft.SharePoint.PowerShell”
$sitename= “http://Sp2016”
$sitelogo= “/siteAssets/NewLogo.jpg”
$site=new-object Microsoft.SharePoint.SPSite($sitename)

foreach($web in $site.Allwebs) {

Adnan is two time SharePoint MVP (Most Valuable Professional) with over 12 years of extensive experience with major expertise on SharePoint Server, Office 365, .Net Platform and Microsoft BI. He is currently working SharePoint Architect at FMT Consultants. He is MCT Regional Lead for Pakistan Chapter since 2012. He is working on SharePoint for past nine years and worked on different intranet/intranet solutions for private & govt. sector majorly in Gulf region, which include OOB and customized solutions. He is a trainer, technology evangelist and also speaks in community forums.

Leave a Reply

9 replies on “Changing site logo for all sub sites in a Site collection”