You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Windows服务器通过PowerShell永久修改全用户时间格式

永久修改Azure Windows服务器所有用户的日期时间格式(dd/mm/yyyy)

前提确认

先在Windows Admin Center的PowerShell会话中执行以下命令,确认当前的文化与日期格式配置:

Get-Culture | Select-Object Name, ShortDatePattern
Get-WinSystemLocale

确认输出的ShortDatePattern为MM/dd/yyyy,且系统区域设置不符合需求。

步骤1:修改系统级区域设置(影响新创建的用户)

执行以下PowerShell命令,将系统区域和当前用户文化设置为支持dd/mm/yyyy的格式(以en-GB为例,可根据实际需求替换为fr-FR等其他符合格式的区域代码):

# 设置系统区域
Set-WinSystemLocale en-GB

# 设置当前用户文化
Set-Culture en-GB

# 更新用户语言列表中的日期格式
$langList = Get-WinUserLanguageList
$langList[0].ShortDatePattern = 'dd/MM/yyyy'
Set-WinUserLanguageList $langList -Force

步骤2:批量修改已有用户的日期格式(关键)

系统级修改仅对新用户生效,需手动遍历所有已有本地用户,修改其注册表中的日期格式配置:

# 获取所有启用的本地用户
$enabledUsers = Get-LocalUser | Where-Object { $_.Enabled -eq $true }

foreach ($user in $enabledUsers) {
    try {
        # 加载用户的NTUSER.DAT注册表 hive
        $regHivePath = "HKU\$($user.SID)"
        reg load $regHivePath "C:\Users\$($user.Name)\NTUSER.DAT"

        # 修改短日期格式
        Set-ItemProperty -Path "$regHivePath\Control Panel\International" -Name "sShortDate" -Value "dd/MM/yyyy"
        # 可选:修改长日期格式
        Set-ItemProperty -Path "$regHivePath\Control Panel\International" -Name "sLongDate" -Value "dd MMMM yyyy"

        # 卸载注册表 hive
        reg unload $regHivePath
        Write-Host "成功修改用户 $($user.Name) 的日期格式"
    }
    catch {
        Write-Warning "无法修改用户 $($user.Name) 的日期格式:$($_.Exception.Message)"
    }
}

注意:执行该脚本需要管理员权限,且目标用户需处于未登录状态(否则NTUSER.DAT文件会被锁定,无法加载修改)。

步骤3:验证与生效

  1. 重启服务器,确保所有配置生效
  2. 在Windows Admin Center中重新执行Get-Culture | Select-Object ShortDatePattern,确认输出为dd/MM/yyyy
  3. 检查依赖时间格式的应用输出,确认显示正常

额外注意事项

  • 若你的业务需要其他区域的日期格式,可将上述命令中的en-GB替换为对应的区域代码(如es-ES、zh-HK等,需确保该区域默认短日期格式为dd/mm/yyyy)
  • 部分应用可能存在硬编码时间格式的情况,若修改系统设置后仍有问题,需检查应用自身的配置文件或参数

内容的提问来源于stack exchange,提问作者Manuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 19:06:27