2010-07-26 8 views
0

Exchange 2007 환경. 모든 사서함에는 로컬 연락처 복사본이 있습니다.Outlook 연락처의 전자 메일 주소를 변경하는 스크립트

단축하기 위해 도메인을 변경했는데 사용자가 로컬 연락처를 이동하고 변경하는 대신 각 로컬 연락처를 반복하는 스크립트를 작성하고 싶습니다. if 이메일 주소는 '@ oldemailaddress.com'으로 끝납니다. '@ newaddy.com'으로 변경하고 싶습니다.

같은 스크립트가 .n2k 파일을 열고 그 주소도 편집하면 좋을 것입니다.

이것이 가능합니까? 그것은 각 클라이언트에 대한 스크립트가 될 것인가 아니면 내 Exchange 2007 서버에서 실행할 수있는 스크립트 또는 cmd입니까 (n2k는 지원하지 않습니까)?

감사합니다.

답변

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." 
관련 문제