0

我一直在绞尽脑汁想弄清楚为什么下面的 synatx 是错误的。我对powershell相当陌生,所以任何帮助将不胜感激。

问题似乎出$false在过滤器变量中,没有它的工作原理。

$BU = 'corp','sales'
$filter="(extensionattribute6 -like '*514' -or extensionattribute6 -like '*66048') -and msRTCSIP-UserEnabled -eq $false"

$BU | % {get-aduser -Properties displayname -Filter  $filter  -SearchBase 'ou=users,ou=$_,ou=Business Units,dc=biz,dc=com' -SearchScope Subtree}
4

1 回答 1

1

在内容周围使用单引号$filter

$filter='(extensionattribute6 -like "*514" -or extensionattribute6 -like "*66048") -and msRTCSIP-UserEnabled -eq $false'

双引号会将变量替换为其值,因此它会搜索msRTCSIP-UserEnabled -eq False(引发语法错误)而不是msRTCSIP-UserEnabled -eq $false.

于 2014-12-11T20:12:26.207 回答