我一直绞尽脑汁想弄清楚为什么下面的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}
答案 0 :(得分:1)
在$filter
$filter='(extensionattribute6 -like "*514" -or extensionattribute6 -like "*66048") -and msRTCSIP-UserEnabled -eq $false'
双引号会将变量替换为其值,因此会搜索msRTCSIP-UserEnabled -eq False
(这会引发语法错误),而不是msRTCSIP-UserEnabled -eq $false
。