Exchange Online Yönetimi için Yararlı PowerShell Komutları

Exchange Online PowerShell ile bağlanın:  

Exchange Online ortamını PowerShell üzerinden yönetmek için aşağıdaki komutu kullanarak bir oturum açmanız gerekir.  

1Connect-ExchangeOnline

Yukarıdaki komut, hem MFA hem de MFA olmayan hesaplarla Exchange Online PowerShell’e bağlanmanıza izin verir.  

Not:  Connect-ExchangeOnline komutunu kullanmak için Exchange Çevrimiçi PowerShell (EXO V2) Modülü yüklemeniz gerekir. Aksi takdirde;

Tüm Office 365 Hizmetlerine bağlanın  (MFA olmadan): 

Aşağıdaki komutu kullanarak Exchange Online, Azure Active Directory, MSOnline, SharePoint Online, SharePoint PnP, Skype for Business Online, Teams ve Güvenlik ve Uyumluluk merkezi gibi Office 365 hizmetlerine bağlanabilirsiniz . 

1./ConnectO365Services.ps1

Kimlik bilgisini parametre olarak da iletebilirsiniz.

1./ConnectO365Services.ps1 -UserName Admin@Contoso.com -Password “XXX”

Not: Geçerli dizinde değilse, komut dosyasının mutlak yolunu da verebilirsiniz. 

Tüm Office 365 Hizmetlerine bağlanın (MFA ile) :  

Aşağıdaki komutu kullanarak Exchange Online, Azure Active Directory, SharePoint Online, Skype for Business Online, Teams ve MFA ile Güvenlik ve Uyumluluk merkezi gibi Office 365 hizmetlerine bağlanabilirsiniz .

1./ConnectO365Services.ps1 -MFA

MFA etkin hesap kullanıyorsanız, her hizmet için kimlik bilgileri girilmelidir.

Exchange Posta Kutusu Raporu: 

Kuruluşunuzdaki posta kutularını görüntülemek için  Get-ExoMailbox  komutunu aşağıda gösterildiği gibi çalıştırın. 

1Get-ExoMailbox -ResultSize Unlimited

Alternatif olarak Get-Mailbox  komutunuda kullanabilirsiniz  .

Office 365 Posta Kutusu Boyutunu Alın: 

Posta kutusu boyutunun takibi, posta kutusu depolama sınırını doğru zamanda artırmanıza yardımcı olur. 

Posta kutusunun kullanılan boyutunu görüntülemek için  Get-MailboxStatistics  veya  Get-ExoMailboxStatistics  komutlarını çalıştırın. 

1Get-ExoMailboxStatistics -Identity admin |select DisplayName,TotalItemSize

Eğer tüm posta kutularını boyutunu elde etmek istiyorsanız, aşağıda gösterildiği gibi komutu çalıştıralım: 

1Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | select DisplayName,TotalItemSize

Exchange Online’da Arşiv Posta Kutusunu Alın: 

Arşivleme, kullanıcının birincil posta kutusuna ek bir posta kutusu sunar. Böylece yönetici, daha fazla depolama alanı gerektiğinde posta kutusuna arşivlemeyi etkinleştirebilir. 

Arşiv özellikli posta kutularını almak için,  

1Get-Mailbox –ResultSize Unlimited –Archive

Arşiv posta kutularının boyutunu görüntülemek için, 

1Get-Mailbox –ResultSize Unlimited –Archive | Get-MailboxStatistics| Select DisplayName,TotalItemSize

Arşiv posta kutularının boyutu, durumu ve kotası hakkında daha fazla bilgi edinmek için, PowerShell komut dosyamızı çalıştırın . Ayrıca komut dosyası, otomatik olarak genişleyen arşiv durumu hakkında da bilgi sağlar. 

Posta Kutusu Kota Bilgilerini Alın: 

