从服务启动 Powershell WinUserLanguageList

从服务启动 Powershell WinUserLanguageList

需要一条命令来切换用户语言。要运行此脚本,需要通过 Windows 服务来完成。此服务以系统权限运行。问题是,当服务启动 Powershell 脚本时,用户没有更改语言。似乎需要以管理员身份在用户帐户中启动 Powershell 脚本。

有什么解决方案如何以正确的权限启动脚本?

键盘文件.ps1

# Remove old entries 
$LanguageList = Get-WinUserLanguageList 
$LanguageList.Remove($LanguageList[3]) 
$LanguageList.Remove($LanguageList[2]) 
$LanguageList.Remove($LanguageList[1]) 
$LanguageList.Remove($LanguageList[0]) 
# Add new entries 
$LanguageList.Add("%1") 
$LanguageList.Add("en-US") 
Set-WinUserLanguageList $LanguageList -Force

我使用cmd批处理文件启动了脚本来启动ps1键盘文件:

键盘启动命令

REM Execute Powershell script
powershell -executionpolicy bypass "& ""%keyboardFile%"""
PowerShell.exe -Command "& {Start-Process PowerShell.exe -ArgumentList '-ExecutionPolicy Bypass -File ""%keyboardFile%""'}"

相关内容