Exchange 2007环境。每个邮箱都有自己的本地联系人副本。
我刚刚更改了域名以缩短域名,而不是让用户进入并更改其本地联系人,我想编写一个脚本来遍历每个本地联系人,如果电子邮件地址以“@ oldemailaddress.com”结尾。我想将其更改为“@ newaddy.com”。
如果同一个脚本打开他们的.n2k文件并编辑这些地址也会很好。
这可能吗?它是每个客户端的脚本还是我可以在我的Exchange 2007服务器上运行的脚本或cmd(没有n2k)?
谢谢!
答案 0 :(得分:0)
我想我自己找到了解决方案。
Const olFolderContacts = 10
sOldDomain = "@olddomain.com"
sNewDomain = "@newdomain.com"
Set oOutlook = CreateObject("Outlook.Application")
Set oNamespace = oOutlook.GetNamespace("MAPI")
Set oContactFolder = oNamespace.GetDefaultFolder(olFolderContacts)
For Each item in oContactFolder.Items
If InStr(1, item.Email1Address, sOldDomain, vbTextCompare) > 0 Then _
item.Email1Address = Replace(item.Email1Address, sOldDomain, sNewDomain, 1, 1, vbTextCompare)
If InStr(1, item.Email2Address, sOldDomain, vbTextCompare) > 0 Then _
item.Email2Address = Replace(item.Email2Address, sOldDomain, sNewDomain, 1, 1, vbTextCompare)
If InStr(1, item.Email3Address, sOldDomain, vbTextCompare) > 0 Then _
item.Email3Address = Replace(item.Email3Address, sOldDomain, sNewDomain, 1, 1, vbTextCompare)
item.Save
Next
Wscript.Echo "Finished."