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 six time Microsoft MVP (Since 2015) with over 16 years of extensive experience with major expertise on SharePoint, SharePoint based development, Microsoft 365, Microsoft Teams, .Net Platform and Microsoft BI. He is currently working Sr Microsoft Consultant at Olive + Goose. He is MCT Regional Lead for Pakistan Chapter since 2012. He is working on SharePoint for past 12 years and worked on different intranet/intranet solutions for private & govt. sector majorly in United states and Gulf region and have experience of working with multiple Fortune 500 companies. He is a trainer, technology evangelist and also speaks in community forums.

Leave a Reply

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