我需要在各种操作系统上运行一些 PowerShell 脚本。其中大多数都是英文版本,但是,有些是本地化的,例如德语、法语、西班牙语等。问题是本地系统管理员现在大多不使用 PowerShell,并且在脚本失败并向他们抛出错误的情况下,而不是阅读它时,他们只是将此类错误消息的屏幕截图发送给我,如果此错误的原因并不明显,我只能将其输入到 g。翻译以了解发生了什么事。
是否有一个开关可以使用参数或任何其他方式运行整个脚本或单个命令,以强制 PowerShell 中的错误以英语显示,而不是该特定计算机的默认语言?
您可以像这样更改管道线程当前文化:
[Threading.Thread]::CurrentThread.CurrentUICulture = 'fr-FR'; Get-Help Get-Process
我使用的是英语系统,但在执行上面的行之前,我更新了帮助,如下所示:
Update-Help -UICulture fr-FR
这样,上面的“获取帮助”调用就为我的英语系统提供了法语帮助。注意:如果我将对 Get-Help 的调用放在新行上,则它将不起作用。确认 PowerShell 在每个管道启动之前重置 CurrentUICulture,这就是当命令位于同一管道中时它可以工作的原因。
就您而言,您需要让人们使用以下命令安装英语帮助:
Update-Help -UICulture en-US
然后像这样执行你的脚本:
[Threading.Thread]::CurrentThread.CurrentUICulture = 'en-US'; .\myscript.ps1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)