Introduction
Folders in SharePoint Online often fail to support default metadata when their names contain special characters such as: & :
These characters cause SharePoint to internally encode folder URLs, making features like default column values, MetadataDefaults, and PnP Set-PnPDefaultColumnValues fail silently or return errors.
For example, a folder named:
demo&123
Because of this encoding mismatch, SharePoint cannot correctly write values to:
client_LocationBasedDefaults.html
This article explains the complete process and provides a working PowerShell CSOM script that:
# -------------------------
# CONFIG
# -------------------------
$siteUrl = "https://tenant.sharepoint.com/sites/xxx"
$listRelUrl = "/sites/xxx/demolibrary"
$folderName = "test&sites" # No special characters allowed
$fieldName = "location" # Display Name (NOT internal name)
$fieldValue = "India" # Default Metadata Value
Connect-PnPOnline -Url $siteUrl -UseWebLogin -WarningAction Ignore;
$ctx = Get-PnPContext
$list = $ctx.Web.GetList($listRelUrl)
$ctx.Load($list)
$ctx.ExecuteQuery()
# -------------------------
# GET OR CREATE FOLDER
# -------------------------
$folder = $list.RootFolder.Folders.Add($folderName)
$ctx.Load($folder)
$ctx.ExecuteQuery()
# -------------------------
# SET DEFAULT METADATA USING MetadataDefaults
# -------------------------
$metadataDefaults = New-Object Microsoft.SharePoint.Client.DocumentManagement.MetadataDefaults($ctx, $list)
# Set default field value
$metadataDefaults.SetFieldDefault($folder, $fieldName, $fieldValue)
# Save metadata
$metadataDefaults.Update()
$list.Update()
$ctx.ExecuteQuery()
Write-Host "✔ Default folder metadata applied successfully!" -ForegroundColor Green