大于PowerShell的运算符会产生不准确的结果

时间:2016-08-26 20:05:33

标签: powershell if-statement operators

出于某种原因,当我调试时 - $debug等于1,但当调试器点击if(numUsers -gt 2)时,它会进入if块......

function numUsers()
    {@(query user /server:$server).Count - 1
    }

$debug = numUsers

if(numUsers -gt 2)
    {#true
    }
else
    {#Nothing
    }

我是否正确使用-gt运算符?我错过了一些非常明显的东西吗?

欣赏任何见解

1 个答案:

答案 0 :(得分:2)

-gt 2被视为numUsers来电的参数。

您可以通过查看$args函数中numUsers的值来查看。

你需要告诉powershell你想要自己调用numUsers来实现这个目的。

if ((numUsers) -gt 2) {
    "gt 2"
} else {
    "lt 2"
}