PowerShell kullanarak E-posta adreslerini arama | Nerede Filtre | Ofis 365 | Bölüm 9#13


Bu makalede, PowerShell nerede filtresini kullanarak belirli bir E-posta adresini aramak için bir sorgu "oluşturmak" için kullandığımız PowerShell komut sözdizimini inceliyoruz.

E-posta adresi araştırmasına başlamadan önce bilmemiz gerekenler

Bu bölümde Office 365 ortamında E-posta adreslerinde arama yapma göreviyle ilgili ana noktaları kısaca gözden geçirmek istiyorum.

1. Arama nerede yapılmalı?
Belirtildiği gibi, Office 365 ortamında, mantıksal "Office 365" terimini oluşturan, farklı ortamlardan oluşan bir "örgü" bulunur.

Aradığımız bilgiler, Azure Active Directory'de bulunan Office 365 kullanıcılarıyla veya Exchange Online altyapısında barındırılan Exchange Online alıcılarıyla ilişkilendirilebilir.

Peki cevaplamamız gereken ilk soru, aramayı “nerede” yapmak istiyoruz?

2. Çevrimiçi Değişim | Sorgulamak istediğimiz "alıcı türü" nedir?
Exchange Online önemli sayıda farklı alıcı türü içerir.

Ütopik bir dünyada, mevcut tüm Exchange Online alıcıları hakkında bilgi taramamıza ve getirmemize yardımcı olacak "sihirli" bir PowerShell cmdlet'i kullanabiliriz. Gerçek biraz daha karmaşık çünkü ne yazık ki böyle bir komut yok.

Mevcut tüm Exchange Online alıcılarına hitap edebilmek için, farklı türdeki Exchange Online alıcılarına hitap edecek PowerShell cmdlet'lerinin bir "Karışımını" kullanmamız gerekecek.

3. "E-posta adresi" terimi
Office 365 ortamında, "E-posta adresi" terimi, "E-posta adresi" terimiyle aynı adlandırma yapısını kullanan geniş bir "adres" aralığına çevrilebilir. “SMTP E-posta adresi.”

Örneğin,

  • Office 365 kullanıcı oturum açma adı (UPN), SMTP E-posta adreslerinin adlandırma yapısını temel alır.
  • SIP adresi (işletme kullanıcıları için Skype), SMTP E-posta adresleriyle aynı adlandırma yapısını kullanır.

4. Aramayı gerçekleştirmek için hangi PowerShell söz dizimi kullanılmalı?

Mevcut makalede, mevcut Office 365 nesnelerini (Office 365 kullanıcı hesabı ve Exchange Online alıcısı) tarayacak ve "getir" işlemini gerçekleştirecek bir sorgu gerçekleştirme aracı olarak PowerShell Nerede ifadesini kullanacağız. bize belirli kriterleri karşılayan nesneyi veririz.

“Metin dizesi” olarak e-posta adresi

PowerShell, belirli bir "metin dizesi" arama görevini gerçekleştirmek için birçok yöntem sunar. Senaryomuzda aradığımız “metin dizisi” bir “E-posta adresidir.”
E-posta adresi aradığımızı söylediğimizde “E-posta adresi” terimi gerçekleşebilir. gibi:

  • Bir E-posta adresinin “Sol kısmı”. Alıcının takma adının yer aldığı kısımdır. Belirli Takma adlar hakkında bilgi ararken E-posta adresinin “sol kısmı” ile ilgileniriz.
  • Bir E-posta adresinin “Sağ kısmı”. Alan adı son ekinin bulunduğu kısımdır. Belirli bir alan adına sahip bir E-posta adresi hakkında
    bilgi aradığımızda, bir E-posta adresinin “Sağ kısmı” ile bağlantı kurarız.
  • "Sağ kısım" + "sol kısım." Belirli bir E-posta adresini aradığımız bir senaryoda, E-posta adresi bölümleri kabiniyle bağlantı kuruyoruz.

Where ifadesini kullanarak belirli bir E-posta adresini aramak için PowerShell'i kullanma

Aşağıdaki şemada, belirli bir alan adı son ekine sahip E-posta adreslerini aradığımız bir PowerShell komutunun temel yapısını görebiliriz.

“PowerShell sorgusu” Nerede filtresi kullanılarak oluşturulur.

PowerShell komut sözdiziminin farklı "bölümleri"

Bölüm 1#4 - Exchange Online alıcı nesnesi

İlk bölüm, belirli Exchange Online alıcısını seçtiğimiz bölümdür. Örneğimizde Exchange alıcısının “türü” Exchange posta kutusudur.

Bölüm 2#4 - Nerede filtresi

Bu bölümde PowerShell Nerede ifadesini + “sorgu filtresi” tanımını, diğer bir deyişle “arama koşulu”nu kullanıyoruz.

PowerShell Nerede ifadesi aşağıdaki bölümleri içerir:

Yalnızca belirli bir alan adı son eki gibi belirli bir karaktere sahip bir E-posta adresini aradığımız bir koşulu tanımlayan gerekli aramayı gerçekleştirmek için PowerShell Nerede ifadesini kullanırız.

PowerShell sorgusu küme parantezleri arasında "bulunur".

Senaryomuzda Azure Active Directory altyapısı + Exchange Online altyapısını sorguluyoruz.

  • Exchange Online altyapısını sorguladığımızda, EmailAddresses adlı Exchange Online alıcı özelliğini "adresliyoruz".
  • Azure Active Directory altyapısını sorguladığımızda UserPrincipalName adlı Office 365 kullanıcı özelliğini ve ProxyAddresses özelliğini “adresliyoruz”.

