如何通过GPO或脚本为所有用户强制设置Microsoft Teams客户端语言?
批量设置Teams桌面客户端语言为爱尔兰英语(en-ie)方案
问题核心
Teams桌面端语言会同步用户M365租户级语言设置,单独修改本地desktop-settings.json会被云端配置覆盖,导致设置不生效。针对7000+用户规模,推荐以下两种全局程序化方案:
方案1:租户级批量更新用户M365首选语言
Teams桌面端优先使用用户在M365中的PreferredLanguage属性值,通过PowerShell批量修改该属性可全局同步语言设置:
- 安装并连接Microsoft Graph PowerShell模块
- 执行以下脚本批量更新所有内部用户的语言设置:
# 连接Microsoft Graph(需全局管理员权限) Connect-MgGraph -Scopes User.ReadWrite.All # 获取所有内部用户(排除来宾账户) $users = Get-MgUser -All $true -Filter "UserType eq 'Member'" # 循环更新用户首选语言为en-ie foreach ($user in $users) { Update-MgUser -UserId $user.Id -PreferredLanguage "en-ie" Write-Host "已完成用户 $($user.UserPrincipalName) 的语言设置更新" }
- 通知用户重启Teams客户端,语言会自动同步为爱尔兰英语,PowerApp日期格式随之生效。
方案2:通过注册表/组策略强制Teams客户端语言
如果需要绕过云端同步,直接强制客户端语言,可通过注册表配置并结合GPO批量推送:
注册表配置项:
- 32位系统:
HKLM\Software\Microsoft\Teams,添加字符串值Language,赋值为en-ie - 64位系统:
HKLM\Software\Wow6432Node\Microsoft\Teams,添加字符串值Language,赋值为en-ie
批量推送方式:
- 在组策略管理器中创建新的组策略对象(GPO)
- 编辑GPO,进入
计算机配置\Preferences\Windows设置\注册表 - 新建注册表项,按照上述路径和值配置
- 将GPO链接到目标用户所在的OU,强制生效后用户重启Teams即可应用语言设置。
为什么修改desktop-settings.json无效?
Teams启动时会优先从M365租户同步用户的语言偏好,覆盖本地desktop-settings.json中的currentWebLanguage配置,因此单独修改本地文件无法持久生效。
内容的提问来源于stack exchange,提问作者RickRDR
相关产品推荐
相关产品推荐

