38 lines
1.5 KiB
PowerShell
38 lines
1.5 KiB
PowerShell
#Load SharePoint CSOM Assemblies
|
|
Add-Type -Path CProgram FilesCommon FilesMicrosoft SharedWeb Server Extensions16ISAPIMicrosoft.SharePoint.Client.dll
|
|
Add-Type -Path CProgram FilesCommon FilesMicrosoft SharedWeb Server Extensions16ISAPIMicrosoft.SharePoint.Client.Runtime.dll
|
|
|
|
#function to change Locale in regional settings of a SharePoint Online site
|
|
Function Set-SPOLocale([String]$SiteURL, [String]$LocaleID, [PSCredential]$Cred) {
|
|
Try {
|
|
#Set up the context
|
|
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
|
|
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
|
|
|
|
#Get Regional Settings of the Web
|
|
$Web = $Ctx.Web
|
|
$Ctx.Load($web)
|
|
$Ctx.Load($Web.RegionalSettings)
|
|
$ctx.ExecuteQuery()
|
|
|
|
#Update the LocaleID of the site
|
|
$Web.RegionalSettings.LocaleId = $LocaleID
|
|
$Web.Update()
|
|
$Ctx.ExecuteQuery()
|
|
|
|
Write-host -f Green Locale has been updated for $Web.Url
|
|
|
|
#Get all subsites of the web
|
|
$Ctx.Load($Web.Webs)
|
|
$Ctx.executeQuery()
|
|
#Iterate through each subsites and call the function recursively
|
|
Foreach ($Subweb in $Web.Webs) {
|
|
#Call the function to set Locale for the web
|
|
Set-SPOLocale -SiteURL $Subweb.URL -LocaleID $LocaleID -Cred $Cred
|
|
}
|
|
}
|
|
Catch [System.Exception] {
|
|
Write-Host -f Red Error$_.Exception.Message
|
|
}
|
|
}
|