Exchange Online – PowerShell Üzerinden User Mailbox İşlemleri

dummy

Office 365 Exchange Online üzerinde WEB GUI yani grafiksel ara yüz ile ulaşamayacağımız birçok bilgi mevcuttur. Peki, bu bilgilere, içeriğe, raporlamaya nasıl ulaşabiliriz? PowerShell ile bu işlemleri yapmamız mümkündür. Exchange Online PowerShell, On Prem Exchange PowerShell kadar temel bir ihtiyaç haline gelmektedir. Aslında PowerShell size Exchange Online üzerinde her işlemi yapmanıza yardımcı bir seçenektir. Sınırsız bir güce sahip olduğu gibi, bilinçsiz kullanımlarda da ciddi sorunlara yol açabilir. Bu yazının içeriğinde sizlere Exchange Online ortamında ki bilgilere nasıl ulaşacağımızı PowerShel Cmd’letsler ile örnekleyerek paylaşacağım.

Windows PowerShell ile Office 365-Exchange Online kısmına bağlanıyoruz.

Offıce 365 Exchange Powershell Baglantı Icın:

Windows 2008r2, Windows 7 SP1, Windows 8, Windows 8.1, Windows 2012 ve Windows 2012r2 ile birlikte gelen, Windows PowerShell’ i Run As Administrator olarak açıyoruz. Aşağıda ki komutları sırasıyla girip, bağlantıyı sağlıyoruz.

  1. $Cred = Get-Credential (Office 365 Username & Password bilgisini girmemiz gerekir).
  2. $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic –AllowRedirection
  3. Import-PSSession $s

https://technet.microsoft.com/en-us/library/jj200677%28v=exchg.150%29.aspx

Mailbox Tiplerinin Görüntülenmesi:

En basit komutumuz Get-Mailbox, bu komut ile bütün Exchange Online userlarını, Aliasları, ServerNameleri ve kota bilgilerini görebiliriz.


Sistem Discovery Search Mailboxlarını değilde, sadece user mailboxları görmek istersek, bu komutla bir filtre koymuş oluyoruz.

Get-Mailbox -ResultSize Unlimited | Where {$_.name -notlike ‘*DiscoverySearchMailbox*’}


Exchange Online yapınızda ki User, Group vb. mailboxların detaylarını görebilmek için,

Get-User | Group RecipientTypeDetails komutunu kullanabilirsiniz. Komut sayesinde mailboxların tipini, adedini, isimlerini görebilirsiniz.


Sadece Usermailbox’ları görmek istersek, Get-Mailbox -Filter ‘(RecipientTypeDetails -eq “UserMailbox”)’ | Select RecipientTypeDetails,Name,Alias komutunu kullanabiliriz.


Exchange Online yapınızda ki Room Mailboxları görebilmek için, Get-MailBox -Filter ‘(RecipientTypeDetails -eq “RoomMailBox”)’ | Select Name,Alias
komutunu kullanabiliriz.


Exchange Online yapımızda ki Equipment Mailbox’ ları görebilmek için, Get-MailBox -Filter ‘(RecipientTypeDetails -eq “EquipmentMailbox”)’ | Select Name,Alias

Equipment Mailbox Nedir?

Herhangi bir kullanıcıya ait olmayan özel cihazlar için kullanabileceğimiz bir Mailbox türüdür. Laptop, Projector vb. cihazlar için kullanılabilir.


Exchange Online Shared Mailboxları görebilmemiz için,

Get-MailBox -Filter ‘(RecipientTypeDetails -eq “SharedMailbox”)’ | Select RecipientTypeDetails,Name,Alias


Email Adres Bilgilerinin Görüntülenmesi:

Exchange Online mailboxlarının SMTP adreslerinin görüntülenmesi için,

Get-Mailbox -ResultSize Unlimited |FL EmailAddresses


Get-Mailbox -ResultSize Unlimited | Where {$_.name -Notlike ‘*DiscoverySearchMailbox*’} |FL EmailAddresses


Alias, SIP gibi bilgilere erişmek içinse aşağıda ki CMD’letsleri kullanabilirsiniz.

Get-Mailbox | FL name, @{name=”count”;expression={[array]($_.EmailAddresses).Count}},EmailAddresses

Tek user için,

Get-Mailbox <Identity>| Select -Expand EmailAddresses Alias


Mailbox İstatistiklerini Görüntüleme:

Ufuk user mailbox’ ı için bir istatistik çekelim.

Get-MailboxStatistics ufuk | FL DisplayName,StorageLimitStatus,TotalItemSize,TotalDeletedItemSize,ItemCount,DeletedItemCount


User Mailbox’ ın kota bilgilerini görüntülemek için,

Get-Mailbox Ufuk | FL *Quota


Exchange Online üzerinde ki bütün Mailbox’ların kota bilgilerini görebilmek için,

Get-Mailbox -ResultSize Unlimited | FL DisplayName,Alias,*Quota


Exchange Online User Mailboxlarının son logon zamanlarını görebilmek için,

Get-mailbox -Resultsize unlimited| Get-MailboxStatistics | Select Displayname,Lastlogontime | Sort-Object LastLogonTime


Group Bilgilerini Görüntülemek:

Bütün Distribution Group bilgilerini görebilmek için,

Get-DistributionGroup | FL Name,DisplayName,GroupType,PrimarySmtpAddress


Exchange Online Mail Contactları görebilmek için,

Get-MailContact


Export User Mailbox’s information:

Get-Mailbox -Filter ‘(RecipientTypeDetails -eq “UserMailbox”)’ | Select RecipientTypeDetails,Name,Alias | Export-CSV c:\exonline.csv


Exchange Online Export User Mailbox Mailboxes Content Folders, Items:

Bütün Exchange Online User Mailbox’ların itemleri ve boyutlarını görüntülemek için,

Get-Mailbox | Select-Object alias | ForEach-Object {Get-MailboxFolderStatistics -Identity $_.alias | Select Identity,ItemsInFolder,FolderSize} | Export-CSV c:\exonlineREPORT.csv –NoTypeInformation



Son Logon Olan Exchange Online User Mailbox’ ların Raporunun Alınması:

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Select DisplayName,lastlogontime,lastlogofftime | Sort-Object DisplayName -descending | Export-CSV c:\LASTLOGON.csv –NoTypeInformation



Faydalı olması dileğiyle.

3 Responses to “Exchange Online – PowerShell Üzerinden User Mailbox İşlemleri”

Leave a Reply

Your email address will not be published. Required fields are marked *