Check out the post at http://www.mikepoulson.com/2013/08/getting-detailed-tfs-build-log.html on how to get the ActivityLog information directly from the TFS Server via APIs. This saves from attempting to parse the ActivityLog.xml file that is created with each BuildDefinition build.
Over at my personal Blog I provide a powershell example of how users can migrate their personal TFS Work Item queries from one project to another. This is useful when migrating from a TFS 2010 server to a new TFS 2012 server. http://www.mikepoulson.com/2013/08/migrating-tfs-2010-or-2012-personal.html