Kullandığımız PowerShell operatörü

Belirli bir E-posta adresini aradığımız bir senaryoda, kullandığımız PowerShell operatörlerinden birkaç seçeneği seçebiliyoruz.

Örneğin, PowerShell operatörünü eq (eşit) veya PowerShell operatörünü like kullanabiliriz.

PowerShell operatörü “Beğen” adından da anlaşılacağı gibi, verdiğimiz E-posta adresine “benzeyen” E-posta adreslerini ararız.

Özel senaryomuzda, bir Exchange Online alıcısı belirli bir E-posta adresini
bir "SMTP E-posta adresi" veya "SIP adresi" olarak "kullanabilir".

Örneğin, PowerShell operatörünü "beğen" kullanarak aşağıdaki E-posta adreslerini ararken Bob@o365info.com, PowerShell komutu, o "arama dizesini" içeren SMTP E-posta adresini veya SIP adresini bulursa sonucu görüntüler. "arama dizesini" içerir.

Karşılaştırma Operatörlerini “beğen” kullanmamız durumunda yıldız karakterini (*) kullanmalıyız

  • Tanımlı karakterlerle “başlayan” ancak nasıl “bittiğini” bilmediğimiz bir metin dizesi bulmak istediğimiz bir koşulu tanımlayabilmek için yıldız karakterini (* ) ekleyeceğiz ) PowerShell komutuna “sağladığımız” metin dizesinin sonunda.
  • Tanımlı karakterlerle "biten" bir metin dizesi bulmak istediğimiz ancak nasıl "başladığını" bilmediğimiz bir koşulu tanımlayabilmek için yıldız karakterini (* ) ekleyeceğiz ), PowerShell komutuna "sağladığımız" metin dizesinin yalvarmasıyla.

Resimde de görebileceğimiz gibi PowerShell operatörü “Beğen” ile yıldız işareti (*) iyi arkadaşlardır.

Kullanabileceğimiz başka bir PowerShell operatörü örneği de eq (eşit) operatörüdür.

PowerShell'e "mükemmel eşleşme" arayan bir arama yapmak istediğimizi "söylemek" istediğimizde eq (eşit) operatörünü kullanırız.

Örneğin, aşağıdaki E-postayı (Bob@o365info.com) aramak ancak adresin bir SMTP adresi olması durumunda bilgileri görüntülemek istediğimiz durumda, aşağıdaki PowerShell sözdizimini kullanacağız:

Yapmamız gereken tüm bilgilerden ve çeşitli aramalardan dolayı aşırı yüklendiğinizi düşünüyorsanız,
E-posta adresini yönet.ps1 adında bir PowerShell menü tabanlı komut dosyası oluşturdum; bu, bir E-posta arama görevini kolaylaştıracaktır. belirli bir alan adı sonekine sahip adres.

Bölüm 3#4 - görüntülenen nesne özellikleri “alanlar”

Exchange Online posta kutusu gibi alıcı nesnelerinin her birinin birçok özelliği vardır.

Nerede filtresi gerekli bilgileri aldıktan sonra (bizim durumumuzda, belirli bir koşulu yanıtlayan bir Exchange alıcısı), "PowerShell çıkışı" bir alıcı veya alıcı listesi görüntüler.

Alıcıların her biri "önceden tanımlanmış nesne özellikleri" kullanılarak + görüntülenecektir.

Çoğu zaman, bu "varsayılanı" değiştirmek ve PowerShell'e, bizimle ilgili olan belirli alıcı özelliklerinin (özniteliklerin) neler olduğunu "bilgilendirmek" isteriz.

Örneğin, belirli bir E-posta adresine sahip alıcıları aradığımız bir senaryoda bizi ilgilendiren ana özellikler şunlardır:

  • - Görünen ad gibi alıcı adı.
  • Posta kutusu kullanıcısı veya kişi gibi alıcının türü (Alıcı türü).
  • Belirli alıcıyla ilişkili e-posta adresleri.

PowerShell komutunu görüntülemek (veya dışa aktarmak) istediğimiz belirli özelliklerin neler olduğu konusunda "bilgilendirmek" için Seç, FL (Format-List) gibi PowerShell parametrelerini kullanırız. ) veya FT (Biçim-Tablo).

Görüntülemek istediğimiz "özelliklerin" her biri virgül karakteriyle ayrılacaktır.

Bölüm 4#4 - Sonuçları dışa aktarın.

Varsayılan olarak PowerShell sorgusunun sonuçları PowerShell konsolunda görüntülenir.

Exchange Online alıcılarının e-posta adresi (veya Office 365 UPN adı) hakkında bilgi alma göreviyle ilgili olarak, birçok senaryoda bilgileri dosyalara aktarmamız gerekecek."

Bilgilerin dosyalarda saklanması, filtreler ve özel görünümler kullanarak verileri "manipüle etmemizi" ve ayrıca verileri düzenlememizi ve yönetmemizi sağlar.

PowerShell Nerede filtresinden oluşturulan e-posta adresiyle ilgili bilgileri dışa aktarmak için, CSV, TXT veya HTML gibi ihtiyacımız olan belirli dosya türünü sağlamamız gerekecek.

Güncel makale serisinin bir sonraki makalesi

Belirli bir alan adı sonekine sahip E-posta adreslerini PowerShell Kullanarak Arama | Ofis 365 | Bölüm 10#13

İlgili makaleler