Monday, May 26, 2014

Adding Favorites to Visual Studio Explorer

When I do course writing projects for Microsoft, we use Source Control Explorer from Visual Studio to control access to the documents. You may also know this as Team Foundation Studio (TFS).

I recently upgraded my laptop and at the same time downloaded the version of Source Control Explorer for Visual Studio 2013. Previous versions would start at the same point in the file structure as where I left off. But VS 2013 likes to collapse the entire folder structure and forces me to browse through the whole structure to get to my work.

Fortunately, I've just found a free add on for Visual Studio that lets you create favorites. I'm not using this to get me where I need to be in the folder structure more quickly. It's a minor thing, but it saves me a few minutes each time I open it.

To learn more or obtain this extension see the developer's web page here:
Also, for Visual Studio 2013, it does not work unless you also install the Microsoft Visual Studio 2013 Shell (Isolated) software. If this is missing, the extension doesn't load properly. This is noted by the developer, but it's easy to miss. You can obtain the necessary software here:

Monday, May 19, 2014

TechEd 2014 Sessions Available at Channel 9

In case you (like me) did not have time to make it down to TechEd 2014, they've posted recorded sessions on Channel 9. It's pretty much like being there.

Friday, April 25, 2014

Forward Messages and Leave in Mailbox

One of the fairly common tasks for Exchange administrators is to configure forwarding on a mailbox. Previous versions of Exchange gave you the option to leave a copy of forwarded messages in the mailbox and the option was accessible in the graphical administration tools. As you can see in the screenshot below, for some reason in Exchange 2013 this option was left out of the graphical/web interface.
When you enable forwarding in the web interface, by default the message will not be left in the recipient mailbox. However, the option is still there if you use PowerShell.

The Set-Mailbox cmdlet is your friend:

Set-Mailbox -Identity "user" -ForwardingAddress "otheruser@domain.com" -DeliverToMailboxAndForward $true



Thursday, April 24, 2014

Microsoft Exchange Conference 2014 - Sessions Online

I was too busy to attend the Microsoft Exchange Conference this year in Austin. Fortunately for us they recorded most (if not all) of the breakout sessions and made them available on Channel 9. It looks like over 50 session are online and available for free.

You can see them here:

Thursday, April 3, 2014

New Pagefile Sizing for Exchange 2013

Over the last few years, memory has become increasingly inexpensive. As a result, for scalability, you can often see Exchange servers with 64GB or 128GB of RAM.

In the past, Microsoft's guidance on pagefile size has been system memory plus some amount to allow for the contents of memory to be written to disk in the event of a crash. Basically, this is for troubleshooting information. For Exchange 2013, the guidance has been RAM+10MB.

Unfortunately this means that a large amount of disk space is used for that pagefile with little benefit because it's not typically used much. Certainly not the full RAM of the system. I've been arguing for a long time that unless you are troubleshooting bluescreen events with Microsoft support, there is no need for this large of a pagefile for Exchange or regular Windows servers.

As of Exchange 2013 SP1 the new guidance is to max out the pagefile at 32GB+10MB. Apparently Microsoft has been doing this internally for some time.

For more information:

Friday, March 28, 2014

Remove Exchange 2007 Public Folder Database After Exchange 2013 Migration

After I was done performing a migration from Exchange 2007 to Exchange 2013, I received the following error when trying to remove the public folder database from the Exchange 2007  EMC:
Object is read only because ti was created by a furture version of Exchange: 0.10 (14.0.100.0). Current supported version is 0.1 (8.0.535.0).
Ok. No problem. I'll just remove this from the Exchange 2013 side. However, I found that shell in Exchange 2013 does not have the Remove-PublicFolderDatabase cmdlet.

The only fix I found was to remove the public folder database by using ADSI Edit. You can find the public folder database in the following path in ADSI Edit:
  • Configuration\Services\Microsoft Exchange\OrganizationName\Administrative Groups\Exchange Administrative Group (FYDIBOHF23SPDLT)\Servers\ServerName\InformationStore\StorageGroupName\PublicFolderDBName
 After removing the public folder object, I could delete the storage group and uninstall Exchange 2007.

At this point, in the event log, I was seeing errors for the mailbox databases on the Exchange 2013 side like this:
Source: MSExchange ADAccess
Event ID: 2937
Process MSExchangeMailboxAssistants.exe (PID=XXX). Object (mailboxdatabase). Property [PublicFolderDatabase] is set to value [domain/Configuration/Deleted Objects/DatabaseName, it is pointing to the Deleted Objects container in Active Directory.

In Exchange 2013, the property is not used and you can't set the value to $null by using the Set-MailboxDatabase cmdlet. So, the fix is to yet again go into ADSI Edit and manually remove the value from the property in the mailbox database object as shown in the graphic below. Note that the property you edit is msExchHomePublicMDB.

The path to the mailbox databases is:
  • Configuration\Services\Microsoft Exchange\OrganizationName\Administrative Groups\Exchange Administrative Group (FYDIBOHF23SPDLT)\Databases\DatabaseName

Tuesday, March 25, 2014

Find Unused Exchange Mailboxes

Every once in a while you need to identify mailboxes that are no longer in use. This PowerShell command will find any mailbox where no one has logged on to the mailbox for 60 days.

Get-Mailbox | Get-MailboxStatistics | Where-Object {$_.LastLogonTime -lt (Get-Date).AddDays(-60)}

You can use this information to further investigate whether these mailboxes are required.

If the LastLogonTime is $null (blank) it means that the user has never logged on. This is normal for shared mailboxes and resource mailboxes.