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

[玩转系统] 使用 PowerShell 管理邮箱时区和语言设置

作者:精品下载站 日期:2024-12-14 09:13:54 浏览:13 分类:玩电脑

使用 PowerShell 管理邮箱时区和语言设置


某些用户想要更改邮箱的时区、语言、日期格式或时间格式。使用 Exchange Online PowerShell,您可以修改单个邮箱、多个邮箱或所有 Microsoft 365 邮箱的时区和语言设置。在本文中,我们将向您展示如何使用 PowerShell 管理用户邮箱时区和语言设置。

管理时区和语言

默认情况下,当用户第一次打开 Outlook 网页版 (OWA) 时,将显示一个特殊窗口,要求用户选择时区语言的值嗯>。

作为 Exchange Online 管理员,您希望为这些值(时区、语言、数据或时间格式)设置预定义设置,以使用户的生活更轻松并避免用户的错误。

我们将向您展示如何管理以下各项的时区和语言设置:

  • 单用户邮箱
  • 多个用户邮箱
  • 批量所有用户邮箱

连接到 Exchange Online PowerShell

为了能够运行 PowerShell 命令,您需要连接到 Exchange Online PowerShell。

Connect-ExchangeOnline

设置单个邮箱的时区和语言

要更改单个邮箱的时区和语言设置,我们将使用 Set-MailboxRegionalConfiguration PowerShell cmdlet。

设置邮箱时区

更改单个 Microsoft 365 邮箱的时区。

PowerShell命令语法:

Set-MailboxRegionalConfiguration "Identity" -TimeZone "Time Zone"

PowerShell 命令示例:

Set-MailboxRegionalConfiguration "[email protected]" -TimeZone "Pacific Standard Time"

您将用户邮箱 [email protected] 的时区更改为太平洋标准时间

设置邮箱语言和日期或时间格式

如果设置邮箱语言,还必须更改日期和时间格式以避免错误。

注意:如果您为具有不同日期或时间格式的邮箱设置语言,您将收到 PowerShell 错误。

当日期格式对于当前语言设置无效时,会出现 PowerShell 错误消息。

Ex328A48|Microsoft.Exchange.Data.DataValidationException|DateFormat \"dd/MM/yyyy\" isn't valid for current language setting \"en-US\". Valid formats include \"M/d/yyyy, M/d/yy, MM/dd/yy, MM/dd/yyyy, yy/MM/dd, yyyy-MM-dd, dd-MMM-yy\"."

当时间格式与当前语言设置不匹配时,会出现 PowerShell 错误消息。

Ex402B93|Microsoft.Exchange.Data.DataValidationException|The TimeFormat \"h:mm tt\" isn't valid for current language setting \"da-DK\". Valid formats include \"HH:mm, H:mm\"."

注意:每种语言都有自己的日期格式和时间格式的有效值。如果您收到上述错误(日期格式或时间格式对于当前语言设置无效),您可以将 DateFormatTimeformat 设置为值 $null。这会将日期和时间格式设置为该特定语言的默认格式。

在我们的示例中,我们希望将用户邮箱 [email protected]语言设置为丹麦语。这就是我们必须改变的:

  • 日期格式: 日-月-年
  • 时间格式: HH:mm
  • 本地化默认文件夹名称:丹麦语

设置-DateFormat $null-Timeformat $null 以获取该语言的默认值格式。

PowerShell命令语法:

Set-MailboxRegionalConfiguration "Identity" -Language "language-country" -DateFormat "dd-MM-yyyy" -TimeFormat "HH:mm" -LocalizeDefaultFolderName

使用以下 PowerShell 示例:

Set-MailboxRegionalConfiguration "[email protected]" -Language "da-dk" -DateFormat "dd-MM-yyyy" -TimeFormat "HH:mm" -LocalizeDefaultFolderName

设置邮箱时区和语言以及日期或时间格式

您可以使用 PowerShell cmdlet 更改单个邮箱的时区、语言、日期和时间格式。

注意:如果您为具有不同日期格式时间格式的邮箱设置语言,您将会收到错误消息>。请务必检查哪种时间和日期格式与您要设置的语言匹配,或使用 $null 获取默认值。

在我们的示例中,我们将对邮箱 [email protected] 进行以下更改:

  • 时区:格林威治标准时间
  • 语言: 英语 - 英国
  • 日期格式: dd/MM/yyyy 或 $null
  • 时间格式: h:mm tt 或 $null
  • 本地化默认文件夹名称:英语

PowerShell命令语法:

