PowerShell Kullanarak Kişileri Exchange Online'a (Office 365) Toplu İçe Aktarma | Bölüm 1#2
Exchange tabanlı ortamda, "harici kişiler" veya yalnızca "kişiler" terimi, E-posta adreslerinin harici bir E-posta adresi (kuruluş dışı E-posta adresi) olduğu bir Exchange alıcı nesnesini tanımlar.
Örneğin - tedarikçiler, iş ortakları, müşteriler vb.
Varsayılan olarak, "harici kişiler", GAL'in (genel adres listesi) bir parçası olarak, posta kutusu, dağıtım grupları vb. olan Exchange kuruluşu alıcıları gibi "standart" kuruluş alıcılarının yanında görünür.
PowerShell betiğini kullanarak Kişileri Exchange Online'a (Office 365) Toplu İçe Aktarma | Makale Serisi
- PowerShell Kullanarak Kişileri Exchange Online'a (Office 365) Toplu İçe Aktarma | Bölüm 1#2 (bu makale)
- PowerShell betiğini kullanarak Kişileri Exchange Online'a (Office 365) Toplu İçe Aktarma | Bölüm 2#2
Posta kişilerini Exchange Online'a aktarma
Exchange dışı bir posta altyapısından geçiş yaptığımız bir senaryoda, en yaygın gereksinimlerden biri tüm "posta kişisi alıcılarını" yeni posta altyapısı anlamına gelen Exchange Online'a aktarmaktır.
Posta kişilerini Exchange Online'a "aktarma" seçeneği aşağıdaki seçeneklerden biri aracılığıyla uygulanabilir:
1. Exchange Online'da posta kişilerinden her birini manuel olarak oluşturma.
Önemli miktarda mail kişisinden bahsediyorsak Exchange Online'da bu kişiyi manuel olarak oluşturduğumuz “manuel” seçeneği istenilen seçim değildir. Yorucu bir iş olarak kabul edilen bu görev, insan hatasına (yazım hatası vb.) maruz kalabilmektedir.
2. Üçüncü taraf bir içe aktarma aracı kullanma.
Mevcut posta altyapısından Exchange Online'a posta geçişinizi gerçekleştirmek için üçüncü taraf bir araç kullanmanız durumunda, bu "posta geçiş uygulamasının" çoğu, mevcut kişi listesini Exchange Online GAL'e aktarmanıza yardımcı olacak modeller içerir.
3. Exchange Online - PowerShell komutlarını kullanma.
Exchange çevrimiçi ortamı bize "kişiler" nesnesini içe aktarmak için yerleşik bir çözüm sunar.
İlk aşama, mevcut posta altyapısındaki bilgilerin CSV dosyasına aktarılmasıyla gerçekleştirilir.
İkinci aşama, kişi hakkındaki bilgileri CSV dosyasından Exchange Online sunucumuza aktaran bir PowerShell komutu kullanılarak gerçekleştirilir.
Mevcut makale ve bir sonraki makale, PowerShell kullanarak toplu kişi içe aktarma görevini uyguladığımız “Exchange Online yöntemine” ayrılmıştır.
Karşılaştığımız zorluklar
1. Şu anda Exchange Online, gerekli iletişim bilgilerini CSV dosyasından içe aktarmamızı sağlayacak bir grafik arayüz içermiyor.
Mevcut tek seçenek, "içe aktarma iletişim görevini" uygulayacak bir "PowerShell komutları kümesi" kullanmaktır. Bu iş için kullandığımız PowerShell komutları yeni PowerShell kullanıcıları için karmaşık ve o kadar da basit olmayabilir.”
2. CSV dosyasındaki iletişim bilgileri belirli bir veri yapısı biçiminde saklanmalıdır. Örneğin, Exchange Online, her ilgili kişinin bir E-posta adresine ve bir "adına" sahip olması gerektiği yönünde zorunlu bir gereklilik belirler (diğer standart terimler şunlardır: Görünen ad, Tam ad) ).
Karşılaştığımız zorlukların çözümü
1. Mevcut makalede şunları inceleyeceğiz:
Kişi CSV dosyasından bilgileri içe aktarmak için gerekli PowerShell komut söz dizimini kullanma ve bu PowerShell komutunun mantığını ve yapısını tartışma
Bir sonraki yazımızda, karmaşık PowerShell komutlarıyla çalışma işini basitleştirebilecek, oluşturduğum PowerShell betiğinin nasıl kullanılacağını inceleyeceğiz.
2. Bu yazımızda “içe aktarma aşaması” için hazırlamamız gereken CSV dosyasının gerekli veri yapısını inceleyeceğiz.
Bir sonraki makalede, kişi CSV dosyasındaki verileri yönetmeye ve işlemeye yönelik bazı püf noktalarını inceleyeceğiz.
CSV dosyasını kullanarak Toplu kişileri içe aktarmayı uygulama
“Toplu İçe Aktarma” seçeneği, yüzlerce hatta binlerce posta kişisi hakkındaki bilgileri önceki bir posta altyapısından Exchange Online'a hızlı ve verimli bir şekilde taşımamızı sağlar.
Bilgileri "önceki posta altyapısından" aktarma şeklimiz, kullandığımız uygun posta altyapısına bağlıdır.
“Dışa aktarılan veriler” ile ilgili bilmemiz gereken önemli nokta, verilerin CSV formatı kullanılarak dışa aktarılması gerektiğidir.
CSV terimi, virgülle ayrılmış değer anlamına gelir. CSV formatı, tablo kavramına benzer bir veri yapısını tanımlar.
Aşağıdaki ekran görüntüsünde bir CSV dosyası örneğini görebiliriz
Bilgiler “sütun başlığını” (A) ve “veri satırlarını” (B) içerir.
Örneğin - aşağıdaki değerler “sütun başlığıdır”:
HariciEpostaAdresi, Ad, Ad, Soyadı
“Sütun başlığı” bölümünün altında görünen değerler, farklı sütunları dolduran değerlerdir.
Örneğin, şu dize - darrenp@fabrikam.com, Darren Parker, Darren, Parker şöyle olacaktır: şu şekilde “tercüme edilmiştir”:
- ExternalEmailAddress
darrenp@fabrikam.com
- Name
Darren Parker
- FirstName
Darren
- LastName
Parker
Aşağıdaki ekran görüntüsünde, dosyayı düzenlemek için Excel'i kullandığımızda aynı CSV dosyasını görebiliriz.
Bir CSV dosyasını düzenlemek için Excel'i kullanırken bilgilerin daha kolay anlaşılır bir biçimde sunulduğunu fark etmek kolaydır.
Exchange Online harici iletişim nesnesi ve zorunlu veri alanları
Exchange tabanlı ortamdaki "harici kişi nesnesi", ad, E-posta adresi, telefon numarası, ofis adresi ve çok daha fazlası gibi
birçok özelliği içerebilir.
Vurgulamak istediğim önemli nokta, Exchange Online tabanlı ortamda “harici iletişim nesnesinin” üç zorunlu veri alanına sahip olması gerektiğidir:
- *Ekran adı:
- *Takma ad:
- *Harici e-posta adresi:
Aşağıdaki ekran görüntüsünde, bu zorunlu veri alanlarını, bunların zorunlu bir veri alanı olduğunu "bize söyleyen" yıldız işaretiyle görebiliriz.
Mesele şu ki, kullandığımız mevcut posta altyapısından iletişim verilerini dışarı aktarırken, dışarı aktarılan verilerin bu “veri alanlarını” içerdiğinden emin olmalıyız.
Teknik olarak, dışa aktarılan verilerin “Takma ad " alanını içermesine gerek yoktur ancak şunu içermesi gerekir: aşağıdaki veri alanları:
- Harici E-posta Adresi (CSV dosyamızda bu alan,
ad - ExternalEmailAddress). - Görünen ad (CSV dosyamızda bu alan, sütun başlığı adı kullanılarak görünür - Ad).
Ek zorunlu veri alanı olan "Takma Ad" hakkında ne olduğunu merak ediyorsanız yanıt şudur: Dışa aktarılan veriler (CSV dosyası) bu alanı içermiyorsa, Exchange Online'a aktarma işlemini "bilin" “Takma Ad” alanının otomatik olarak nasıl oluşturulacağı.
CSV dosyasından içe aktarma işlemi, CSV alanında saklanan değeri alacaktır: “Ad” yazın ve bu değeri “Alias” değeri için kullanın.
Daha doğru olmak gerekirse, içe aktarma işlemi ad alanından iki ayrı kelimeyi (özel ad ve soyadı) alacak, bu iki kelime arasındaki boşluğu kaldıracak ve "yeni bir değer" oluşturacaktır. “Takma ad“.
Aşağıdaki ekran görüntüsünde, CSV dosyasında depolanan veriler ile Exchange Online "harici kişi nesnesi" arasında uygulanan "eşleme mantığının" bir örneğini görebiliriz.
Şuna dikkat edin:
- CSV dosyasında görünen alan adları (satır başlığı), Exchange Online harici kişi alanı adlarından farklıdır.
- CSV dosyası "Takma Ad" alanını içermiyor. "Ad" alanında ona değer sağlarsak, içe aktarma işlemi bu alanı otomatik olarak oluşturacaktır.
PowerShell işlem mantığını kullanarak harici kişi bilgilerini Exchange Online'a aktarın
Harici iletişim bilgilerini CSV dosyasından Exchange Online'a aktarmamız süreci iki farklı aşamadan oluşur:
Aşama 1 - bu aşamada, Exchange Online'da gerekli harici kişi "nesnesini" oluşturmak için PowerShell kullanılarak uygulanan içe aktarma işlemini kullanırız.
Bu aşamada, içe aktarma işlemi yalnızca belirtilen zorunlu alanlarla ve ek sütunla (FirstName<) adlı sütunla ilgilidir. ve Soyadı.
Başka bir deyişle, PowerShell içe aktarma işlemi CSV dosyasındaki bilgilerin geri kalanını "yok sayar".
2. Aşama - bu, ilk adımda "göz ardı edilen" eksik verileri "doldurduğumuz" aşamadır.
PowerShell içe aktarma işlemi, telefon numarası, ofis adresi vb. gibi "ek verileri" mevcut Exchange Online harici kişilerine ekler.
Aşağıdaki ekran görüntüsünde, içe aktarmamız gereken kişilerle ilgili bilgileri içeren bir CSV dosyası örneğini görebiliriz.
İlk aşamada “zorunlu veri alanları” + - FirstName adlı sütunu kullanıyoruz ve Soyadı.
İkinci içe aktarma aşamasında, veri alanının geri kalanı (renkli) turuncu) mevcut Exchange kişileriyle birleştirilecektir.
Görevin uygulanması - PowerShell kullanarak harici iletişim bilgilerini Exchange Online'a aktarma
“PowerShell kullanarak harici iletişim bilgilerini Exchange Online’a içe aktarma” görevini uygulamak için tamamlamamız gereken görev listesi aşağıdaki görevleri içerir:
- Kişi bilgilerini mevcut posta altyapınızdan CSV dosyasına aktarın.
- CSV dosyasının, bilgileri Exchange Online'a aktarmak için kullandığımız gerekli veri yapısını içerdiğini doğrulayın. Örneğin, sütun başlığının adı ve zorunlu alanlar.
- Exchange Online PowerShell'e bağlanın
- Bilgileri CSV dosyasından içe aktaracak ve Exchange Online'da harici kişiyi oluşturacak "Aşama 1" PowerShell komutlarını çalıştırın.
- CSV dosyasından telefon numarası gibi "ek bilgileri" içe aktaracak ve bilgileri sırasıyla mevcut harici kişiye dolduracak "Aşama 2" PowerShell komutlarını çalıştırın.
1. Exchange Online PowerShell'e bağlanın
Güncel makalede belirtilen PowerShell komutlarını çalıştırabilmek için Exchange Online PowerShell'e bağlanmanız gerekecektir.
Windows PowerShell'i yönetici olarak başlatın ve Connect-ExchangeOnline cmdlet'ini çalıştırın.
Connect-ExchangeOnline2. Exchange Online'da harici kişiler nesnesini oluşturun
Verileri mevcut CSV dosyasından içe aktarmak için kullandığımız PowerShell komut sözdizimi şöyledir:
Import-Csv <Path> | ForEach {New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}PowerShell betiği iki ayrı bölümden oluşur:
İlk bölüm, bilgilerin CSV dosyasından içe aktarılmasından ve bu bilgilerin masaüstü RAM'indeki (Import-Csv) geçici bir depoya kaydedilmesinden sorumludur.
PowerShell betiğinin ikinci kısmı aşağıdakilerden sorumludur:
- Önceki adımda alınan bilgileri getir
- Bu bilgilere dayanarak Exchange Online'da yeni bir harici kişiler nesnesi oluşturmaya başlayın (Yeni-MailContact)
PowerShell içe aktarma işlemi, CSV dosyasının her "satırını" okuyarak, Exchange Online'da gerekli kişi nesnesini oluşturarak ve içindeki "son satıra" ulaşana kadar işlemi tekrar tekrar tekrarlayarak bir "döngü" (ForEach) uyguluyor. CSV dosyası.
Anlamamız gereken ek bir kavram da "eşleme sürecidir."
Senaryomuzda, CSV dosyasındaki bilgileri Exchange Online'daki "harici kişiyle" eşleştiririz.
- “Kırmızı” parametreleri, Exchange Online tarafından kullanılan veri alanlarının adıdır.
- “Mavi” parametreleri, CSV dosyasında görünen sütun başlıkları adlarıdır. Teknik olarak konuşursak, CSV dosyasındaki sütun başlıklarının adı yalnızca bizim seçtiğimiz rastgele bir addır. Sütun başlığı adını boşluksuz kullanma önerisi dışında kullanmamız gereken özel bir adlandırma kuralı yoktur.
Aşağıdaki ekran görüntüsünde PowerShell konsolunda (Exchange Online PowerShell’e bağlandıktan sonra) çalıştırdığımız PowerShell komutunun bir örneğini görebiliriz.
Komut, bilgileri CSV dosyasından okur (senaryomuzda dosya c:\temp klasörüne kaydedilir ve dosya adı ExternalContacts_01.csv'dir).
Aşağıdaki ekran görüntüsünde Exchange Online'da başarıyla oluşturulan kişiyi görebiliriz.
3. Harici kişilerin özellikleri hakkında bilgi ekleyin
Bu aşamada, ilk aşamada oluşturulan harici iletişim nesnesini Ofis telefonu, Ev telefonu, Şehir vb. özellik bilgileriyle “dolduruyoruz”.
Bu aşamada CSV dosyalarından aynı "bilgi içe aktarma" konseptini kullanıyoruz ancak şimdi PowerShell komutunu kullanıyoruz - Set-Contact
Kişi zaten oluşturuldu ve bu aşamada mevcut Exchange Online kişisini güncellememiz (Set-Contact) gerekiyor.
PowerShell, CSV dosyasında bulunan her bir kişiyle ilişki kurması gerektiğini "bilir" çünkü ona bir döngüde (ForEach) çalışmasını ve "altında" görünen tüm kişileri bulması talimatını veririz. ” sütun Adı (Set-Contact $_.Name).
Kullandığımız komutun PowerShell sözdizimi şöyledir:
$Contacts = Import-CSV <path>
$contacts | ForEach {Set-Contact $_.Name -StreetAddress $_.StreetAddress -City $_.City -StateorProvince $_.StateorProvince -PostalCode $_.PostalCode -Phone $_.Phone -MobilePhone $_.MobilePhone -Pager $_.Pager -HomePhone $_.HomePhone -Company $_.Company -Title $_.Title -OtherTelephone $_.OtherTelephone -Department $_.Department -Fax $_.Fax -Initials $_.Initials -Notes $_.Notes -Office $_.Office }Aşağıdaki ekran görüntüsünde "faz 2"de çalıştırdığımız
PowerShell komutunun bir örneğini görebiliriz:
Aşağıdaki ekran görüntüsünde ikinci aşamanın da başarıyla tamamlandığını görüyoruz. İlk aşamada oluşturulan kişiye eklenen iletişim bilgileri.
Şu adlı örnek Excel dosyasını indirebilirsiniz: HariciContacts_01.csv.
Bir sonraki makalede, PowerShell betiğini kullanarak Kişileri Exchange Online'a (Office 365) Toplu İçe Aktarma konusuna bakacağız | Bölüm 2#2.