Posta kutusunun kotası, posta kutusu boyutunu ve veritabanı büyümesini yönetmenize yardımcı olur. Posta kutusu kotasına ulaştığında, e-posta gönderme, e-posta alma gibi belirli eylemler kısıtlanır. Bu nedenle, yöneticilerin posta kutusu kotasına dikkat etmesi gerekir. 

Belirli bir posta kutusunun kotasını görüntülemek için,  

1Get-Mailbox -Identity John@contoso.com | select *quota*

Paylaşılan Posta Kutularını Listeleme: 

Paylaşılan posta kutusu, bir tür kullanıcı posta kutusudur, ancak kullanıcılar bir kullanıcı adı ve Parola kullanarak doğrudan giriş yapamaz. Kullanıcılar, paylaşılan posta kutusuna erişmek için tam erişim, farklı gönder ve paylaşılan posta kutusunda adına gönder gibi belirli izinlere sahip olmalıdır. 

Kuruluşunuzdaki paylaşılan posta kutularını listelemek için SharedMailbox değerine sahip RecipientTypeDetails  filtresini kullanın  . 

1Get-ExoMailbox –ResultSize Unlimited –RecipientTypeDetails SharedMailbox

Kullanıcıların paylaşılan posta kutularındaki izinlerini görüntülemek ve rapor oluşturmak için komut dosyamızı kullanabilirsiniz .

Posta Kutusu İzin Raporunu Alın: 

Paylaşılan posta kutusu gibi, kullanıcı posta kutusu da tam erişim, farklı gönderme ve adına gönderme izinleriyle yetkilendirilebilir. Her izne sahip kullanıcıları tanımlamak için aşağıdaki komutları çalıştırın. 

Kullanıcıların posta kutularında Tam Erişim(Full Access) iznine sahip olmasını sağlamak için, 

12Get-Mailbox | foreach {(Get-MailboxPermission -Identity $_.userprincipalname | where{ ($_.AccessRights -contains “FullAccess”) -and ($_.IsInherited -eq $false) -and -not ($_.User -match “NT AUTHORITY”) }) | select Identity,AccessRights,User}

Farklı Gönder(Send As) iznine sahip kullanıcıları almak için, 

12Get-Mailbox | foreach {(Get-RecipientPermission -Identity $_.userprincipalname | where{ -not (($_.Trustee -match “NT AUTHORITY”) -or ($_.Trustee -match “S-1-5-21”))}) | select Identity,trustee}

Adına Gönder(Send-on-behalf) izni olan posta kutularını almak için,  

1Get-Mailbox –ResultSize Unlimited | Where {$_.GrantSendOnBehalfTo -ne $null} | Select UserprincipalN

Etkin Olmayan Posta Kutularını Tanımlayın: 

Etkin olmayan posta kutuları, posta kutusunun son oturum açma zamanı veya son etkinlik zamanı kullanılarak tanımlanabilir. 

Get-MailboxStatistics  komutu ile posta kutuların da son oturum açma zamanı ve son etkinliği görebilirsiniz. 

12Get-Mailbox -ResultSize Unlimited |Foreach{Get-MailboxStatistics -Identity $_.UserPrincipalName | Select DisplayName,LastLogonTime,LastUserActi

Etkin olmayan günler, posta kutusu türü, atanan lisanslar, yönetici rolleri vb. gibi ek özelliklerle birlikte rapor oluşturmak için komut dosyamızı deneyin

PowerShell Kullanarak Posta Kutusu Yönlendirmesini Alın 

E-posta iletme, yöneticilerin/kullanıcıların e-postaları posta kutusundan otomatik olarak başka bir posta kutusuna iletmesine olanak tanır. 

Otomatik e-posta iletme ile yapılandırılmış posta kutularını listelemek için, 

1Get-mailbox -ResultSize Unlimited| where {$_.ForwardingAddress -ne $Null} | select DisplayName,ForwardingAddress

Yukarıdaki komut ile , ForwardingAddress aracılığıyla e-posta iletmenin yapılandırıldığı posta kutularını listeler.