2014-12-11 4 views
0

Я пытаюсь понять, почему синакс ниже неправильно. Я довольно новичок в powershell, поэтому любая помощь будет оценена.Синтаксис PowerShell Lync/AD

Проблема связана с $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} 

ответ

1

Используйте одинарные кавычки вокруг содержания для $filter

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

двойных кавычек будут заменять переменные с их значением, поэтому он ищет msRTCSIP-UserEnabled -eq False (который вызывает ошибку синтаксиса) вместо msRTCSIP-UserEnabled -eq $false.

+0

Это сработало! Огромное спасибо. –

+0

Рад помочь, и добро пожаловать в переполнение стека! Если этот ответ (или любой другой) решит вашу проблему, отметьте его как принятый. – Kohlbrr