Die folgenden if-Anweisungen mit -ne und -oder Operatoren funktioniert nicht (Hinweis, ich habe die Klammern nicht enthalten). $ MyVariable ist eine Ganzzahl, die von einem Parameter in einer Funktion kommt und mit der if-Anweisung den Wert überprüft. Was ich will ist, wenn $ MyVariable ist nicht gleich 16, 24 oder 32 dann Rückkehr mit Fehlermeldung ansonsten weiter. Aufruf der Funktion als FunctionName 16; im Skript ps1.Wenn mit -ne und -oder Operatoren nicht in Powershell arbeiten
Funktion ist wie folgt definiert:
function FunctionName
{
param([Parameter(Mandatory = $false, Position = 0)]
[AllowNull()]
[int] $MyVariable,
[Parameter(Mandatory = $false, Position = 1)]
[bool] $MyVariable2,
[Parameter(Mandatory = $false, Position = 2)]
[bool] $MyVariable3);
if (...
}
Was soll ich folgende if-Anweisungen falsch in das tun?
if ($MyVariable -ne 16 -or $MyVariable -ne 24 -or $MyVariable -ne 32)...
if (16 -ne $MyVariable -or 24 -ne $MyVariable -or 32 -ne $MyVariable)...
if (($MyVariable -ne 16) -or ($MyVariable -ne 24) -or ($MyVariable -ne 32))...
Logik fla w. * Mindestens zwei * der '-ne'-Vergleiche sind immer wahr. Verwenden Sie '-and' statt oder' -eq' für den Vergleich –
Ja. Nach erneuter Betrachtung der Logik macht es Sinn. Vielen Dank. –