Wednesday, March 7, 2018

Repair All Exchange DAG Content Indexes

For anyone still fighting with on-prem Exchange content index issues. Here's a quick to repair any unhealthy indexes, from Powershell:


get-mailboxdatabasecopystatus * | where {$_.ContentIndexState -ne "Healthy"} | Update-MailboxDatabaseCopy -CatalogOnly

Sunday, January 22, 2017

Sunday, October 4, 2015

Total Mailbox Item Size for a list of Mailboxes

Here's a quick cmdlet for gathering the mailbox total item size for a list of mailboxes:

Get-Content <filename path> | Get-Mailbox | Get-MailboxStatistics | select-object displayname, {$_.TotalItemSize.Value.ToKB()} | Export-CSV <export file path>

Wednesday, September 23, 2015

Exchange 2010 - Get the last logon for a list of mailboxes

So, after playing around with a request from my client, I've put a cmdlet together. This Powershell command allows the admin to provide a list of mailbox display names for the last LOGON statistics. The client is attempting to determine which mailboxes should be migrated, by looking at the last LOGON statistics. I used the following steps to help out:

1.) gather a list of mailbox display names for migration consideration

2.) run the following Powershell command to get the last LOGON stats for the list of mailboxes.

Get-Content <list file path> | Get-Mailbox -resultsize unlimited | Get-Mailboxstatistics | select displayname, lastlogontime | Export-CSV <export file path>






-keep building

Wednesday, April 3, 2013

Converting Exchange Public Folders



 Converting Public Folders to Shared Mailboxes
 
 

1.) Create the new Shared mailbox.
a. Give it the same name as the public folder being converted.
b.Make sure the users who have access to the public folder are added to the security group so they have Full Access and Send-As rights to the new mailbox.

2.) Using PowerShell , note the LegacyExchangeDN of the mail-enabled public folder:
Get-MailPublicFolder <pf-smtpaddress> | Select LegacyExchangeDN

3.) Using PowerShell, note the SMTP addresses assigned to the public folder
(Get-MailPublicFolder <pf-smtpaddress>| Select emailaddresses).emailaddresses | where {$_.prefixstring -eq 'smtp'}

4.) Mail-disable the public folder and allow a few minutes for AD to replicate this change. Mail destined to the original public folder may bounce during this time frame.
5.) Add the LegacyExchangeDN value to the new shared mailbox as an X.500 email address. This will allow mail originally destined for the public folder to be delivered to the new shared mailbox instead. This is to support replies to older messages.
6.) Add the SMTP addresses to the new shared mailbox if they are not already auto-assigned by the email address policy.