Office 365 Mailbox Search İşlemleri

Exchange Online içerisinde bulunan tüm posta kutularında veya belirlediğimiz bir posta kutusu üzerinde istenilen bir maili konusuna, gövdesine ve ekine göre aratıp başka bir posta kutusu içerisine aktarma veya aratılan maili silme işlemlerini gerçekleştireceğiz. Bunun için ilk olarak Exchange Online üzerinde diğer posta kutularının içerisine girip mail aratmak için kendimize “Mailbox Import Export” yetkisi atmamız gerekecek.

Exchange Admin Center’ı açtıktan sonra “Permissions” seçeneğine gelip, hemen sağ tarafta açılan menü içeriğinden “Admin Roles” kısmında ki “Dicovery Management” grubunu düzenle diyoruz.

Resim 01

Grup özellikleri açıldıktan sonra  “Roles” başlığı altında ki “+” butonuna basıyoruz.

Resim 02

“Mailbox Import Export” rolünü ekliyoruz.

Resim 03

Mailbox Import Export rolünü atama işlemini tamamladık. Şimdi bu rolün yetkilerini kullanacak olan kullanıcı veya kullanıcıları “Members” başlığının altında bulunan “+” butonuna tıklayarak ekliyoruz.

Resim 04

Resim 05

Mailbox Import Export yetkisine sahip olan kullanıcılarımızı da belirledik. Kullanıcı için atamış olduğumuz yetkiler yaklaşık 30 dakika içerisinde etkin olacaktır.

Artık powershell ile kullanıcı posta kutularına erişip gerekli olan işlemleri gerçekleştireceğiz.

Bunun için ilk olarak powershell ile Exchange Online’a bağlanmamız gerekiyor. Aşağıdaki komutlar ile Exchange Online’a bağlantımızı sağlıyoruz.

Import-Module MSOnline

$O365Cred = Get-Credential

$O365Session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection

Import-PSSession $O365Session

Connect-MsolService –Credential $O365Cred

Bir posta kutusunda konuya göre arama yapıp, aranan maili başka bir posta kutusuna göndermek için aşağıdaki komutları çalıştırıyoruz.

$User = Read-Host -prompt “Arama yapacağınız kullanıcının mail adresini giriniz!”

$Subject = Read-Host -prompt “Mailin konusunu giriniz!”

$Mailbox = Read-Host -prompt “Mailin kopyalanacağı diğer mail adresini giriniz!”

$MailboxFolder = Read-Host -prompt “Mailin kopyalanacağı klasör adını giriniz!”

Search-Mailbox -Identity $User -SearchQuery “Subject:’$Subject‘” -TargetMailbox $Mailbox -TargetFolder $MailboxFolder -LogLevel Full

Bir posta kutusunda gövdeye göre arama yapıp, aranan maili başka bir posta kutusuna göndermek için aşağıdaki komutları çalıştırıyoruz.

$User = Read-Host -prompt “Arama yapacağınız kullanıcının mail adresini giriniz!”

$Body = Read-Host -prompt “Mailin içeriğini giriniz!”

$Mailbox = Read-Host -prompt “Mailin kopyalanacağı diğer mail adresini giriniz!”

$MailboxFolder = Read-Host -prompt “Mailin kopyalanacağı klasör adını giriniz!”

Search-Mailbox -Identity $User -SearchQuery “Body:’$Body‘” -TargetMailbox $Mailbox -TargetFolder $MailboxFolder -LogLevel Full –Verbose

Bir posta kutusunda eke göre arama yapıp, aranan maili başka bir posta kutusuna göndermek için aşağıdaki komutları çalıştırıyoruz.

$User = Read-Host -prompt “Arama yapacağınız kullanıcının mail adresini giriniz!”

$Attachment = Read-Host -prompt “Ekin adını giriniz!”

$Mailbox =  Read-Host -prompt “Mailin kopyalanacağı diğer mail adresini giriniz!”

$MailboxFolder = Read-Host -prompt “Mailin kopyalanacağı klasör adını giriniz!”

Search-Mailbox -Identity $User -SearchQuery “Attachment:’$Attachment‘” -TargetMailbox $Mailbox -TargetFolder $MailboxFolder -LogLevel Full –Verbose

 

Tüm posta kutularında konuya göre arama yapıp, aranan maili başka bir posta kutusuna göndermek için aşağıdaki komutları çalıştırıyoruz.

$Users = Get-Mailbox -Resultsize Unlimited

$Subject= Read-Host -prompt “Mailin konusunu giriniz!”

$Mailbox =  Read-Host -prompt “Mailin kopyalanacağı diğer mail adresini giriniz!”

$MailboxFolder = Read-Host -prompt “Mailin kopyalanacağı klasör adını giriniz!”

