我正在尝试安装语言使用 PowerShell 在另一台计算机上以管理员身份运行,但失败并显示ErrorCode: -2147418113
:
PS C:\WINDOWS\system32> Install-Language es-es
Install-Language : Failed to install language. ErrorCode: -2147418113. Please try again.
At line:1 char:1
+ Install-Language es-es
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotInstalled: (:) [Install-Language], Exception
+ FullyQualifiedErrorId : FailedToInstallLanguage,Microsoft.LanguagePackManagement.Powershell.Commands.InstallLanguage
PS C:\WINDOWS\system32>
答案1
如所列安装语言,你也可以改变你的显示语言使用国际模块命令(设置 WinUILanguageOverride)。
值得注意的是不要忽视并考虑进一步的故障排除,例如:
使用 PowerShell cmdlet 以管理员身份运行的提升的 PowerShell
注销/注销然后重新登录 Windows 用户帐户以确保有效性
- 重启系统
使用其他相关系统语言 cmdlet,例如:
Set-WinUILanguageOverride
Set-WinUserLanguageList
Set-WinSystemLocale
此外,运行此 PowerShell 以获取允许管理 Windows 10 上用户的语言和区域设置的 cmdlet 列表。
Get-Module -ListAvailable -Name International | Select-Object -ExpandProperty ExportedCommands
额外的故障排除事项
- 如果此计算机指向注册表内的 WSUS 服务器,有时这可能会导致安装功能包和模块出现问题。运行此 PowerShell 以禁止 WSUS Windows 更新指针生效,然后重试语言命令。
$WUServer = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU").UseWUServer;
If($WUServer){New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\" -Name "UseWUServer" -PropertyType DWord -Value 0 -Force};
Restart-Service -Name wuauserv -Force;
将此值设置为
1
以将自动更新配置为使用运行软件更新服务而不是 Windows 更新的服务器。
- 如果计算机上存在冲突的本地组策略,并且这些配置并不重要,请运行以下 PowerShell 来清除本地组策略,重新启动,然后重试语言命令。
Remove-Item -Recurse -Force "C:\Windows\System32\GroupPolicyUsers";
Remove-Item -Recurse -Force "C:\Windows\System32\GroupPolicy"
gpupdate /force /wait:0;
如果您处于已加入域的机器上的已加入域环境中,那么联系域管理员可能会有所帮助。域组策略可能会对某些机器强制执行,但不会强制其他机器执行,从而给您带来问题。
确保已安装所有 Windows 更新且 Windows 是最新的,并且已重新启动以使待处理的 Windows 更新生效。
运行Windows 磁盘清理使用下面的 PowerShell 选择要清理的所有文件和系统文件,让它完成,重新启动,然后重试语言命令。确保磁盘空间也可以增长。
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\*' | ForEach-Object {
New-ItemProperty -Path $_.PSPath -Name StateFlags0001 -Value 2 -PropertyType DWord -Force};
Start-Process -FilePath CleanMgr.exe -ArgumentList '/sagerun:1'
- 以管理员权限运行 PowerShell
dism /online /cleanup-image /restorehealth
然后sfc /scannnow
重新启动也可能有助于修复损坏。
支持资源
-
在设备上安装一种语言。
描述
下载并安装指定语言的可用语言组件到设备上。
您还可以使用国际模块命令(
Set-WinUILanguageOverride <lnstalled Language>
)更改显示语言 -
为当前用户帐户设置 Windows UI 语言覆盖设置。
描述
此
Set-WinUILanguageOverride
cmdlet 设置用户首选的 Windows 用户界面 (UI) 显示语言。如果未使用覆盖设置,则显示语言将从用户的语言列表中动态确定。需要注销并重新登录才能使更改生效。有关详细信息,请参阅
Get-WinUserLanguageList
和Set-WinUserLanguageList
命令。 -
设置当前计算机的系统区域设置。
描述
cmdlet
Set-WinSystemLocale
设置当前计算机的系统区域设置。系统区域设置决定计算机默认使用哪些代码页,包括 ANSI、DOS 和 Macintosh。如果更改系统区域设置,则会安装必要的位图字体文件以支持所选语言的旧版应用程序。这是系统设置。只有具有管理员权限的用户才能更改。更改将在计算机重新启动后生效。