none
Outlook + VBS + LDAP AddressBook + AD Filter RRS feed

  • Общие обсуждения

  • On Error Resume Next const HKEY_CURRENT_USER = &H80000001 strComputer = "." Set oReg=GetObject( "winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") RegistryFolder = "Software\Microsoft\Windows NT\\" & _

    "CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\"  

    LDAPdisplayname = "Общая адресная книга" LDAPserver = "sepdc.sep.local" LDAPport = "389" LDAPsearchbase = "ou=sep,dc=sep,dc=local" 'Add Ldap Type Key sKeyPath = RegistryFolder & "e8cb48869c395445ade13e3c1c80d154\" If oReg.EnumKey(HKEY_CURRENT_USER, sKeyPath, "", "") = 0 Then Wscript.Quit Else oReg.CreateKey HKEY_CURRENT_USER, sKeyPath oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "00033009", Array(0,0,0,0) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "00033e03", Array(&H23,0,0,0) oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3001", "Microsoft LDAP Directory" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3006", "Microsoft LDAP Directory" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e300a", "EMABLT.DLL" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3d09", "EMABLT" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3d13", "{6485D268-C2AC-11D1-AD3E-10A0C911C9C0}" oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "01023d0c", Array(&H5c,&Hb9,&H3b,&H24,&Hff,&H71,&H07,&H41,&Hb7,&Hd8,&H3b,&H9c,&Hb6,&H31,&H79,&H92) 'Add Ldap connection settings key sKeyPath = RegistryFolder & "5cb93b24ff710741b7d83b9cb6317992\" oReg.CreateKey HKEY_CURRENT_USER, sKeyPath oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "00033009", Array(&H20,0,0,0) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "000b6613", Array(0,0) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "000b6615", Array(&H01,&H00) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "000b6622", Array(&H01,&H00) oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3001", LDAPdisplayname oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3d09", "EMABLT" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3d0a", "BJABLR.DLL" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3d0b", "ServiceEntry" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e3d13", "{6485D268-C2AC-11D1-AD3E-10A0C911C9C0}" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6600", LDAPserver oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6601", LDAPport oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6602", "" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6603", LDAPsearchbase oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6604", "(&(mail=*)(|(mail=%s*)(|(cn=%s*)(|(sn=%s*)(givenName=%s*)))))" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6605", "SMTP" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6606", "mail" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6607", "60" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6608", "100" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6609", "120" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e660a", "15" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e660b", "" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e660c", "OFF" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e660d", "OFF" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e660e", "NONE" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e660f", "OFF" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6610", "postalAddress" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6611", "cn" oReg.SetStringValue HKEY_CURRENT_USER, sKeyPath , "001e6612", "1" oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "001e67f1", Array(&H0a) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "01023615", Array(&H50,&Ha7,&H0a,&H61,&H55,&Hde,&Hd3,&H11,&H9d,&H60,&H00,&Hc0,&H4f,&H4c,&H8e,&Hfa) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "01023d01", Array(&He8,&Hcb,&H48,&H86,&H9c,&H39,&H54,&H45,&Had,&He1,&H3e,&H3c,&H1c,&H80,&Hd1,&H54) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "01026631", Array(&H98,&H17,&H82,&H92,&H5b,&H43,&H03,&H4b,&H99,&H5d,&H5c,&Hc6,&H74,&H88,&H7b,&H34) oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "101e3d0f", Array(&H02,&H00,&H00,&H00,&H0c,&H00,&H00,&H00,&H17,&H00,&H00,&H00,&H45,&H4d,&H41,&H42,&H4c,&H54,&H2e,&H44,&H4c,&H4c,&H00,&H42,&H4a,&H41,&H42,&H4c,&H52,&H2e,&H44,&Hc,&H4c,&H00) 'Append to Backup Key for ldap types sKeyPath = RegistryFolder & "9207f3e0a3b11019908b08002b2a56c2\" oReg.getBinaryValue HKEY_CURRENT_USER,sKeyPath, "01023d01",Backup Dim oldLength oldLength = UBound (Backup) ReDim Preserve Backup(oldLength+16) Backup(oldLength+1) = &He8 Backup(oldLength+2) = &Hcb Backup(oldLength+3) = &H48 Backup(oldLength+4) = &H86 Backup(oldLength+5) = &H9c Backup(oldLength+6) = &H39 Backup(oldLength+7) = &H54 Backup(oldLength+8) = &H45 Backup(oldLength+9) = &Had Backup(oldLength+10) = &He1 Backup(oldLength+11) = &H3e Backup(oldLength+12) = &H3c Backup(oldLength+13) = &H1c Backup(oldLength+14) = &H80 Backup(oldLength+15) = &Hd1 Backup(oldLength+16) = &H54 oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "01023d01", Backup 'Append to Backup Key for ldap connection settings sKeyPath = RegistryFolder & "9207f3e0a3b11019908b08002b2a56c2\" oReg.getBinaryValue HKEY_CURRENT_USER,sKeyPath, "01023d0e",Backup oldLength = UBound (Backup) ReDim Preserve Backup(oldLength+16) Backup(oldLength+1) = &H5c Backup(oldLength+2) = &Hb9 Backup(oldLength+3) = &H3b Backup(oldLength+4) = &H24 Backup(oldLength+5) = &Hff Backup(oldLength+6) = &H71 Backup(oldLength+7) = &H07 Backup(oldLength+8) = &H41 Backup(oldLength+9) = &Hb7 Backup(oldLength+10) = &Hd8 Backup(oldLength+11) = &H3b Backup(oldLength+12) = &H9c Backup(oldLength+13) = &Hb6 Backup(oldLength+14) = &H31 Backup(oldLength+15) = &H79 Backup(oldLength+16) = &H92 oReg.SetBinaryValue HKEY_CURRENT_USER, sKeyPath, "01023d0e", Backup 'Delete Active Books List Key sKeyPath = RegistryFolder & "9375CFF0413111d3B88A00104B2A6676\{ED475419-B0D6-11D2-8C3B-00104B2A6676}" oReg.DeleteKey HKEY_CURRENT_USER, sKeyPath End If

    Всем добрый день!

    Появилась нужда групповыми политиками создать пользователям адресную книгу по LDAP. Рабочий скрипт приведен выше!

    Да вот только отдельное OU для контактов создавать не хотелось бы, а хотелось бы, чтобы Outlook из LDAP вытаскивал контактную информацию из уже созданных пользователей в нескольких OUшках. Как задать реестровые значения VBSом и распространить по AD понятно... остался вопрос в фильтре контактов, а то в список попадают и всякие служебные записи/ящики. 
    Хотелось бы фильтровать, хотя бы, по полю "Компания" - если заполнено, то выбирать этот контакт. 
    Собственно запрос уже написан: "(&(&(|(&(company=*)(!(userAccountControl=66050)))(managedBy=*))(mail=*)))" (mangedBy -для групп рассылки) (В оснастке AD запрос протестирован - выдает как раз то что нужно) 
    Собственно вопрос в том как применить его к Outlook, чтобы выборка из LDAP проводилась по этому запросу, а не по запросу "по-умолчанию". 

    1. Знаю что мелкософт на текнете (https://technet.microsoft.com/en-us/library/cc179232%28v=office.12%29.aspx?f=255&MSPPError=-2147217396) пишет, что достаточно добавить в реестр значение "001e6624" Стринг со строкой запроса фильтра 

    2. Однако... Все скрипты, которые по этому поводу найдены на просторах интернета создают в реестре запись с именем "001e6604" и прописывают в нее строку фильтра.... 

    И.. Главное !НО!..... не та ни другая запись мне не помогают, т.е. Оутглюку глубоко фиолетово и на ту и на другую запись в реестре - все равно выборка идет по стандартному запросу "по-умолчанию" т.е. с мусором в книге типа служебных ящиков. 

    У кого какие идеи есть по этому поводу, можт кто уже внедрял такое и сталкивался с такой проблемой? 

    ЗЫ: оутглюк 2007.



    • Изменено zhuk09 17 мая 2017 г. 10:41
    • Перемещено Vector BCOModerator 1 июня 2017 г. 5:23 Просьба автора
    • Изменен тип Vector BCOModerator 14 мая 2018 г. 19:17 нет активности

Все ответы

  • Коллеги, вопрос еще не решен. Ждем от Вас помощи)!

  • Похоже что все "Гуру и Волшебники" в отпуске)))

    Вопрос к модератору : Может перенести данный вопрос в другой раздел?! Допустим  - Администрирование и настройка клиентских приложений MS Office???

     

  • Добрый день. Перенес Ваш вопрос в упомянутую Вами ветки. Думаю что тут вопрос достаточно специфический в связи с чем активность в вашем вопросе крайне "небольшая"

    Для более скорого решения Вашей задачи думаю стоит попробовать написать на англоязычный форум, возможно там есть кто-то кто знает решение вашего вопроса. 


    The opinion expressed by me is not an official position of Microsoft

    Модератор
  • Добрый день!

    На зарубежных форумах этот вопрос не задавали, но кроме нашего сегмента интернета, перерыли все статьи и в зарубежном сегменте. 

    Вывод один, или создавали отдельное OU для выборки из него контактов, либо просто всем "наплевать" на служебные почтовые ящики в списке контактов.

    Но если Microsoft заявляет https://technet.microsoft.com/en-us/library/cc179232%28v=office.12%29.aspx?f=255&MSPPError=-2147217396 что это должно работать 

    Define a custom filter by using the registry
    Start the registry editor, and then search for the registry key 001e6624.
    Define a new LDAP search string as the registry key value, or replace the existing value.
    Exit the registry editor.

    для меня это значит, что это должно работать. 

    НО, ни на одном компьютере в домене это сделать не удалось. Вот по этому прошу помощи у технических специалистов на этом форуме.



    • Изменено zhuk09 8 июня 2017 г. 9:31