Set-MailboxRegionalConfiguration "Identity" -TimeZone "Time Zone" -Language "language-country" -DateFormat "dd/MM/yyyy" -TimeFormat "h:mm tt" -LocalizeDefaultFolderName

运行以下 PowerShell 示例:

Set-MailboxRegionalConfiguration "[email protected]" -TimeZone "Greenwich Standard Time" -Language "en-GB" -DateFormat "dd/MM/yyyy" -TimeFormat "h:mm tt" -LocalizeDefaultFolderName

从 CSV 为多个邮箱设置时区和语言

要为多个邮箱设置时区和语言设置,您需要创建单个 CSV 文件。

创建 CSV 文件

打开记事本Microsoft Excel并键入要更改时区和语言的邮箱列表。

  1. 在顶部输入UPN
  2. 所有邮箱

[玩转系统] 使用 PowerShell 管理邮箱时区和语言设置

  1. 如果 (C:) 驱动器中还没有文件夹 temp,请创建该文件夹
  2. 将文件命名为 UsersList.csv
  3. 保存类型所有文件 (*)
  4. 点击保存

[玩转系统] 使用 PowerShell 管理邮箱时区和语言设置

设置多个邮箱时区

首先,您需要创建一个 CSV 文件并在名为 UPN 的单列中列出邮箱,如上一步所示。

我们会将 CSV 文件中的多个 Microsoft 365 邮箱的时区设置为太平洋标准时间。

使用以下 PowerShell 脚本更改时区。

  • 更改第第 2 行中的时区
# Time zone
$TimeZone = "Pacific Standard Time"

# Import the CSV file containing user information
$users = Import-Csv "C:\temp\UsersList.csv" -Encoding UTF8

# Go through each user in the CSV file
foreach ($user in $users) {

    # Retrieve the user's User Principal Name (UPN) from the CSV
    $userUPN = $user.UPN

    # Set the mailbox regional configuration for the user
    Set-MailboxRegionalConfiguration -Identity $userUPN -LocalizeDefaultFolderName: $true -TimeZone $TimeZone 
}

设置多个邮箱时区和语言以及日期或时间格式

首先,您需要设置一个 CSV 文件并在名为 UPN 的单列中列出邮箱,如第一步所示。

我们将从 CSV 文件更改多个邮箱的时区、语言、日期和时间格式。

注意:您要设置的语言必须与日期格式时间格式匹配,否则您将收到错误消息。如果您不知道某种语言的有效格式,请使用 $null 获取默认日期和时间值。

使用以下 PowerShell 脚本更改时区和语言设置。

  • 更改第 3 行中的时区
  • 更改第第 4 行中的语言
  • 设置与语言匹配的DateFormat,或者在第数字 5 行中输入 $null 作为默认值
  • 设置与语言匹配的TimeFormat,或者在第数字 6 行中输入 $null 作为默认值
# Define regional configuration parameters
$regionalConfigParams = @{
    TimeZone                  = "Central Europe Standard Time"
    Language                  = "da-DK"
    DateFormat                = "dd-MM-yy"
    TimeFormat                = "HH:mm"
    LocalizeDefaultFolderName = $true
}

# Import the CSV file containing user information
$users = Import-Csv "C:\temp\UsersList.csv" -Encoding UTF8

# Go through each user in the CSV file
foreach ($user in $users) {

    # Retrieve the user's User Principal Name (UPN) from the CSV
    $userUPN = $user.UPN

    # Set the mailbox regional configuration for the user using splatting
    Set-MailboxRegionalConfiguration -Identity $userUPN @regionalConfigParams
}

批量设置所有邮箱的时区和语言

您可以更改所有 Microsoft 365 邮箱的时区和语言设置。

批量设置时区

在单个 PowerShell 命令中更改所有 Microsoft 365 邮箱的时区。

PowerShell命令语法:

$Users = Get-Mailbox -ResultSize Unlimited | % { Set-MailboxRegionalConfiguration $_.Identity -TimeZone <"Time Zone"> }

在我们的示例中,我们想要批量设置时区太平洋标准时间

使用以下 PowerShell 命令:

$Users = Get-Mailbox -ResultSize Unlimited | % { Set-MailboxRegionalConfiguration $_.Identity -TimeZone "Pacific Standard Time" }

批量设置时区和语言以及日期或时间格式

批量更改所有 Microsoft 365 邮箱的时区、语言、日期格式和时间格式。它还将以您设置的语言本地化默认文件夹名称。

注意:语言日期时间格式应始终匹配,否则您会收到错误消息。例如,日期格式“dd-MM-yyyy”对于当前语言设置“en-US”无效。要获取默认日期和时间值,请使用 $null 作为 DateFormat 和 TimeFormat。

