Outlook 2013: Conditional formatting settings will not save.
Resolution: run outlook from command line with the /cleanviews switch.
Example: “C:Program Files (x86)Microsoft OfficeOffice15OUTLOOK.EXE” /cleanviews

Working with Mailbox Rules in Powershell

Working with Mailbox Rules in Powershell
1. Get all forwarding rules in an organization:
foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ForwardTo} | fl MailboxOwnerID,Name,ForwardTo >> C:AllForwardRules.txt }
2. To get inbox rules for a mailbox:
Get-Inboxrule. You can also do get-inboxrule | Fl to see details of the rule
3. Type Get-command *inboxrule* to see list of commands for inbox rules
4. To remove a rule, type get-inboxrule | remove-inboxrule
5. Create inbox rule called Junk for a set of users in a particular OU called Test. this will rule will move messages with subject ‘spam” to a folder called
Junk email
$mailboxes = Get-mailbox -organizationalUnit test
$mailboxes | % { }
$mailboxes | % { New-inboxrule -Name Junk -mailbox $_.alias -subjectcontainswords “[spam]” -movetofolder “$($_.alias):Junk Email” }

Scenario: Customer is running Exchange 2010 and Exchange 2013 servers in coexistence. The servers have the latest rollups and patches. Users using Outlook 2013 with mailbox on Exchange 2013 are not able to edit calendar of an Exchange 2010 mailbox user.

Note that customer is running Windows 7(sp1) and Outlook 2013 sp1

Resolution:  Run windows update and ensure Outlook and Office 2013 are all patched to this version: 15.0.4615.1000

Exchange server is unavailable error from a CX 600 Lync Phone

Error:  Exchange server is unavailable error from a CX 600 Lync Phone
Synopsis: This error is expected. No matter which Lync Phone Edition – Information Worker (Aastra 6725ip, HP 4120 and Polycom CX600) or Common Area device that supports “PIN and Extension Login” you like to use. This is because the Authentication Method that really is used when PIN & Extension Login is performed is: the new Lync TLS-DSK, a kind of certificate based (Derived Session Key – DSK) authentication.

TLS-DSK is not supported by the Exchange Webservices (EWS,UM, OAB, etc.). So a device that only has a Derived Session Key (an not the full AD user credentials, for e.g. NTLM Authentication, which is supported by Exchange Webservices), will never be able to Logon to Exchange, till Exchange also supports TLS-DSK.

When tethering an Information Worker Phone via USB, you provide your full AD user credentials to the device (via a Lync client POP-UP-Dialog). This credentials allow the device to use NTLM Authentication when it logs into Exchange Webservices. The same, if you use a Tanjay (CX700 or LG Nortel IP8540) and enter your full credentials via the full quertz keyboard in Touch-Display. But no matter if you use devices or the Lync client itself, all of them support TLS-DSK, cause it is the only authentication method that can work without an DC (Domain Controller) available. In case of outages or SBA (Branch Survivabilty) scenarios, TLS-DSK will continue to work, while NTLM or Kerberos will stop till a DC becomes available again.

Resolution: Plug usb port of lync phone to a computer with Lync enter AD credentials when prompted. USB cable can unplugged given that the AD credentials will now be cached on the Lync phone

Script for converting Bounce Back LegacyExchangeDN to the X500 format

Scenario:  You have to convert the LegacyExchangeDN that is being provided to you in bounce back emails with the special charter formatting into an X500 address.  This may need to be done if mailboxes are disabled and recreated as new mailboxes or when performing migrations.

From the bounce back message, copy and paste the address into the $Addr variable below and then execute this script:

#Edit the $Addr Variable
$Addr = "IMCEAEX-_O=TEST+20ENTERPRISE+20EXCHANGE_OU=EXCHANGE+20ADMINISTRATIVE+20GROUP+20+28FYDIBOHF23SPDLT+29_CN=RECIPIENTS_CN=4bd8a35a90e2441a4587635898d62f9f-s@domain.com"

#Run the following against the variable
$Addr = $Addr -replace "IMCEAEX-",""
$Addr = $Addr -replace "@.*$",""
$Addr = $Addr -replace "_","/"
$Addr = $Addr -replace "+20"," "
$Addr = $Addr -replace "+28","("
$Addr = $Addr -replace "+29",")"
$Addr = $Addr -replace "+2C",","
$Addr = $Addr -replace "+5F","_"
$Addr = $Addr -replace "+40","@"
$Addr = $Addr -replace "+2E","."
$Addr= “X500:$Addr”
Write-Host $Addr

#Add the Email Address to the Mailbox
set-mailbox usera -emailaddresses @{Add=$Addr}

Script to see ActiveSync Device Statistics from a filtered Mailbox List.

Scenario: Customer wants to a list of all users with active mobile devices so they can see lastsuccesssync, devicepolicyapplied, etc of the devices
$Mailboxes = Get-CasMailbox -Filter {HasActiveSyncDevicePartnership -eq $True -and -not displayname -like “CAS_{*” -and -not displayname -like “Extest_*”} –ResultSize Unlimited
$Devices = $Mailboxes | %{Get-ActiveSyncDeviceStatistics –Mailbox $_.Identity}

$Devices | Export-CSV -Path C:scriptstest.csv

Get a list of all the servers with a specific eventid in the eventlog.
Example below is for finding eventid 6008.

$servers = gc C:servers.txt
foreach ($server in $servers)
{
    $events = Get-EventLog -ComputerName $server -LogName “System” | Where-Object {$_.EventID -eq “6008”}
    if ($events -ne $null)
    {
        foreach ($event in $events)
        {
            $time = $event.TimeGenerated
     Write-host $time $server
        }
    }
}

Accessing a shared Calendar of a Exchange 2010 mailbox from an Exchange 2013 mailbox via OWA

Scenario:  A mailbox on Exchange 2013 SP1 cannot open or edit calendar entries of an Exchange 2010 SP3 mailbox using OWA (Outlook Web App).  Attempting to open the calendar entry does not appear to do anything. The user has explicit rights to this shared calendar.

Cause:  Per Microsoft, this is an unsupported configuration for OWA.  This is by Microsoft design.

Work Arounds: 
1. Use an Outlook client to view calendar information between the 2013 and 2010 mailboxes.  
OR
2. Move the Exchange 2010 mailbox to Exchange 2013.

Reseed Exchange Database Copy via Exchange Powershell

Below are the steps to reseed a Database Copy via Exchange PowerShell. The database copy that needs to be reseeded is DB01 on the mailbox Server MBX04.  We will use the server MBX03 that has a healthy database copy to perform the reseed.

1. Check to see if the problematic database copy has a failed and/or suspended status:
          get-mailboxdatabasecopystatus DB01

2. If the database copy is already failed and/or suspended, you can skip this step. If the database copy you wish to reseed has a status of healthy, you must suspend the database copy:
          suspend-mailboxdatabasecopy  DB01MBX04

3. To reseed the mailbox database copy, run the following:
          update-mailboxdatabasecopy DB01MBX04 -sourceserver MBX03 -DeleteExistingFiles