可以研究一下 LDAP + Radius 相關的關鍵字。
下方連結可以參考
https://www.richesinfo.com.tw/index.php/mxmail/mxmail-manuals/account-management/ldap-setup
有人會寫程式嗎?如果會,用MAPI,把HR資料庫裡的員工電子郵箱變成電腦上的連絡人清單,是OK的
using Outlook = Microsoft.Office.Interop.Outlook;
private static void 新增連絡人(string 工號, string 部門, string 姓名, string 郵箱)
{
Outlook.Application outlookApp = new Outlook.Application();
Outlook.NameSpace outlookNS = outlookApp.GetNamespace("MAPI");
int nowhour = DateTime.Now.Hour;
if (!連絡人存在嗎(郵箱, false))
try
{
Outlook.ContactItem newContact = (Outlook.ContactItem)
outlookApp.CreateItem(Outlook.OlItemType.olContactItem);
newContact.LastName = $"{姓名}";
newContact.FirstName = $"{工號}";
newContact.Email1Address = $"{姓名}{工號} ({郵箱})";
newContact.Email1DisplayName = $"{姓名}{工號} {郵箱}";
newContact.CompanyName = "XX集團";
newContact.Department = 部門;
newContact.FileAs = $"{姓名}{工號}@XX集團";
newContact.Account = $"{姓名}{工號}@XX";
newContact.Save();
}
catch
{
Console.WriteLine("錯誤: 這個連絡人[{0}]無法新增(可能存在)", 姓名);
}
}
private static bool 連絡人存在嗎(string 信箱, bool ifDel = false)
{
Outlook.Application outlookApp = new Outlook.Application();
Outlook.NameSpace outlookNS = outlookApp.GetNamespace("MAPI");
Outlook.MAPIFolder contactsFolder =
outlookNS.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderContacts);
Outlook.Items contactItems = contactsFolder.Items;
try
{
Outlook.ContactItem contact =
(Outlook.ContactItem)contactItems.
Find(String.Format("[Email1Address]='{0}'", 信箱));
if (contact != null)
{
if (ifDel)
{
contact.Delete();
while (true)
{
if (!連絡人存在嗎(信箱, ifDel)) break;
}
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
catch (Exception ex)
{
return false;
}
}
至於HR資料庫要怎麼爬,兄弟這是你們要自己努力的~~
我設定工作排程,每天中午吃飯時間執行一次這支程式,500人約2分鐘
PS:這支程式在OFFICE2013到365都測試OK
公司有Windows Server 是否可以在主機建立通訊錄,讓所有使用者透過IP去下載?
程式部分看不太懂...也不知道如何運行,是從Office 365設定還是直接執行即可? 這方法是否也是需要用到Exchange? 謝謝
不用AD/LDAP,只是把你們自己的資料庫裡的EMAIL導出成個人連絡人內容而已,MAPI可獨立執行,不用同時也開OUTLOOK/365,我個人也是用365,其他人用OFFICE 2013裡的OUTLOOK,完全支援沒問題
當然不建議寫個直接連資料庫抓資料庫的程式做這件事,如果你的CODING能力OK的話,替你們自己的資料庫,建個WEB API!讓你這支通訊錄同步工具有辦法不透過1433就可以抓到HR資料
很難懂?那你該加油了,不然會吃很久的菜鳥包