Exporting Gal to csv – Importing csv to Contacts

Exchange mimarisinde MultiForest yapısında bir proje gerçekleştiriyorsanız en önemli noktalardan birisi eski mimari ile yeni mimarinin birlikte çalışabilirliğidir.Yani belirli bir sayıda kullanıcı ve mailboxu yeni yapıya taşıdığınızda yeni yapıdaki userlar ile eski yapıdaki userlar sorunsuzca haberleşebilmeliler.Bunun sebebi migration projelerinin uzun döneme yayılmasıdır.

Burada çok önemli bir nokta da GAL senkronizasyonu.Yani;

Eski yapıdaki bir kullanıcıyı yeni yapıya taşıdığımızı düşünelim.Yeni yapıdaki GAL üzerinde sadece taşınan bu kullanıcının verisi var.Ama biz yeni yapıdaki kullanıcılarında eski adres desfterini görebilmesini istiyoruz.Burada aslında Microsoft’un Identity Integration Server ürününü kullanıp profesyonel bir şekilde GAL senkronizasyonunu gerçekleştirebiliriz.Ama elimizin altında bir yöntem daha bulunuyor.

Exchange 2007-2010 üzerinde varolan GAL’ı bir csv dosyasına istediğim sutunlar ile powershell üzerinde çalıştırdığım bir script yardımıyla export edebiliyorum.Ardından hedef exchange sunucumda bu csv dosyasını kullanarak kullanıcıları contact olarak ekleyebiliyorum.Böylece yeni yapımdaki kullanıcılar adres defterlerini açtığında hala eski domainde bulunan kullanıcılara ulaşabilecekler.Bunun için adım adım kullanabileceğimiz scripti paylaşalım;

Öncelikle yapıdaki tüm kullanıcı objelerini dışarıya aktaran powershell scriptimiz;
$contacts | export-csv contacts.csv -notype
$contacts = get-recipient -resultsize unlimited | select name,alias,primaryaddress

Burada select kısmından sonra istediğiniz sutunları seçebilirsiniz.Mesela csv içerisinde kullanıcıların manager bilgilerinide almak için manager değerini ekleyebilirsiniz.Tum sutunları get-recipient komutuyla görebilirsiniz.
resultsize parametresi ise get-recipient komutu sonrası çıktıların hepsini alabilmek için.Varsayılanda 1000 satır veri döndürecektir.

Şimdi yapmamız gereken ise elimizdeki bu dosyayı diğer forest altındaki exchange sunucusuna import etmek.

Import-CSV C:Contacts.csv | ForEach-Object { New-MailContact -Name $_."Name" -DisplayName $_."Name" -Alias $_."Alias" -ExternalEmailAddress $_."PrimarySmtpAddress" }

Yukarıda belirttiğim gibi eğer başka değişkenleride eklediyseniz import komutu ile birlikte bunlarıda belirtmeniz gerekli.Ben komutumda sadece name,alias ve mail adresi bölümlerini ekledim.

2 thoughts on “Exporting Gal to csv – Importing csv to Contacts

  1. Anil harikasın. ne zaman bir şey arasam ve senin blogunda çıksa hep çözüme ulaşıyorum. ne yazıyorsan dolu dolu ve çok kaliteli yazıyorsun. senin blogunu çok uzun zamandan beri takip ediyorum.
    başarıların devamını dilerim.

    gökhan çakır

Comments are closed.