当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PowerShell 更改区域设置

作者:精品下载站 日期:2024-12-14 15:33:37 浏览:16 分类:玩电脑

SharePoint Online:使用 PowerShell 更改区域设置


要求:使用 PowerShell 更改 SharePoint Online 中的区域设置。

如何更改 SharePoint Online 中的区域设置?

默认情况下,区域设置是在创建网站时从 SharePoint 管理中心的网站创建设置中选择的。但是,您可能需要根据您所在的位置或首选语言更改这些设置,以确保每个人都使用相同的日期时间和货币格式。无论出于何种原因,使用 PowerShell 或浏览器都可以轻松更改 SharePoint Online 中的区域设置。本文将向您展示如何更改 SharePoint Online 中的区域设置。

更改 SharePoint Online 网站的区域设置非常简单:

  1. 导航到您的 SharePoint Online 站点 >> 单击“设置”>>“站点设置”。
  2. 在“站点设置”页面下,单击“站点管理”下的“区域设置”链接 (/_layouts/15/regionalsetng.aspx)。
  3. 在“区域设置”页面中,您可以设置站点的所有区域设置,例如时区、区域设置、排序顺序、日历、工作周、时间格式。

    [玩转系统] SharePoint Online:使用 PowerShell 更改区域设置

  4. 当您访问根网站的区域设置时,您可以选择将这些设置应用到网站集中的所有子网站。

SharePoint Online:使用 PowerShell 设置区域设置

以下是用于更改区域设置的 SharePoint Online PowerShell:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\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 脚本提供了一种更快、更有效的方式来同时管理多个站点的区域设置。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