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