使用以下 PowerShell 脚本批量设置所有 Microsoft 365 邮箱的时区和语言设置。

  • 更改第第 2 行中的时区
  • 更改第 第 3 行中的语言
  • 设置与语言匹配的DateFormat,或者在第 4 行中键入 $null 作为默认值
  • 设置与语言匹配的TimeFormat,或者在第数字 5 行中键入 $null 作为默认值
$regionalConfigParams = @{
    TimeZone = "W. Europe Standard Time"
    Language = "da-DK"
    DateFormat = "dd-MM-yyyy"
    TimeFormat = "H:mm"
    LocalizeDefaultFolderName = $true
}

Get-Mailbox -ResultSize Unlimited | 
    Set-MailboxRegionalConfiguration @regionalConfigParams

显示信息时区和语言

获取每个 Microsoft 365 邮箱的时区和语言列表。

显示时区列表

使用以下 PowerShell 命令查看所有时区的列表。

Get-ChildItem "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Time zones" | Format-List pschildname

显示特定邮箱的时区和语言信息

您可以显示特定邮箱时区、语言、日期和时间格式设置。

PowerShell命令语法:

Get-MailboxRegionalConfiguration <Identity>

运行 PowerShell 命令示例:

Get-MailboxRegionalConfiguration "[email protected]"

请参阅以下 PowerShell 输出:

PS C:\> Get-MailboxRegionalConfiguration "[email protected]"

Identity             Language        DateFormat TimeFormat TimeZone
--------             --------        ---------- ---------- --------
41377e9c-dc47-46c... en-US           M/d/yyyy   h:mm tt    Pacific Standard Time

显示所有 Microsoft 365 邮箱的时区和语言信息

您还可以显示所有 Microsoft 365 邮箱以及时区、语言、日期和时间格式信息。

运行以下 PowerShell 命令:

Get-Mailbox -ResultSize Unlimited | Get-MailboxRegionalConfiguration

PowerShell 输出如下例所示:

PS C:\> Get-Mailbox -ResultSize Unlimited | Get-MailboxRegionalConfiguration

Identity             Language        DateFormat TimeFormat TimeZone                                              
--------             --------        ---------- ---------- --------                                              
41377e9c-dc47-46c... en-US           yyyy-MM-dd h:mm tt    Pacific Standard Time                                 
d912b0fc-6f7e-4ec... en-US           yyyy-MM-dd h:mm tt    Pacific Standard Time                                 
Catch All            da-DK           dd-MM-yyyy H:mm       W. Europe Standard Time                               
fa956d8c-87df-4cd... da-DK           dd-MM-yyyy H:mm       W. Europe Standard Time                               
eec2668a-0773-494... en-US           yyyy-MM-dd h:mm tt    Pacific Standard Time

将所有 Microsoft 365 邮箱时区和语言详细信息导出到 CSV

您还可以将所有 Microsoft 365 邮箱的时区和语言设置导出到单个 CSV 文件。这样,您就可以轻松搜索每个邮箱的语言。

运行以下 PowerShell 命令将邮箱批量导出到 CSV 文件。

$exportPath = "C:\Temp\File.csv"

$csvData = Get-Mailbox -ResultSize Unlimited | ForEach-Object {
    $mailbox = $_
    $regionalConfig = Get-MailboxRegionalConfiguration -Identity $mailbox.Identity

    [PSCustomObject]@{
        UserPrincipalName = $mailbox.UserPrincipalName
        Name = $mailbox.Name
        TimeZone = $regionalConfig.TimeZone
        Language = $regionalConfig.Language
        DateFormat = $regionalConfig.DateFormat
        TimeFormat = $regionalConfig.TimeFormat
    }
}

$csvData | Export-Csv -Path $exportPath -NoTypeInformation -Encoding UTF8

C:\temp 文件夹中找到 CSV 文件。使用 Microsoft Excel 等应用程序打开 CSV 文件以查看结果。

[玩转系统] 使用 PowerShell 管理邮箱时区和语言设置

了解更多:Exchange Online 历史邮件跟踪报告 »

结论

您了解了如何使用 PowerShell 在 Exchange Online 中管理邮箱时区和语言设置。设置邮箱语言时,请务必更改日期和时间格式,以避免 PowerShell 中出现错误。请记住显示所有 Microsoft 365 邮箱的时区和语言信息的列表,或将其导出到 CSV 文件并验证其外观是否良好。

您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 管理用户邮箱。不要忘记关注我们并分享这篇文章。

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

取消回复欢迎 发表评论:

关灯