Kann mir jemand sagen, warum das -oder nicht funktioniert. Wenn ich den Code ausführe, ist die erste Ausgabe der Administrator, der true zurückgibt, aber wenn er den Kahuna-Account erreicht, gibt er immer noch false zurück und nicht true.Powershell -Oder Operator funktioniert nicht
(Get-LocalUser).Name | Out-File C:\localusers.txt
ForEach ($User in Get-Content C:\localusers.txt)
{
If ($User -match "administrator" -or "kahuna")
{
Write-Host True
}
Else
{
Write-Host False
}
}
ich
True, False, False Falsch, Falsch
Hier sind die aufgeführten Konten erscheinen, um sie
Administrator Default, Gast , Kahuna, PCUser
Erhalten Sie wirklich "Wahr, Falsch, Falsch, Falsch, Falsch"? Ich erwarte, dass es "True, True, True, True, True" wäre, da nicht leere Zeichenfolgen in '$ true' resultieren, wenn sie in' [bool] 'konvertiert werden. Also ist Ihr logischer Ausdruck äquivalent zu '($ User -match" Administrator ") -oder $ true', was immer' $ true' zurückgeben sollte. – PetSerAl