2017-07-05 99 views
0

我需要使用從csv中提取的電子郵件地址來匹配AD聯繫人。我目前遇到了讓ldapfilter接受括號的問題。LdapFilter不接受圓括號

目前這個工程:

​​

但這並不

Get-ADObject -LDAPFilter (objectClass=contact) -SearchBase "OU=PLACE,OU=CONTACTS,DC=WORK,DC=COM" 

而且我不知道爲什麼

+0

如果一切正常,沒有他們,爲什麼它需要它們? –

+0

..因爲第一個是有效的PowerShell語法,第二個不是。 'ObjectClass = contact'試圖運行一個名爲'contact'的cmdlet並運行一個名爲'objectclass'的cmdlet,然後嘗試使用'='將一個值賦給一個變量而不使用任何變量,這樣做沒有任何意義去做。 – TessellatingHeckler

+0

它們不等價。 '(objectClass = contact)'意思是「將'objectClass = contact'作爲一個PowerShell表達式求值,」和'「objectClass = contact」是一個字符串值。 –

回答

3

LDAPFilter需要一個字符串值;只是附上你想過濾的報價,這樣的PowerShell知道解析它作爲一個字符串,而不是試圖把它作爲評價其他腳本內容:

Get-ADObject -LDAPFilter "(objectClass=contact)" -SearchBase "OU=PLACE,OU=CONTACTS,DC=WORK,DC=COM"