比较价值不会产生预期的结果

Comparing value doesn't yield expected results

我正在使用以下代码从我们的 Lync 环境中取回有关与每个用户关联的 RegistrarPool 的信息。

Get-CSUser | ? {
    $_.RegistrarPool -ne "SERVER-USER-POOL.example.com" -and
    $_.Enabled -eq $True
} | select SamAccountName, LineURI, RegistrarPool

我的预期是返回的数据是未分配给 "SERVER-USER-POOL.example.com" 的用户,但事实并非如此。

我可以通过将 -ne 更改为 -notlike "SERVER-USER-POOL*" 来获得我想要的结果。

为什么 -ne 在这种情况下不起作用?有没有更好的方法?

看了一些东西后又看了看帮助

         get-help get-csuser -full

我想出了以下同样有效的方法。仍然不清楚为什么我的原件不起作用。

Get-CSUser -filter  {
           RegistrarPool -ne "SERVER-USER-POOL.example.com" -and 
           Enabled -eq $True
           } | select SamAccountName, LineURI, RegistrarPool

我找到了这个 link。不得不在另一个网站上询问,因为这里没有回复但想分享答案。

https://blogs.technet.microsoft.com/nexthop/2011/03/21/get-csuser-and-get-csaduser-when-to-use-where-object-vs-filter-or-ldapfilter/