Exchange 2007'ye ma...
 
Bildirimler
Hepsini Temizle

Exchange 2007'ye mail contact import etmek.  

  RSS
Eyup Gundogan
(@EyupGundogan)
Üye

Selam,

Excelde hazırlanmış yaklaşık 250 adet e-mail contact bilgilerini (Ad, Soyad ve e-mail adres) içeren bir liste mevcut. Bu listedeki bilgileri exchange 2007 server'a nasıl import ederek ekleyebilirim.

İyi günler,

Alıntı
Gönderildi : 14/10/2010 17:03
Bugra KESKIN
(@bugrakeskin)
Saygın Üye

Merhaba

aşağıda ki linkten yararlanabilirsiniz. Ancak exchange 2007 en az sp1 olması gerekir. import-contact çaışabilmesi için.

http://www.thedailyadmin.com/2008/03/import-csv-contacts-exchange-2007.html

CevapAlıntı
Gönderildi : 14/10/2010 17:10
Eyup Gundogan
(@EyupGundogan)
Üye

Teşekkür ederim.

CevapAlıntı
Gönderildi : 14/10/2010 18:55
CozumPark
(@cozumpark)
Onursal Üye Yönetici

merhabalar

başarılı sonuçlarınızı burada paylaşırsanız seviniriz.

kolay gelsin

CevapAlıntı
Gönderildi : 15/10/2010 14:24
Eyup Gundogan
(@EyupGundogan)
Üye

Makaleyi okudum. Ancak planan contact import işlemi iptal oldu. Daha sonra böyle bir işlem olursa yapılan işlemler ve sonuçları hakkında bilgi vereceğim.

İyi günler.. 

CevapAlıntı
Gönderildi : 15/10/2010 14:30
CozumPark
(@cozumpark)
Onursal Üye Yönetici

teşekkürler

CevapAlıntı
Gönderildi : 15/10/2010 14:31
Recep YÜKSEL
(@recepyuksel)
Kıdemli Üye Forum Yöneticisi

Arkadaşlar Merhaba,


Bu konuda daha önce 4800 adresi eklemek zorunda kaldığım için bir arkadaşımda internetten bulduğumuz bir script ve bilgiyi birlikte yeniden düzenleyerek hazırladığımız script ve excel dosyası ile EXC2003 ve EXC 2010 üzerinde denemiş ve sorunsuz ekleme işlemini gerçekleştirmiştik. Ben exchange 2003 üzerine eklemiştim, EXC 2010 üzerinde ihtiyacı olan başka bir arkadaşımla paylaştığımda deneyip oda olumlu sonuç almıştı denemenizi tavsiye ederim.


Özetle aşağıdaki gibi işlem gerçekleştirmiştik;
 


- Domain üzerinde root'ta Test ismi ile bir OU yaratınız (once buraya atsın sonra buradan contakları sonra başka ou'lara move edebilirsiniz)


- Scripti çalıstıracagınız makinada(server ise) büyük ihtimalle ms excel kurulu değildir yok ise kurunuz veya kurmak istemiyorsanız kendi sahsi bilgisayarınızı domain admin kullanıcısı veya AD'e admin olan bir kullanıcı hesabı ile logon olunuz. 


- Scripti çalıstırdığınızda script bu excel file'ı açacak ve buradaki satırlardaki bilgilere göre tek tek AD contackt ları ekleyecektir ekleme işlemi bitince son satırıda ekledikten sonra otomatik olarak kapanacaktır.
Bundan sonra AD üzerindeki Test OU içerigini kontrol edebilirsiniz. Bu contacları istediğiniz başka bir alana taşıyabilirsiniz.  


Not:


1. Excel file içindeki bilgilere ek olarak başka başlıklar alanlar eklemeniz gerekiyorsa eklediğiniz başlıkları hem excel'e hemde script içine uygun yerlere eklemeniz gerekmektedir.


2. Kullanıcı isimleri içinde . , ve boşluk gibi karakterler olmamalıdır. Bunların olduğu satırda script hata verip devam etmiyor bu satırı düzeltip bundan sonrasındaki kayıtlar için tekrar script'i çalıştırmanız gerekmektedir. Daha önce oluşturulan kayıtları Excel file içerisinden silerseniz iyi olur.  



