我正在尝试为Outlook 2010创build一个联系人列表,其中包含我公司中每个人的联系信息。 我打算保持列表最新,这意味着我将手动添加新的员工到联系人列表,并删除不再在这里工作的联系人。
联系人列表将驻留在Outlook联系人文件夹内的其自己的子文件夹中。
我想定期将这个联系人列表作为一个.csv文件导出,并允许公司的其他员工在他们自己的计算机上将其导入Outlook,从而为他们提供一个全面的,最新的公司联系人列表。
问题是,Outlook 2010只想合并联系人列表,而不是覆盖它们。 这意味着任何不在公司的联系人都不会从员工工作站上的联系人列表中删除。
有没有办法强制Outlook 2010覆盖联系人列表?
哦,我多么渴望Outlook 2003的日子和整洁的.pab文件。
这真的不是正确的做法。 你想要的是从LDAP服务器获取你的联系人 – 无论是Exchange或另一个你设置的。 (链接的文章是为Outlook 2007,但类似的信息可用于2010年)。
这可以确保每个人都可以随时获得最新的联系人(只要他们可以与LDAP服务器通话),并且所有变化都能及时获得。
如果由于某种原因,你不能使用LDAP(为什么?),你可以编写一个PowerShell脚本,删除所有的联系人,然后导入新的列表。
这样的东西应该适用于删除位:
olSession = (New-Object -ComObject Outlook.Application).Session $olSession.Logon('Outlook') #Outlook is the profile name $myContacts = $olSession.GetDefaultFolder($contactsFolder).Items foreach ($Contact in $myContacts) { $Contact.Delete() }
并且导入后可以立即编写脚本(或者现在执行它们)。
Disclaimer: I'm a unix guy and I know dick-all about PowerShell - This was modified from a script I found [here](http://www.powershellneedfulthings.com/?p=35), and is entirely untested.
好吧,首先,让我说,你在这里做什么还不太清楚,但是很痛苦地说明你做错了。
首先,因为听起来你没有Exchange服务器,我可能会build议找一个。 也许不是你pipe理自己,但你可以得到一个托pipe的Exchange解决scheme,这些天很便宜(我的一个小用户,约200用户支付低于5美元/邮箱/ GB,在一个非常好的数据中心与一个良好的托pipe公司支持他们向上)。 这将解决需要更新公司内部人员的联系人和电子邮件地址的问题,因为Exchange和AD将为您处理。
接下来,如果您真的想要维护一个手动列表的电子邮件用户的path,有一个更简单的方法来做到这一点。 这是office.microsoft关于如何设置与Outlook的联系人共享的教程 。 在你的情况下:
Company Address Book ,例如。 您将有一个中心位置去更新联系人,并且不必担心将更改推送给所有人,因为每个人在访问联系人文件夹时都会进行更改。
如果顺便说一句,你有一个Exchange服务器,请更新你的问题,我会更新我的答案。 有几个非常简单的方法可以用Exchange来实现,甚至可以达到一定的自动化水平,所以您不需要手动更新服务帐户的Outlookconfiguration文件中的联系人。