Exchange Online – PowerShell Üzerinden User Mailbox İşlemleri
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.