Exchange veya Office 365 Genel Adres Listesini (GAL) CSV'ye Aktarma


Exchange Genel Adres Listesini (GAL) veya Çevrimdışı Adres Defterini bir metin CSV dosyasına aktarmanın bazı yollarını ele alalım. GAL, şirket içi Exchange kuruluşunuzun veya Exchange Online (Office 365) kiracınızın tüm e-posta adreslerini içerir. Kişileri üçüncü taraf e-posta istemcilerine veya e-posta hizmetlerine aktarmak ve almak için CSV dosyasını kurumsal adres defterindeki kişi listesiyle birlikte kullanabilirsiniz.

Bazı dışa aktarma araçlarını ele alalım: bunlar Exchange Admin Center, PowerShell, MS Access, Outlook veya csvde olabilir. > yardımcı program.

Genel Adres Listesi Şirket İçi Exchange Sunucusunda CSV'ye Nasıl Aktarılır?

En kolay yol, adres listesini doğrudan Exchange Admin Center (EAC) konsolundan dışa aktarmaktır. Bunu yapmak için, Alıcılar -> Posta Kutusu bölümüne gidin, … öğesini tıklayın ve Verileri bir CSV dosyasına aktar'ı seçin. >.

Ardından, bir CSV dosyasına aktarmak istediğiniz kullanıcıların özelliklerini (özniteliklerini) seçebilirsiniz.

Ancak bu şekilde yalnızca kullanıcıların e-posta adreslerini dışa aktarabilirsiniz. Dağıtım gruplarının adreslerini dışa aktarmak için Gruplar'a gitmeniz ve oradan dışa aktarmanız gerekir (Kişiler, Kaynaklar, Paylaşımlara benzer şekilde).

Etki alanındaki adres listesini almak için Get-Recipient PowerShell cmdlet'ini kullanabilirsiniz. Örneğin, görevimiz kullanıcı adlarının, SMTP adreslerinin ve telefon numaralarının listesini görüntülemektir. PowerShell'den Exchange Sunucunuza bağlanın ve şu komutu çalıştırın:

Get-Recipient| Select-Object Name,PrimarySmtpAddress, Phone

Yalnızca Varsayılan Genel Adres Listesi girişlerini görüntülemek için şu filtreyi kullanın:

$filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter
Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $filter | Select-Object Name,PrimarySmtpAddress, Phone

Get-Recipient sonuçları 1000 nesneyle sınırlıdır. Daha fazla adres almak için

-ResultSize Unlimited

parametre.

Adres defterinden gizlenen girişleri listeden çıkarmak için (HiddenFromAddressLists attribute). Sonuçları CSV dosyasına aktarmak için Export-CSV cmdlet'ini kullanın:

Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $true} | Select-Object Name,PrimarySmtpAddress, Phone | Export-CSV c:\exchange\GAL.csv -NoTypeInformation

Ayrıca GAL'deki posta kutuları listesini aşağıdaki gibi dışa aktarabilirsiniz:

Get-mailbox -results unlimited | Where-Object {$_.AddressListMembership -like “*Default Global Address List*”} | Select-Object DisplayName,UserPrincipalName,AddressListMembership,HiddenFromAddress

Active Directory'den veri dışa aktarmak için csvde.exe konsol aracını kullanabilirsiniz.

Kullanıcı verilerini e-posta adresleriyle birlikte görüntüleme komutu şöyle görünebilir:

CSVDE -r "(&(objectClass=person)(mail=*))" -l displayName,proxyAddresses -f Exchange-GAL.csv

Sonuç olarak, şöyle bir adres listesi alırsınız:

“CN=LondTest,OU=Service,DC=corp,DC=a-d,DC=com",LondTest,smtp: LondTest@a-d.site

SMTP adreslerine sahip kullanıcıların ve grupların bir listesini almak için AD PowerShell modülünden PowerShell cmdlet'leri Get-ADUser ve Get-ADGroup'u kullanabilirsiniz. Belirli bir kuruluş biriminden SMTP adreslerine (proxyaddresses AD özniteliği) sahip kullanıcıların bir listesini dışa aktaralım:

Get-ADUser -Filter * -SearchBase 'OU=London,OU=UK,DC=a-d,DC=com' -Properties proxyaddresses | Select-Object Name, Proxyaddresses| Export-CSV C:\PS\AD_OU_Export_GAL.csv

