Active Directory'de Herhangi Bir E-Posta Adresini veya Proxy Adresini Bulun


Herhangi bir Exchange veya Birleşik İletişim yöneticisinin ortak isteğinden bir tanesini daha burada bulabilirsiniz. Birisi genellikle uğrar ve "Bu e-posta adresi kimin elinde?" diye sorar. Adres birçok farklı nesne türünden biri olabilir. Bir kullanıcı posta kutusu, paylaşılan posta kutusu, dağıtım listesi, ortak klasör, kişi veya kaynağın tümü söz konusu belirli e-posta adresini içerebilir. Exchange 2010'daki Exchange Yönetim Konsolu'ndaki sorun, yalnızca birincil e-posta adresini bulmanıza izin vermiyor. Exchange 2013 ve Office 365 Exchange Yönetim Merkezi, Gelişmiş Arama > E-postaAdresleri aracılığıyla arama yapmanıza izin verir ancak joker karakter aramalarına izin vermez ve her türü (posta kutusu, grup, kaynak, kişi) ayrı ayrı aramanız gerekir. Active Directory'ye doğrudan erişim, teslimat hatalarına neden olan yinelenen bir e-posta adresine izin verdiğinden, yinelenen bir adresin atandığı zamanlar da olabilir. Basitçe Exchange perspektifinden bakıyorsanız Exchange komut uygulamaları iyi çalışacaktır. Exchange'de etkinleştirilmemiş öğeleri arayacak Active Directory komut araçlarını kullanmanız gerekebilir. Aşağıda, gelecekte bir e-posta adresini veya e-posta adreslerini hızlı bir şekilde aramanıza olanak tanıyan bir işlev örneğinin yanı sıra örnekler verilmiştir.

Komutları Değiştir
Adım #1: Aşağıdaki Exchange komut uygulaması, belirli bir e-posta adresini veya e-posta adresinin bir kısmını bulmanın en kolay yöntemidir. Bu, Exchange'de -eq ile filtreye yerleştirdiğiniz e-posta adresiyle veya -like kullanırken email kısmıyla tam olarak eşleşen herhangi bir nesneyi bulacaktır.

Get-Recipient email@yourdomain.com

Get-Recipient -Filter {EmailAddresses -like "*emailportion*"}

Adım #2: Aşağıdaki örnekler, belirli Exchange nesne türlerini hedefleyen ve döndüren bireysel komut araçlarını vurgulamaktadır. Joker karakterler eklemek için -eq'yi -like ile değiştirebilirsiniz.

Get-Mailbox -Filter {EmailAddresses -eq "email@yourdomain.com" -or WindowsEmailAddress -eq "email@yourdomain.com"}

Get-MailboxContact -Filter {EmailAddresses -eq "email@yourdomain.com" -or WindowsEmailAddress -eq "email@yourdomain.com"}

Get-DistributionGroup -Filter {EmailAddresses -eq "email@yourdomain.com" -or WindowsEmailAddress -eq "email@yourdomain.com"}

Get-MailUser -Filter {EmailAddresses -eq "email@yourdomain.com" -or WindowsEmailAddress -eq "email@yourdomain.com"}

Active Directory Komut Uygulamaları
Ön Adım: Devam etmeden önce, Active Directory komut uygulamalarını PowerShell'in eski sürümlerine aktarmanız gerekebilir. Office 365'te de çalışacak Exchange komut uygulamaları için Adım #4'e göz atın.

Import-Module ActiveDirectory

Adım #1A: Aşağıdaki örnek, filtreye yerleştirdiğiniz e-posta adresiyle tam olarak eşleşen herhangi bir aktif dizin nesnesini bulacaktır. bu durumda email@alaniniz.com.

Get-ADObject -Properties mail, proxyAddresses -Filter {mail -eq "email@yourdomain.com" -or proxyAddresses -eq "smtp:email@yourdomain.com"}

Adım #1B: Bazen e-posta adresinin sadece bir kısmını aramak isteyebilirsiniz. Belki de kullanılan tam yazımı veya etki alanını bilmiyorsunuz ve benzer olanların her birini kapmak istiyorsunuz. Bu filtre aynı zamanda yalnızca smtp adreslerini değil aynı zamanda x500: eum: sip: vb. gibi diğer türleri de yakalayacaktır.

Get-ADObject -Properties mail, proxyAddresses -Filter {mail -like "*emailportion*" -or proxyAddresses -like "*emailportion*"}

Adım #1C: Üçüncü seçenek, eşleşen nesneyi bulmak için bir LDAP sorgusu kullanmaktır. Aşağıdaki LDAP sorgusu bir | Hem mail hem de proxyAddresses özniteliklerinde adresi aramak için OR ifadesi olarak.

Get-ADObject -LDAPFilter "(|(mail=email@yourdomain.com)(proxyAddresses=smtp:email@yourdomain.com))"

Adım #1D: Aşağıdaki LDAP sorgusu, aramaya bir joker karakter ekler; bu, ayrıntıları bilmiyorsanız e-posta adresinin bir bölümünü bulmanızı da sağlar.

Get-ADObject -LDAPFilter "(|(mail=*emailportion*)(proxyAddresses=*emailportion*))"

Adım #2: Size göstereceğim bir sonraki adım, mevcut olabilecek farklı türdeki e-posta adreslerini nasıl arayacağınızdır. Bu türler x500: eum: sip: vb. olabilir. Tek yapmanız gereken önek ve e-posta kısmını proxyAdresler filtresine yerleştirmektir. Bu örnekte email@alanadiniz.com'un bir yudum adresi aranır.

Get-ADObject -Properties proxyAddresses -Filter {proxyAddresses -eq "sip:email@yourdomain.com"}

Adım #3: Burada herhangi bir türdeki e-posta adresini bulmak için girişi kabul eden bir fonksiyon yaratıyoruz. Olası tüm türleri yakalamak için -like ve joker karakterleri kullanıyorum. Herhangi bir adresi daha sonra çok daha az çabayla kontrol edebilmek için PowerShell'de işlevi kolayca oluşturabilirsiniz.

function Get-EmailAddress
{
	[CmdletBinding()]
	param
	(
		[Parameter(Mandatory = $True,
				   ValueFromPipeline = $True,
				   ValueFromPipelineByPropertyName = $True,
				   HelpMessage = 'What e-mail address would you like to find?')]
		[string[]]$EmailAddress
	)
	
	process
	{		
		foreach ($address in $EmailAddress)
		{
			Get-ADObject -Properties mail, proxyAddresses -Filter "mail -like '*$address*' -or proxyAddresses -like '*$address*'"
		}
	}
}

Tüm paylaşımlarımda olduğu gibi, ortamınızda aklınıza takılan her türlü soruyu veya senaryoyu sabırsızlıkla bekliyorum. Herhangi bir sorunuz varsa lütfen aşağıya gönderin.

İlgili makaleler