Contac sayısı çok fazla ise ve bütün contakları default global adrest list'te görmek firma içerisinde sorun yaratacak ise bunun içinde biraz  uğraşmanız gerkecektir. Eğer ihtiyacınız olursa onuda nasıl çözdüğümü ayrıca yazarım.


 


Script içeriği aşağıdaki olduğu gibi alıp contactekle.vbs adında bir dosya oluşturup içerisine kopyalayınız ve kayıt edin. 


 


'====================
If LCase(Right(Wscript.FullName, 11)) = "wscript.exe" Then
      strPath = Wscript.ScriptFullName
      strCommand = "%comspec% /k cscript  """ & strPath & """"
      Set objShell = CreateObject("Wscript.Shell")
      objShell.Run(strCommand), 1, True
      Wscript.Quit
End If


' Bind to Active Directory.
Set objRootLDAP = GetObject("LDAP://rootDSE")


' CONFIGURATION PARAMETERS FOR THE SCRIPT
' ******** CONTACTS *************
strExcelFile = Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "ContactListesi.xls"
strContactOUPath = "OU=Test," & objRootLDAP.Get("defaultNamingContext")
' END CONFIGURATION PARAMETERS


Const xlUp = -4162
Const ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Const ADS_PROPERTY_CLEAR = 1
Const ADS_PROPERTY_UPDATE = 2
Const ADS_PROPERTY_APPEND = 3
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Open strExcelFile


Set objNetwork = CreateObject("WScript.Network")
strDomainName = objNetwork.UserDomain


For intRow = 2 To objExcel.ActiveSheet.Cells(65536, "A").End(xlUp).Row


      strFirstName = Trim(objExcel.ActiveSheet.Cells(intRow, "A").Value)
      strLastName = Trim(objExcel.ActiveSheet.Cells(intRow, "B").Value)
      strFullName = Trim(objExcel.ActiveSheet.Cells(intRow, "C").Value)
      strUserNameHeading = Trim(objExcel.ActiveSheet.Cells(1, "D").Value)
      strUserName = Trim(objExcel.ActiveSheet.Cells(intRow, "D").Value) & strUserNameHeading
      strEmail = Trim(objExcel.ActiveSheet.Cells(intRow, "E").Value)
      strDescription = Trim(objExcel.ActiveSheet.Cells(intRow, "F").Value)
      strAlias = strFirstName & strLastName
      strOffice = Trim(objExcel.ActiveSheet.Cells(intRow, "G").Value)
      strMobile = Trim(objExcel.ActiveSheet.Cells(intRow, "H").Value)
      strTitle = Trim(objExcel.ActiveSheet.Cells(intRow, "I").Value)
      strDepartment = Trim(objExcel.ActiveSheet.Cells(intRow, "J").Value)
      strCompany = Trim(objExcel.ActiveSheet.Cells(intRow, "K").Value)
      strAddress = Trim(objExcel.ActiveSheet.Cells(intRow, "L").Value)
      strCity = Trim(objExcel.ActiveSheet.Cells(intRow, "M").Value)
      strState = Trim(objExcel.ActiveSheet.Cells(intRow, "N").Value)
      strZipCode = Trim(objExcel.ActiveSheet.Cells(intRow, "O").Value)
      strCountry = Trim(objExcel.ActiveSheet.Cells(intRow, "P").Value)
      strHomePhone = Trim(objExcel.ActiveSheet.Cells(intRow, "Q").Value)
     
      'strFirstName = Trim(Left(strFullName, InStrRev(strFullName, " ") - 1))
      'strLastName = Trim(Mid(strFullName, InStrRev(strFullName, " ") + 1))
           
      If strFullName <> "" And strUserName <> "" Then
           
            WScript.Echo "About to create:" & VbCrLf &_
                  strFullName & VbCrLf &_
                  strFirstName & VbCrLf &_
                  strLastName & VbCrLf & _
                  strUserName & VbCrLf &_
                  strPassword & VbCrLf &_
                  "LDAP://" & strContactOUPath
                 
            ' This will add the user to eg. Domain.Local\Users
            Set objContainer = GetObject("LDAP://" & strContactOUPath)
           
            ' ********** CONTACT CREATION *************
            Set objContactsContainer = GetObject("LDAP://" & strContactOUPath)
           
            ' Check if the contact already exists
            On Error Resume Next
           
            Set objNewContact = GetObject("LDAP://cn=" & strFullName & "," & strContactOUPath)
            If Err.Number = 0 Then
                  WScript.Echo "Contact " & strFullName & " already exists."
                  On Error GoTo 0
               Else
                  Err.Clear
                  On Error GoTo 0
                 
                  ' Build the actual Contact.
                  Set objContact = objContactsContainer.Create("Contact","cn=" & strFullName)
                  objContact.Put "Mail", strEmail
                  objContact.Put "givenName", strFirstName
                  objContact.Put "sn", strLastName
                  objContact.Put "mailNickname", Cstr(strAlias)
                  objContact.Put "targetAddress", "SMTP:" & strEmail
                  On Error Resume Next
                  objGroup.PutEx ADS_PROPERTY_CLEAR, "proxyAddresses", 0
                  objContact.SetInfo
                  On Error GoTo 0
                  objContact.PutEx ADS_PROPERTY_APPEND, "proxyAddresses", Array("SMTP:" & strEmail,"SMTP:" & strAlias & "@" & Mid(Replace(objRootLDAP.Get("defaultNamingContext"), "DC=", "."), 2))
                  objContact.SetInfo
                  If strOffice <> "" Then objContact.Put "physicalDeliveryOfficeName", strOffice
                  If strDescription <> "" Then objContact.Put "description", strDescription
                  If strMobile <> "" Then objContact.Put "mobile", strMobile
                  If strTitle <> "" Then objContact.Put "title", strTitle
                  If strDepartment <> "" Then objContact.Put "department", strDepartment
                  If strCompany <> "" Then objContact.Put "company", strCompany
                  If strAddress <> "" Then objContact.Put "streetAddress", strAddress
                  If strCity <> "" Then objContact.Put "l", strCity
                  If strState <> "" Then objContact.Put "st", strState
                  If strZipCode <> "" Then objContact.Put "postalCode", strZipCode
                  ' ISO Country Code list: http://www.iso.org/iso/english_country_names_and_code_elements
                  If strCountry <> "" Then objContact.Put "c", strCountry
                  If strHomePhone <> "" Then objContact.Put "homePhone", strHomePhone
                 
                  objContact.SetInfo
                  WScript.Echo "Contact " & strAlias & " created."
            End If
      End If
Next


WScript.Echo "Done"
objExcel.ActiveWorkbook.Close False
objExcel.Quit
Set objExcel = Nothing
'=========================


 


 


Excel File içeriği ContactListesi.xls (bu onemli scrip içinde bu dosya adı geciyor ve script bu dosyayı yanında arayacak) isminde bir file oluşturup içerisini aşağıdaki gibi doldurunuz.  FirsName A1'de olmalı, eklenecek bilgileride alt alta eklerseniz buradaki verdiğiniz bilgiler dahilinde oluşturulan contact içerisine bu eklemeler yapılıyor.




































FirstNameLast NameFull NameUser NameEmailDescriptionOfficeMobiletitleDepartment
RecepYUKSELRecep YUKSELRecep.YUKSELrecep@recep.comAcıklamaBolumuAnkaraMerkez90 530 555 5555Sistem Destek UzmanıBilgi Teknolojileri


Eğer imkan bulup test edebilirseniz testleriniz sonrası EXC 2007'de nasıl bir sonuç aldığınızı öğrenmek isterim. 


Saygılarımla.

************************************************************
Probleminiz çözüldüğünde sonucu burada paylaşırsanız,
sizin ile aynı problemi yaşayanlar için yardım etmiş olursunuz.
Eğer sorununuz çözüldü ise "çözüldü" olarak işaretlerseniz
diğer üyeler için çok büyük kolaylık sağlayacaktır.
************************************************************

CevapAlıntı
Gönderildi : 16/10/2010 03:11
Paylaş: