SharePoint Online:使用 PowerShell 更改区域设置
要求:使用 PowerShell 更改 SharePoint Online 中的区域设置。
如何更改 SharePoint Online 中的区域设置?
默认情况下,区域设置是在创建网站时从 SharePoint 管理中心的网站创建设置中选择的。但是,您可能需要根据您所在的位置或首选语言更改这些设置,以确保每个人都使用相同的日期时间和货币格式。无论出于何种原因,使用 PowerShell 或浏览器都可以轻松更改 SharePoint Online 中的区域设置。本文将向您展示如何更改 SharePoint Online 中的区域设置。
更改 SharePoint Online 网站的区域设置非常简单:
- 导航到您的 SharePoint Online 站点 >> 单击“设置”>>“站点设置”。
- 在“站点设置”页面下,单击“站点管理”下的“区域设置”链接 (/_layouts/15/regionalsetng.aspx)。
在“区域设置”页面中,您可以设置站点的所有区域设置,例如时区、区域设置、排序顺序、日历、工作周、时间格式。
- 当您访问根网站的区域设置时,您可以选择将这些设置应用到网站集中的所有子网站。
SharePoint Online:使用 PowerShell 设置区域设置
以下是用于更改区域设置的 SharePoint Online PowerShell:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Config parameters for SharePoint Online Site URL and Timezone description
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
#Get Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Set up the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$Ctx.Credentials = $credentials
$Web = $Ctx.Web
#Update Regional Settings in sharepoint online using powershell
$Web.RegionalSettings.LocaleId = 1033 # English
$Web.RegionalSettings.WorkDayStartHour = 9
$Web.RegionalSettings.WorkDayEndHour = 6
$Web.RegionalSettings.FirstDayOfWeek = 0 # Sunday
$Web.RegionalSettings.Time24 = $False
$Web.RegionalSettings.CalendarType = 1 #Gregorian
$Web.RegionalSettings.AlternateCalendarType = 0 #None
#64 = Sunday; 32 = Monday; 16 = Tuesday; 8 = Wednesday; 4 = Thursday; 2 = Friday; 1 = Saturday; All Days = 127; None = 0
$Web.RegionalSettings.WorkDays = 124
$Web.Update()
$Ctx.ExecuteQuery()
用于更改 SharePoint Online 中的区域设置的 PnP PowerShell
如果您需要更改 SharePoint Online 中的区域设置,可以使用 PnP PowerShell 快速轻松地完成此操作:
#Parameters
$SiteURL = "https://Crescent.sharepoint.com/sites/Purchase"
$LocaleId = 2057 # UK
$TimeZoneId = 2 # London
#Connect to Site
Connect-PnPOnline $SiteURL -Interactive
#Get the Web
$Web = Get-PnPWeb -Includes RegionalSettings,RegionalSettings.TimeZones
#Get the Timezone
$TimeZone = $web.RegionalSettings.TimeZones | Where-Object {$_.Id -eq $TimeZoneId}
#Update Regional Settings
$Web.RegionalSettings.TimeZone = $TimeZone
$Web.RegionalSettings.LocaleId = $LocaleId
$Web.Update()
Invoke-PnPQuery
SharePoint Online:为租户中的所有网站设置区域设置
如何更改所有站点的区域设置?以下是使用 PowerShell 更改 SharePoint Online 中所有网站的区域设置的 PnP PowerShell 方法:
#Parameter
$TenantAdminURL = "https://Crescent-admin.sharepoint.com"
$LocaleId = 2057 # UK
$TimeZoneId = 2 # London
#Function to Set Regional Settings on SharePoint Online Web
Function Set-RegionalSettings
{
[cmdletbinding()]
Param(
[parameter(Mandatory = $true, ValueFromPipeline = $True)] $Web
)
Try {
Write-host -f Yellow "Setting Regional Settings for:"$Web.Url
#Get the Timezone
$TimeZone = $Web.RegionalSettings.TimeZones | Where-Object {$_.Id -eq $TimeZoneId}
#Update Regional Settings
$Web.RegionalSettings.TimeZone = $TimeZone
$Web.RegionalSettings.LocaleId = $LocaleId
$Web.Update()
Invoke-PnPQuery
Write-host -f Green "`tRegional Settings Updated for "$Web.Url
}
Catch {
write-host "`tError Setting Regional Settings: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Connect to Admin Center
$Cred = Get-Credential
Connect-PnPOnline -Url $TenantAdminURL -Credentials $Cred
#Get All Site collections - Exclude: Seach Center, Mysite Host, App Catalog, Content Type Hub, eDiscovery and Bot Sites
$SitesCollections = Get-PnPTenantSite | Where -Property Template -NotIn ("SRCHCEN#0", "REDIRECTSITE#0", "SPSMSITEHOST#0", "APPCATALOG#0", "POINTPUBLISHINGHUB#0", "EDISC#0", "STS#-1")
#Loop through each site collection
ForEach($Site in $SitesCollections)
{
#Connect to site collection
Connect-PnPOnline -Url $Site.Url -Credentials $Cred
#Call the Function for all webs
Get-PnPSubWeb -Recurse -IncludeRootWeb -Includes RegionalSettings, RegionalSettings.TimeZones | ForEach-Object { Set-RegionalSettings $_ }
}
这是我关于使用 PowerShell 更改时区的另一篇文章:SharePoint Online:使用 PowerShell 更改时区
有关所有区域设置值,请参阅此 Microsoft 文档:https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-server/ms443292(v=office.15)
概括
总之,可以使用网站设置或 PowerShell 轻松更改 SharePoint Online 网站的区域设置。通过利用 SharePoint Online CSOM 或 PnP PowerShell 模块,用户可以轻松更新其 SharePoint Online 网站的区域设置,包括时区、语言和区域格式。这允许用户自定义他们的 SharePoint Online 体验,并确保他们的网站配置满足他们的特定需求和要求。此外,PowerShell 脚本提供了一种更快、更有效的方式来同时管理多个站点的区域设置。