foreach ($User in $Users)

{

            Search-Mailbox -Identity $User.PrimarySmtpAddress” -SearchQuery “Subject:’$Subject‘” -TargetMailbox $Mailbox -TargetFolder $MailboxFolder -LogLevel Full -Verbose

}

Tüm posta kutularında gövdeye göre arama yapıp, aranan maili başka bir posta kutusuna göndermek için aşağıdaki komutları çalıştırıyoruz.

$Users = Get-Mailbox -Resultsize Unlimited

$Body = Read-Host -prompt “Mailin içeriğini giriniz!”

$Mailbox =  Read-Host -prompt “Mailin kopyalanacağı diğer mail adresini giriniz!”

$MailboxFolder = Read-Host -prompt “Mailin kopyalanacağı klasör adını giriniz!”

foreach ($User in $Users)

{

            Search-Mailbox -Identity $User.PrimarySmtpAddress” -SearchQuery “Body:’$Body‘” -TargetMailbox $Mailbox -TargetFolder $MailboxFolder -LogLevel Full -Verbose

}

Tüm posta kutularında eke göre arama yapıp, aranan maili başka bir posta kutusuna göndermek için aşağıdaki komutları çalıştırıyoruz.

$Users = Get-Mailbox -Resultsize Unlimited

$Attachment = Read-Host -prompt “Ekin adını giriniz!”

$Mailbox =  Read-Host -prompt “Mailin kopyalanacağı diğer mail adresini giriniz!”

$MailboxFolder = Read-Host -prompt “Mailin kopyalanacağı klasör adını giriniz!”

foreach ($User in $Users)

{

            Search-Mailbox -Identity $User.PrimarySmtpAddress” -SearchQuery “Attachment:’$Attachment‘” -TargetMailbox $Mailbox -TargetFolder $MailboxFolder -LogLevel Full -Verbose

}

 

Bir posta kutusunda konuya göre arama yapıp, aranan maili silmek için aşağıdaki komutları çalıştırıyoruz.

$User = Read-Host -prompt “Arama yapacağınız kullanıcının mail adresini giriniz!”

$Subject = Read-Host -prompt “Mailin konusunu giriniz!”

Search-Mailbox -Identity $User -SearchQuery “Subject:’$Subject‘” –DeleteContent

Bir posta kutusunda gövdeye göre arama yapıp, aranan maili silmek için aşağıdaki komutları çalıştırıyoruz.

$User = Read-Host -prompt “Arama yapacağınız kullanıcının mail adresini giriniz!”

$Body = Read-Host -prompt “Mailin içeriğini giriniz!”

Search-Mailbox -Identity $User -SearchQuery “Body:’$Body‘” -DeleteContent

Bir posta kutusunda eke göre arama yapıp, aranan maili silmek için aşağıdaki komutları çalıştırıyoruz.

$User = Read-Host -prompt “Arama yapacağınız kullanıcının mail adresini giriniz!”

$Attachment = Read-Host -prompt “Ekin adını giriniz!”

Search-Mailbox -Identity $User -SearchQuery “Attachment:’$Attachment‘” –DeleteContent

Tüm posta kutularında konuya göre arama yapıp, aranan maili silmek için aşağıdaki komutları çalıştırıyoruz.

$Users = Get-Mailbox -Resultsize Unlimited

$Subject = Read-Host -prompt “Mailin konusunu giriniz!”

foreach ($User in $Users)

{

            Search-Mailbox -Identity $User.PrimarySmtpAddress” -SearchQuery “Subject:’$Subject‘” -DeleteContent

}

Tüm posta kutularında gövdeye göre arama yapıp, aranan maili silmek için aşağıdaki komutları çalıştırıyoruz.

$Users = Get-Mailbox -Resultsize Unlimited

$Body = Read-Host -prompt “Mailin içeriğini giriniz!”

foreach ($User in $Users)

{

            Search-Mailbox -Identity $User.PrimarySmtpAddress” -SearchQuery “Body:’$Body‘” -DeleteContent

}

 

Tüm posta kutularında eke göre arama yapıp, aranan maili silmek için aşağıdaki komutları çalıştırıyoruz.

$Users = Get-Mailbox -Resultsize Unlimited

$Attachment = Read-Host -prompt “Ekin adını giriniz!”

foreach ($User in $Users)

{

            Search-Mailbox -Identity $User.PrimarySmtpAddress” -SearchQuery “Attachment:’$Attachment‘” -DeleteContent

}

Bu makalemizde Office 365 üzerinde PowerShell kullanarak mailbox’lar içerisinde arama ve silme işlemlerinin nasıl yapılacağını göstermiş olduk. Umarım faydalı bir makale olmuştur. Bir sonraki makalemizde görüşmek üzere

Exit mobile version