Удаление умлаутов в Powershell с помощью -eq или -ne - PullRequest
0 голосов
/ 31 марта 2020

Я просто пытаюсь обнаружить Domänen-Benutzer в моем скрипте PowerShell, чтобы я мог его игнорировать.

Я подумал, что могу просто выполнить оператор not equals if, чтобы я мог его игнорировать. Однако это не работает. С помощью этого утверждения я могу обнаружить все остальное, но я почти уверен, что это та мысль, которая меня бесит. У меня были проблемы с PowerShell и Umlauts ранее. Я не могу понять, как заставить оператор -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

1 Ответ

1 голос
/ 31 марта 2020

Вы можете использовать код Unicode 0x00E4 здесь:

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