Global Adres Listesini Exchange Online'dan Dışa Aktarma (Microsoft 365)

Exchange Online web arabiriminde (https://admin.exchange.microsoft.com/) tüm GAL içeriğini dışa aktarmak için yerleşik araçlar yoktur. Ancak, kullanıcı posta kutuları, dağıtım grupları veya kaynak posta kutuları listesini tek tek bir CSV dosyasına verebilirsiniz. Bunu yapmak için örneğin Alıcı -> Posta Kutuları'na gidin ve Dışa Aktar'ı seçin.

Benzer şekilde, bir kişi listesini, dağıtım listelerini, posta etkin grupları dışa aktarabilirsiniz.

PowerShell kullanarak Exchange Online (Microsoft 365) kiracınızdan Genel Adres Listesini dışa aktarmak çok daha kolay ve kullanışlıdır. EXO v2 modülü ile Exchange Online kiracınıza bağlanın:

Connect-ExchangeOnline

Şu komutu kullanarak kullanılabilir Genel Adres Listelerini listeleyin:

Get-GlobalAddressList | Select-Object Name

Örneğimizde yalnızca "Varsayılan Genel Adres Listesi" mevcuttur. Bu adres listesi, kuruluştaki tüm posta özellikli nesneleri (kullanıcılar, gruplar, dağıtım grupları) içerir.

Genel Adres Listesinin filtresini alalım:

$Filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter

GAL'a nesne eklemek için aşağıdaki filtre kullanılır:

((Alias -ne $null) -and (((ObjectClass -eq 'user') -or (ObjectClass -eq 'contact') -or (ObjectClass -eq 'msExchSystemMailbox') -or (ObjectClass -eq 'msExchDynamicDistributionList') -or (ObjectClass -eq 'group') -or (ObjectClass -eq 'publicFolder'))))

Artık Exchange Online kiracısından tüm SMTP adreslerinin bir listesini alabilir ve bunları bir CSV dosyasına aktarabilirsiniz:

Get-Recipient -RecipientPreviewFilter $Filter | Select-Object Name, PrimarySmtpAddress,RecipientType | Export-CSV C:\PS\Export_Office365_GAL.csv -NoTypeInformation

Exchange Online'daki tüm olası alıcı türleri CSV dosyasına aktarılmıştır: UserMailbox, MailUser, MailUniversalDistributionGroup, MailContact, DynamicDistributionGroup.

Genel Adres Listesini Outlook veya Access'ten Dışa Aktarma

Exchange'de ayrıcalıklı izinleriniz yoksa MS Office/Office 365 programlarını kullanarak kuruluşun genel adres listesini kullanıcının bilgisayarından dışa aktarabilirsiniz.

Genel Adres Listesinin içeriğini doğrudan Outlook'tan veremezsiniz. GAL içeriğini bir dosyaya aktarmanın tek geçici çözümü, kuruluşun adres defterindeki tüm alıcıları kişisel Kişiler listesine eklemektir (Adres Defteri -> Genel Adres Listesi -> < güçlü>CTRL+A -> Kişilere ekle). Ardından, Outlook kişilerini İçe Aktar-Dışa Aktar özelliğiyle CSV'ye aktarabilirsiniz (Dosya -> Aç ve Dışa Aktar -> İçe/Dışa Aktar). Özgün kişileri bir Outlook geçici kişi klasörüne kopyalamanız gerekecektir. Gördüğünüz gibi, bu yöntem pek uygun değil.

Ve son olarak, yönetici olmayan bir kullanıcı için GAL'yi dışa aktarmanın en az belirgin, ancak oldukça basit ve net yolu, Microsoft Access'te bir Exchange bağlantısı kullanmaktır.

  1. Microsoft Access'i çalıştırın ve menüsünde Dosya->Aç 'ı seçin;

  2. Dosya türlerinde Exchange() öğesini seçin;

  3. Kaynaklar listesinde Genel Adres Liste'yi seçin;

  4. Exchange adres defterindeki verileri içeren düz bir Access tablosu alacaksınız;

  5. Artık bu verileri veritabanından bir CSV dosyasına aktarabilirsiniz.

Tek yapmanız gereken, Excel'de aldığınız CSV dosyasını içe aktarmak ve ihtiyacınıza göre değiştirmek.

İlgili makaleler