Exchange Server üzerinde tanımlı olan eposta hesaplarının hepsini csv dosyasına export edebilirsiniz. Yapmanız gereken aşağıda verdiğim iki farklı kodu, Exchange Server versiyonunuza göre powershell üzerinde çalıştırmak.

Exchange 2007 yada Exchange 2010 için;

Get-Mailbox -ResultSize Unlimited |Select-Object displayname,PrimarySmtpAddress | export-csv c:\mail_list.csv

 

Exchange 2003 için ise;

‘***************************************************************** ’Exchange users listesi’ Ozgur Ozocak’ info@teknolojikadam.com’ 24 Nisan 2012′ ’***************************************************************** Option Explicit Dim StartTime,EndTime: StartTime = Now ‘ For seeing how long the script takes to run Dim objShell Dim objFSO Const ScriptVersion = “1.01″ Set objShell = WScript.CreateObject(“WScript.Shell”) Set objFSO = CreateObject(“Scripting.FileSystemObject”) Wscript.Echo “StartTime = ” & StartTime ’ ***************************************************************** ‘ Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim objRootDSE Dim objDomain Dim objContainer Dim objOrganizationalUnit Dim strOutputFileName, objOutputFileName, GarbageRC Dim intUserObjectCountAll, intUserObjectCountSelected strOutputFileName = “GAL_Export.csv” Set objOutputFileName = objFSO.OpenTextFile(strOutputFileName, ForWriting, True) intUserObjectCountAll = 0 intUserObjectCountSelected = 0 Set objRootDSE = GetObject(“LDAP://RootDSE”) Set objDomain = GetObject(“LDAP://” & objRootDSE.Get(“DefaultNamingContext”)) Call Sub_EnumOUs(objDomain.ADsPath) Sub Sub_EnumOUs(sADsPath) Set objContainer = GetObject(sADsPath) objContainer.Filter = Array(“OrganizationalUnit”) For Each objOrganizationalUnit in objContainer WScript.Echo “Checking OU: ” & objOrganizationalUnit.ADsPath Wscript.Echo ” User Object Count: ” & intUserObjectCountAll Sub_EnumUsers(objOrganizationalUnit.ADsPath) Sub_EnumOUs(objOrganizationalUnit.ADsPath) Next End Sub Sub Sub_EnumUsers(sADsPath) Dim objADobject Set objContainer = GetObject(sADsPath) objContainer.Filter = Array(“User”) For Each objADobject in objContainer If objADobject.Class = “user” Then intUserObjectCountAll = intUserObjectCountAll + 1 If objADobject.Mail <> “” Then objOutputFileName.Writeline(Chr(34) & objADobject.displayName & Chr(34) & “,” & objADobject.Mail) intUserObjectCountSelected = intUserObjectCountSelected + 1 End If End If Next End Sub objOutputFileName.Close ’ ***************************************************************** ‘ EndTime = Now Wscript.Echo vbCrLf & “EndTime = ” & EndTime Wscript.Echo “Seconds Elapsed: ” & DateDiff(“s”, StartTime, EndTime) Wscript.Echo “Script Complete” Wscript.Quit(0) ’ ***************************************************************** ‘

Smart Host; bize ait olan mailleri bizim yerimize dışarıya ileten yapı anlamına gelmektedir. Yani mailleri kendi sunucunuz üzerinden değil de başka bir mail sunucu üzerinden göndermek isterseniz smart host uygulamasını kullanabilirsiniz. Kullanmak istediğiniz sunucu diğer bir exchange sunucu olabileceği gibi herhangi bir hosting firmasına ait mail sunucuda olabilir.

Bu durumun en büyük avantajı; blacklistlere düşme olasılığını en aza indirgemektir. Çünkü mailler bize ait olan ip’den değil de, bizimle alakası olmayan bir ISP’den gönderilecek ve bu sayede spam listlere düşmeyeceğiz.

Bu uygulamayı yapabilmek için öncelikle yeni bir Smtp Connector oluşturmamız gerekmektedir. Exchange Server Standart , Enterprise Edition veya SBS üzerindeki Exchange sürümlerini kurduktan sonra standart olarak bir SMTP Connector oluşmaktadır. Yeni oluşturacağımız smtp connector ile birlikte bütün mail trafiği bu smtp üzerinden gerçekleşecektir. Çünkü yeni kurulan Smtp Connector, eskisine göre daha baskın duruma gelecektir.

Makalemizde smart host uygulamasının Exchange 2003 Enterprise üzerinde nasıl yapıldığı anlatılmaktadır.

İlgili makale için buradan devam ediniz..

Administrative Groups –> Routing Group –> First Routing Group –> Connectors Sağ Click –> New –> SMTP Connector

  • Resim – 1

 

  • * Birinci adımda connector ismini yazıyoruz. Herhangi birşey yazabilirsiniz.
  • * İkinci adımda maillerimizi yönlendireceğimiz diğer mail sunucunun ip adresini yazıyoruz. Burada dikkat etmeniz gereken şey; ip adresini yazarken köşeli parantez içerisinde yazmalısınız. Eğer birden fazla sunucu kullanacaksınız ip adresleri arasında virgül(,) kullanmalısınız. Örneğin; [x.x.x.x],[y.y.y.y]
  • * Üçüncü adımda Add butonuna basarak listeden exchange sunucumuzu seçiyoruz.
  •  
  • Resim – 2

 

Son olarak Address Space tabına gelerek Add butonuna basıyoruz. Bu bölümde tanımladığımız Connector yardımı ile hangi adreslere mail atacağımızı ayarlayabiliyoruz . Ben bütün domainlere bu Connector aracılığı ile mail göndereceğimden dolayı buraya tüm domainleri kapsayan “*” tanımlamasını yapıyorum. Cost değeri önceliği temsil eder. 1 olarak kalmasında sakınca yoktur. Birden fazla domain name yazdığımız zaman Cost değerleriyle oynayabiliriz. Hangisi domaine mail atarken öncelik verilsin yada verilmesin gibi ayarları yapabiliriz. İki mail sunucuyu birbirine bağladığımız için Connector scope kısmında Entire organization seçili olmalıdır.

  • Resim – 3

 

Tanımlamaları yaptıktan sonra Apply butonuna basarak Connector’ümüzü oluşturuyoruz. Yeni oluşturduğumuz Smtp Connector sayesinde gönderdiğimiz mailler ISP’ye iletildikten sonra ilgili mail adreslerine yönlendirilecektir.

 

Hazırlayan: Özgür Özocak

teknolojikadam.com'da şu an 16 ziyaretçi geziniyor. Toplam 80 yazı, 159 yorum var