【发布时间】:2018-08-23 19:50:49
【问题描述】:
我正在使用在几台计算机上运行的脚本,在每一台计算机上运行 Net 命令查询,并将任何一台计算机的结果与 Compare-Object 进行比较。
脚本是:
Net users /domain
我环境中的一些用户有西班牙文字母。 在本地运行命令时,输出返回用户正确的字母是西班牙语, 但是当使用 Invoke-Command 从另一台计算机远程运行它时,这些特定用户的输出会显示为符号。
用户本地运行示例:
Net users /domain
Adam Ñ
用户使用 Invoke-Command 远程运行的示例:
Invoke-Command -Computername MyWin7Comp -scriptblock {
Net users /domain}
Adam ¥
我在 Windows 10 1803 中找到了一个修复程序,它可以选择始终使用 UTF-8 Unicode。 Windows 10 1803 option only
它奏效了!在这台 Windows 10 1803 机器上远程运行脚本可以完美运行,但我也想在旧版本上运行...
我能做什么?
谢谢
【问题讨论】:
-
在
net之前尝试chcp 65001 | out-null;。 -
或者使用更多的Powershell方式:
[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8或& "$env:windir\system32\chcp.com" 65001
标签: powershell unicode encoding invoke-command