【发布时间】:2019-07-14 08:28:54
【问题描述】:
$logstring = Invoke-Command -ComputerName $filesServer -ScriptBlock {
param(
$logstring,
$grp
)
$Klassenbuchordner = "KB " + $grp.Gruppe
$Gruppenordner = $grp.Gruppe
$share = $grp.Gruppe
$path = "D:\Gruppen\$Gruppenordner"
if ((Test-Path D:\Dozenten\01_Klassenbücher\$Klassenbuchordner) -eq $true)
{$logstring += "Verzeichnis für Klassenbücher existiert bereits"}
else {
mkdir D:\Dozenten\01_Klassenbücher\$Klassenbuchordner
$logstring += "Klassenbuchordner wurde erstellt!"
}} -ArgumentList $logstring, $grp
我的目标是测试目录是否存在并按需创建。
问题在于路径包含德语字母(元音变音),目标服务器无法正确识别。
例如,服务器接收到路径"D:\Dozent\01_Klassenbücher",而不是预期的"D:\Dozent\01_Klassenbücher"。
如何强制使用正确的 UTF-8 编码?
【问题讨论】:
-
@AdminOfThings:
chcp 65001在这里没有发挥作用,因为没有与外部程序的交互。然而,即便如此,它也无济于事,因为在 PowerShell 会话 inside 运行chcp对$OutputEncoding和[Console]::OutputEncoding没有影响,这些设置对于与外部程序交互很重要.
标签: powershell utf-8 character-encoding codepages invoke-command