Miranda NG Official Community Forum

Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: Garry on 15 02 2017, 12:49:15

Title: Miranda 0.95.5 + Openfire 4.0.1 в AD и личные данные текущего пользователя
Post by: Garry on 15 02 2017, 12:49:15
Здравствуйте! Есть Miranda 0.95.5 build #17337 и Openfire 4.0.1 интегрированный в Active Directory.
Для других контактов в списке контактов информация отображается нормально. Например, ник, имя, фамилия, должность, организация, отдел и т.п. информация корректно дублируется из Active Directory:

(https://forum.miranda-ng.org/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F194858%2F365475.2d%2F0_133a8b_6ec535ae_XL.jpg&hash=d7dfc5d3584569429d5834fd78598878c16d9b17)
(https://forum.miranda-ng.org/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F111359%2F365475.2d%2F0_133a8c_1f817df6_XL.jpg&hash=c790a7e496ca32c0117fa76ad5e4676ca31f6716)

А вот в личных данных текущего пользователя есть только псевдоним и он равен логину пользователя в Active Directory. Имя, фамилия и прочие поля остаются пустыми.

(https://forum.miranda-ng.org/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F105284%2F365475.2d%2F0_133a8d_97f7d511_XL.jpg&hash=b19f82d88115ae7cf06e3e0238e639cc5efd71cf)
(https://forum.miranda-ng.org/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F53145%2F365475.2d%2F0_133a8e_65696494_XL.jpg&hash=e845a605c21fe0071a050ba42dbcde5be85ce246)

Ну и в окне бесед тоже отображается не имя с фамилией текущего пользователя, а его логин, что не очень хорошо:

(https://forum.miranda-ng.org/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F98619%2F365475.2d%2F0_133a91_f7c485de_XL.jpg&hash=479b6a28b253c8c2ef2ecd258e8326e1e3d0e569)

Можно ли как то загружать эту информацию, хотя б один раз при создании профиля в Miranda?

И второй вопрос - как отобразить имя и фамилию текущего пользователя? Например, в заголовке окна списка контактов. Может в настройках,
или плагин нужен, или еще что...

VersionInfo
Quote
CPU: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz [Intel64 Family 6 Model 63 Stepping 2] [DEP Enabled] [2 CPUs]
Installed RAM: 4096 MBytes
Microsoft Windows 7 Professional Edition, 64-bit service Pack 1 (build 7601)
Internet Explorer: 9.11.9600.18282 (build 99600)
Administrator privileges: No
OS Languages: (UI | Locale (User/System)) : Russian/Russian | Russian/Russian
Free disk space on Miranda partition: 4813 MBytes

Miranda NG version: 0.95.5 build #17337 x64 Build time: 27 Sep 2016 16:47:40
Profile: c:\Users\PetrovaAV\AppData\Roaming\jabber\jabber.dat (dbx mmap driver)
Profile size: 131072 Bytes
Profile creation date: 23 Jan 2017 16:34:52
Language pack: Russian (RU) [0419]
Service Mode: No

Active Plugins (24):
  Actman.dll v.0.3.0.1 [27 Sep 2016 18:47:41] - Action manager
  AdvaImg.dll v.0.11.0.2 [27 Sep 2016 16:46:10] - Miranda image services
  Alarms.dll v.0.4.0.5 [27 Sep 2016 18:45:54] - Alarms
  AVS.dll v.0.95.3.4 [27 Sep 2016 16:45:20] - Avatar service
  Clist_modern.dll v.0.9.1.5 [27 Sep 2016 16:46:14] - Modern contact list
  CrashDumper.dll v.0.0.5.2 [27 Sep 2016 16:46:10] - Crash dumper
  Db_autobackups.dll v.0.0.0.10 [27 Sep 2016 18:45:42] - Db autobackuper
  Dbx_mmap.dll v.0.95.3.1 [27 Sep 2016 16:45:22] - Miranda NG mmap database driver
  FavContacts.dll v.0.1.0.3 [27 Sep 2016 18:45:39] - Favorite contacts
  HistoryPP.dll v.1.5.1.5 [16 Sep 2016 14:11:55] - History++
  HistorySweeperLight.dll v.0.1.0.1 [27 Sep 2016 18:45:41] - History sweeper light
  Import.dll v.0.95.4.3 [27 Sep 2016 16:45:20] - Import contacts and messages
  Jabber.dll v.0.11.0.4 [27 Sep 2016 16:45:38] - Jabber protocol
  Pluginupdater.dll v.0.1.2.5 [27 Sep 2016 16:46:18] - Plugin updater
  QuickMessages.dll v.0.0.4.2 [27 Sep 2016 18:45:45] - Quick messages
  Quicksearch.dll v.1.4.2.0 [27 Sep 2016 18:47:43] - Quick Search
  RecentContacts.dll v.0.0.2.1 [27 Sep 2016 18:46:01] - Recent contacts
  Restart.dll v.0.0.6.0 [27 Sep 2016 18:46:17] - Restart
  SimpleAR.dll v.2.0.2.6 [27 Sep 2016 18:45:46] - Simple auto replier
  SmileyAdd.dll v.0.2.4.1 [27 Sep 2016 18:45:53] - SmileyAdd
  Spellchecker.dll v.0.2.6.4 [27 Sep 2016 18:46:21] - Spell checker
  TabSRMM.dll v.3.4.1.2 [27 Sep 2016 16:45:32] - TabSRMM
  TopToolBar.dll v.0.8.0.4 [27 Sep 2016 16:46:04] - TopToolBar
  YARelay.dll v.0.1.0.1 [27 Sep 2016 18:46:41] - YARelay

Unloadable Plugins (1):
  DbChecker.dll v.0.0.0.0 [27 Sep 2016 16:46:14] - <unknown>

Protocols and Accounts:
----------------------------------------------------------------------------
JABBER          1 - Enabled 0 - Disabled Loaded
Metacontacts       1 - Enabled 0 - Disabled Loaded

Icon Packs:
----------------------------------------------------------------------------
 Flags_icons.dll [27 Sep 2016 18:46:34]
 HistoryPP_icons.dll [27 Sep 2016 18:46:18]
 Proto_jabber.dll [27 Sep 2016 16:46:04]
 Proto_MetaContacts.dll [27 Sep 2016 16:46:54]
 TabSRMM_icons.dll [27 Sep 2016 16:46:18]
 Toolbar_icons.dll [27 Sep 2016 16:46:04]
 xStatus_jabber.dll [27 Sep 2016 16:45:30]
[close]
Title: Re: Miranda 0.95.5 + Openfire 4.0.1 в AD и личные данные текущего пользователя
Post by: Magic on 27 02 2017, 16:50:26
В качестве костыля - пользователь должен зайти один раз в свои Личные данные (Гл.меню - Личные данные), после этого его Vcard вытянется с сервера и будет отображаться нормально.
Title: Re: Miranda 0.95.5 + Openfire 4.0.1 в AD и личные данные текущего пользователя
Post by: Garry on 13 03 2017, 10:46:41
В итоге проблему решил, написав скрипт, который выдергивает из AD выводимое имя текущего пользователя или DisplayName
затем заполняет этим значением, поля TitleText (т.е. заголовок списка контактов) и Nick в файле autoexec_NickName.ini
Перед этим скрипт:
- создает папку профиля пользователя Miranda;

Затем:
- создает папку ReceivedFiles для приема файлов;
- копирует в папку профиля файлы настроек autoexec_CUSTOM.ini из папки программы. Этот файл получил настроив Miranda, как мне нужно и затем экспортировав БД в файл в DBEditorPP. Некоторые параметры все ж пришлось дозаполнить вручную, например путь к папке для приема файлов. Еще удалил все персональные настройки пользователя из autoexec_CUSTOM.ini - например, логин;
- в завершении скрипт удаляет самого себя.

Скрипт
Option Explicit

Dim fso, ts, objSysInfo, strUserDN, strUserName, objUser, wshShell, strDisplayName, strN, strT, strPath, strDir, strScript, strMirandaProfile

Const ForWriting = 2
 
 
Set objSysInfo = CreateObject("ADSystemInfo")

strUserDN = objSysInfo.UserName

Set objUser = GetObject("LDAP://" & strUserDN)

Set wshShell = CreateObject( "WScript.Shell" )
strDisplayName = objUser.DisplayName
strUserName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
strN = "Nick=s" + strDisplayName
strT = "TitleText=s" + strDisplayName
strPath = "c:\Users\" + strUserName + "\AppData\Roaming\jabber\autoexec_NickName.ini"
strMirandaProfile = "c:\Users\" + strUserName + "\AppData\Roaming\jabber"
strDir = "c:\Users\" + strUserName + "\Documents\ReceivedFiles"
strScript = "c:\Users\" + strUserName + "\GetDisplayName.vbs"

Set fso = CreateObject("Scripting.FileSystemObject")
fso.createfolder strMirandaProfile

Set ts = fso.OpenTextFile(strPath, ForWriting, True)
  ts.WriteLine"SETTINGS:"
  ts.WriteBlankLines(1)
  ts.WriteLine"[CList]"
  ts.WriteLine(strT)
  ts.WriteBlankLines(1)
  ts.WriteLine"[JABBER]"
  ts.WriteLine(strN)
  ts.Close


fso.createfolder strDir
fso.copyfile "c:\Program Files\Miranda NG\autoexec_CUSTOM.ini", strMirandaProfile & "\", 1
fso.DeleteFile strScript, True
[close]

В mirandaboot.ini указать:
DefaultProfile=jabber

путь к файлам настройки:
Glob=c:\Users\%USERNAME%\AppData\Roaming\jabber\autoexec_*.ini

и еще указал, что файлы одноразовые, по окончании настройки их нужно удалить:
OnCompletion=delete

После создания и копирования всех нужных файлов autoexec_*.ini запускаем Miranda. Она подхватит все настройки и будет готова к работе.