【问题标题】:Dectecting Umlauts in Powershell with -eq or -ne使用 -eq 或 -ne 在 Powershell 中检测变音符号
【发布时间】:2020-07-11 18:07:24
【问题描述】:

我只是想在我的 powershell 脚本中检测 Domänen-Benutzer,所以我可以忽略它。

我想我可以简单地运行一个不等于 if 语句,这样我就可以忽略它。但是,这不起作用。我可以用这个语句检测到其他所有内容,但我很确定是 ä 让我感到困惑。我以前遇到过powershell和变音符号的问题。我不知道如何让 -eq 或 -ne 语句接受编码。

简单代码:

 $groups = Get-Content "EntferntGruppen.txt" -Encoding UTF8
$string = "Domänen-Benutzer"
foreach ($group in $groups){
    if ($group -eq $string) {
        $group
      }else{
          "nah"
      }
}

我想补充一下,我已经尝试过 -Encoding Unicode, UTF7, UTF32, Default 我最初也没有为 $string 变量而烦恼,只是有 if($group -eq "Domänen-Benutzer") 也失败了。

如果有人可以教我如何处理变音符号,那就太好了!

应@Olaf 的要求,这里有一些来自 EntferntGruppen.txt 的输入,这些输入是由 AD 用户动态生成的。

Domänen-Benutzer
gl_SekretariatDUS
gl_ZeusUser
gl_LexwareUserSXF
gl_WEST_InternetUser
JederDUS

【问题讨论】:

  • 您可以分享输入数据源EntferntGruppen.txt 的一些经过净化但仍具有代表性的行 - 也请格式化为代码。对我来说,您的代码按预期工作。
  • 为您编辑
  • @olaf 是不是我用英语运行这个帐户?我应该切换并使用德国帐户吗?同时运行 Powersherll 5.1.17763.1007
  • 至少我是在德国文化背景下运行的。

标签: powershell unicode diacritics


【解决方案1】:

您可以在此处使用 unicode 0x00E4 代码:

$string = "Dom$([char]0x00E4)nen-Benutzer"

【讨论】:

  • 有这些图表吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-21
  • 2014-09-12
  • 1970-01-01
  • 2021-03-26
  • 2016-12-15
相关资源
最近更新 更多