首页 > 解决方案 > 使用 -eq 或 -ne 在 Powershell 中检测变音符号

问题描述

我只是想在我的 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

标签: powershellunicodediacritics

解决方案


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

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

推荐阅读