如何创建脚本以将 SharePoint Online 中的所有网站更改为英国区域设置

How to create a script to change all sites in SharePoint Online to UK locale

在我们的租户中创建新的 SPO 站点时,该站点使用正确的英国时区创建,但区域设置设置为美国,这意味着日期格式、一周的第一天等都在美国格式。这会导致上传到那里的文件出现问题,其中包含日期等。

我有一个 PowerShell 可以更改每个站点的语言环境:

Connect-PnPOnline https://tenant.sharepoint.com/sites/yoursite
$LocaleId = 2057 # UK
$TimeZoneId = 2 # London

$web = Get-PnPWeb -Includes RegionalSettings,RegionalSettings.TimeZones
$timeZone = $web.RegionalSettings.TimeZones | Where-Object {$_.Id -eq $TimeZoneId}
$web.RegionalSettings.LocaleId = $LocaleId
$web.RegionalSettings.TimeZone = $timeZone
$web.Update()
Invoke-PnPQuery

此代码应更新单个站点(尚未测试)。

我希望代码遍历所有现有的 SharePoint 网站,并根据上面的代码将所有美国区域设置更改为英国区域设置,而不是单个网站。

最好的方法是什么? 或者可以从代码中将其转换为函数?

感谢任何帮助。

您可以尝试使用以下脚本遍历所有站点并更改语言环境

$LocaleId = 2057 # UK
$TimeZoneId = 2 # London
$credentials = Get-Credential
Connect-PnPOnline https://tenant.sharepoint.com/sites/yoursite -Credentials $credentials
$sites=Get-PnPTenantSite
foreach($site in $sites){
Connect-PnPOnline $site.Url -Credentials $credentials
$web = Get-PnPWeb -Includes RegionalSettings,RegionalSettings.TimeZones
$timeZone = $web.RegionalSettings.TimeZones | Where-Object {$_.Id -eq $TimeZoneId}
$web.RegionalSettings.LocaleId = $LocaleId
$web.RegionalSettings.TimeZone = $timeZone
$web.Update()
Invoke-PnPQuery
}