четверг, 6 ноября 2008 г.

Слэш в свойстве объекта AD distinguishedName

Совершенно случайно столкнулся с проблемой - при попытке обратиться к объекту AD в строке типа Set objGroup=GetObject("LDAP://" & groupname) возникала ошибка типа E_ADS_BAD_PATHNAME (т.е. типа объект не найден, хотя в ADSI смотрю - вот же он!). Оказывается, слэш в distinguishedName (и некоторые другие символы) плохо воспринимаются при обращении к AD (т.е., например, слэш в названии группы). Какой же выход? Предварять все "опасные символы" обратным слэшем (т.е. строчка обращения к объекту должна выглядить приблизительно так:
Set objGroup=GetObject("LDAP://" & replace(groupname,"/","\/"))

Источник: http://blogs.dirteam.com/blogs/tomek/archive/2006/12/27/Slash-character-in-AD-object-distinguishedName.aspx