When migrating from Exchange 2003 Outlook 2003 clients don’t see free/busy

When you are migrating users from Exchange 2003 to Exchange 2007 and 2010, users that uses Outlook 2003 stop seeing Free/Busy on the users after you turn off or remove Exchange 2003. This has happened to me on two occasions now and you also see the following Event ID:

Event ID : 8207
Category : General
Source : MSExchangeFBPublish
Type : Error
Message : Error updating public folder with free/busy information on virtual machine <Exchange2007ServerName> . The error number is 0x80004005

To resolve the situation do the following:

  • Open the Exchange Management Shell
  • Run the following command
    • get-publicfolder -Identity “\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY” -Recurse | fl name,Replicas
  • Notice that at least one of the SCHEDUE+ FREE BUSY folders is missing an Exchange 2010 or Exchange 2007 server listed as a replica. For example, the output may appear as follows:
    • Name : EX:/o=contoso/ou=First Administrative Group Replicas : {}
  • Run the following to add the Exchange 2007 server as replica for the folder
    • Set-publicfolder –identity “\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY\EX:/o=<netbios domain name>/ou=First Administrative Group” –Replicas “<exchange server>\Second Storage Group\Public Folder Database”
  • Verify that the Exchange 2007 server is added as replica

Note All users whose free/busy data is not populated must accept or decline a meeting request to populate the free/busy data.

For more information see: http://support.microsoft.com/kb/945602

Exchange Best Practices Analyzer on Server 2008

To be able to install and run the Exchange Best Practices Analyzer v2.8 on a Server 2008, Vista and Windows 7 you need the following requirements

  1. Microsoft .NET Framework Version 1.1
  2. Common HTTP Features
    1. From Command Prompt run Servermanagercmd.exe -i Web-Common-Http
    2. If you later need to remove run the command Servermanagercmd.exe -r Web-Common-Http
  3. When installed, make sure to run as administrator

Exchange 2007 SP2 released!

This is an important milestone in preparation for Exchange 2010. You can grab it here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=4c4bd2a3-5e50-42b0-8bbb-2cc9afe3216a

The service pack is so large because it is the complete installation files. You can install a new server using this download only. The Exchange 2007 SP2 Build number is 8.2.176.2

Go through the Exchange 2007 Service Pack 2 Prerequisites:

  • Backup System State on the Schema master
  • Patch the Exchange server OS to the highest level
  • Extend the Schema
  • Prepare Active Directory
  • Install Windows Installer 4.5
  • Uninstall Interim Updates

See  the full details at: http://msexchangeteam.com/archive/2009/08/28/452209.aspx

Exchange 2007 SP2 is able to install in a Server 2008 R2 domain but it wont be supported to install on Windows Server 2008 R2 machine. See this post on why: http://msexchangeteam.com/archive/2009/09/21/452567.aspx

Exchange and OCS Google custom search

Exchange and OCS Google custom searchI have created a Custom Search engine using Google custom search. I have set it up to only search the sites, blogs and technical resources that I have specified. I will use this search engine when troubleshooting and finding useful information. The point is to remove all the unnecessary hits you get from using the regular search engine and make sure I get hits from the brightest bloggers out there.

I have tried to collect good blogs and resources for Exchange and OCS and have made a list of the sites that are added. Try it out and please let me know if there are sites that should be in the search engine and I’ll add them.

http://anewmessagehasarrived.blogspot.com/
http://aspoc.net/
http://blog.insideocs.com/
http://blog.tiensivu.com/aaron/
http://blogs.3sharp.com/deving/
http://blog.misthos.com/
http://blogs.msdn.com/byrons/
http://blogs.msdn.com/dgoldman/
http://blogs.msdn.com/douggowans/
http://blogs.pointbridge.com/Blogs/schertz_jeff/pages/
http://blogs.technet.com/benw/
http://blogs.technet.com/evand/
http://blogs.technet.com/jenstr/
http://blogs.technet.com/jkunert/
http://blogs.technet.com/mfugatt/
http://blogs.technet.com/scottschnoll/
http://blogs.technet.com/themasterblog/
http://blogs.technet.com/toml/
http://blogs.technet.com/uc/
http://cacorner.blogspot.com/
http://cmcgreanor.wordpress.com/
http://communicationsserverteam.com/
http://communicatorteam.com/
http://edge.technet.com/Tags/Exchange/
http://edge.technet.com/Tags/OCS/
http://evangelyze.net/cs/blogs/mike/
http://exchangeinbox.com/
http://exchangeshare.wordpress.com/
http://gsexdev.blogspot.com/
http://mostlyexchange.blogspot.com/
http://msexchangeteam.com/
http://msexchangetips.blogspot.com/
http://msgoodies.blogspot.com/
https://msunified.net/
http://ocsguy.com/
http://smtp25.blogspot.com/
http://social.microsoft.com/Forums/en-US/communicationsserver/
http://social.technet.microsoft.com/Forums/en-US/exchange/
http://social.technet.microsoft.com/Forums/en-US/exchange2010/
http://social.technet.microsoft.com/Forums/en-US/exrca/threads/
http://technet.microsoft.com/en-gb/library/
http://theessentialexchange.com/blogs/michael/
http://theucguy.wordpress.com/
http://unified-communications.blogspot.com/
http://waveformation.com/
http://www.exchangepedia.com/blog/
http://www.msexchange.org/
http://www.ocspedia.com/
http://www.outlook-web-access.com/
http://www.petri.co.il/
http://www.robichaux.net/blog/
http://www.shudnow.net/
http://www.telnetport25.com/
http://www.viveksharma.com/techlog/

Update 11.08.09: Added Exchange and OCS blogs from Pointbridge
http://blogs.pointbridge.com/Blogs/mcgillen_matt/pages/
http://blogs.pointbridge.com/Blogs/steele_aaron/Pages/
http://blogs.pointbridge.com/Blogs/nielsen_travis/pages/
http://blogs.pointbridge.com/Blogs/enger_erik/pages/
http://blogs.pointbridge.com/Blogs/greve_david/pages/

Update 14.08.09 added the following blogs taken from the great collection over at the Communicatins Server Team:
http://blogs.msdn.com/midunn/
http://blogs.msdn.com/scottos/default.aspx
http://blogs.technet.com/brettjo/default.aspx
http://blogs.technet.com/dodeitte/default.aspx
http://blogs.technet.com/dougl/
http://blogs.technet.com/gclark/default.aspx
http://blogs.technet.com/jitreddy/
http://blogs.technet.com/jkruse/default.aspx
http://blogs.technet.com/kpalmvig/
http://blogs.technet.com/msukucc/
http://blogs.technet.com/perez/default.aspx
http://blogs.technet.com/ramo/
http://blogs.technet.com/rickva/default.aspx
http://blogs.technet.com/ucedsg/default.aspx
http://chrislehr.com/blog.htm
http://www.cinline.se/
http://it-proknowledge.blogspot.com/
http://msmvps.com/blogs/andersonpatricio/default.aspx
http://msmvps.com/blogs/ehlo/default.aspx
http://russkirk.typepad.com/
http://servusinc.org/myblog/
http://unifiedcommunications.mindsharpblogs.com/RussK/default.aspx
http://www.exchange-genie.com/
http://www.leedesmond.com/weblog/
http://www.technotesblog.com/
http://www.unifysquare.com/blog/

Update 07.02.10 added the following blogs
http://www.msexchangeguru.com
http://www.msexchangegeek.com
http://www.nitingupta.in/blogs
http://howtoexchange.wordpress.com/

Update 02.05.10 added the following blogs
http://www.mikepfeiffer.net
http://sysadmin-talk.org/

Update 24.10.10 added the following blog
http://blog.schertz.name/
http://marjuss.wordpress.com/

How to save your Exchange 2007 PowerShell session transcript

I was doing some troubleshooting when I came over an article for automating the process for saving your transcript in PowerShell to a file. The article can be found here : http://blogs.technet.com/benw/archive/2007/07/24/how-to-save-your-exchange-2007-powershell-session-transcript.aspx

In the article the author talks about editing the PowerShell Profile. I cant do this for every customer site I am at, so I have edited the syntax to fit my needs. If this is run after you launch PowerShell the file is saved at the root of your C drive.

CD \
$date = get-date -UFormat %y%m%d
Start-Transcript c:\$date.txt -append -noclobber

This will set the working directory to the root of the C drive (gives you more real estate to work with), defines a variable called $date, and specifies that it will get the date in the format of YearMonthDay (i.e. 090706), then tells Powershell to start the transcript, and it uses the variable we defined earlier to automatically create a new text file based on the current date.  Additionally, since the default behavior of start-transcript is to overwrite the previous file, we are telling it to append to an existing file (if present), and the -noclobber tells it to not overwrite the previous file.

Powershell does have some other options here.  The Start-Transcript command includes a -Path parameter that you can define, but it is not used here.

Microsoft Office Visio Stencils for Exchange 2007 and OCS 2007

[tweetmeme source=”stalehansen” only_single=false]Microsoft Office Visio

Update November 2010: Many of you reach this site while searching for the Exchange 2010 Visio stencil. They are now released and can be downloaded here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=901d471c-8bd9-47ad-b6db-452309f12ebe. Also check out Visio stencils for IT Pro posters.
 
Are you creating new diagrams or architecture drawings for your OCS rollouts? If so, take advantage of the new OCS 2007 Visio stencils. The icons in the stencil include all OCS 2007 components. They also include various individual functions that you can use to create your own new icons. The icons and your new icons can be added easily to the stencil. Download it here: http://www.microsoft.com/downloads/details.aspx?FamilyID=543705f6-d02a-436e-8b34-5c796550022a&displaylang=en
 
The Exchange 2007  stencil and template provided enable you to create Visio drawings that contain Exchange Server 2007 objects. These shapes include icons for Exchange 2007 server roles, networking, telephony and Unified Messaging objects, Active Directory and directory service objects, client computers and devices, and other Exchange organization elements. Download it here: http://www.microsoft.com/Downloads/details.aspx?familyid=45F7EA49-CEB2-4B04-8D46-2B0AE5E10694&displaylang=en
 

Scalability of Combined CAS and Hub Roles in Exchange 2007

From the White Paper: Determining the Scalability of Combined Client Access and Hub Transport Server Roles in Exchange 2007 over at Technet. http://technet.microsoft.com/en-us/library/dd901772.aspx

Conclusion

We found that the Client Access server and Hub Transport server roles can be combined and supported in most environments. Based on the test results, we recommend the following hardware configuration for servers that are running both the Client Access and Hub Transport roles:
  • 8 processor cores
  • 12 GB of RAM
  • Pagefile size, RAM + 10MB (for systems with 8 GB of RAM or less, set pagefile to RAM * 1,5)

The tests showed that a server with 8 processor cores and 12 GB of RAM provides an optimal balance of server costs and scalability. This configuration allows a combined-role server to handle significantly more load than a 4-core server if the number of clients increases and if the clients access processor resources heavily. Clients such as Outlook Web Access and Exchange ActiveSync consume more of the processor resources of a Client Access server than do clients such as Outlook. Increasing processor resources and memory on a Hub Transport server allowed the server to handle an increased average message size. There was a direct correlation between an increase in average message size and greater processor use. Having more available memory also allowed the server to better handle transient events, such as transport queue growth.

Key considerations for supporting the two roles on a single Exchange server are:

  • All deployments should take advantage of the transport database maximum cache size recommendations. This helps avoid back pressure events. For more information, see the Exchange Team Blog article New maximum database cache size guidance for Exchange 2007 Hub Transport Server role.
  • Consider carefully both RAM and processor requirements when you’re planning server hardware. Be sure you understand the following areas of resource constraint:
    • The Hub Transport role is primarily processor and disk intensive.
    • The Client Access server role is primarily memory intensive.
    • The combined Client Access and Hub Transport server is primarily processor constrained.
  • A single 4-core, 8-GB RAM, combined-role server can service the same load as two 2-core, 4-GB RAM, single-role servers.
  • A single 8-core, 16-GB RAM, combined-role server can service the same load as two 4-core, 8-GB RAM, single-role servers.
  • Based on these tests, we don’t recommend deploying servers with 2 processor cores or 4 GB or less of RAM for use as combined-role servers.

How to Modify a Database Size Limit

The default database size limit for Exchange 2007 Standard Edition RTM is 50 gigabytes (GB). In Exchange 2007 Standard Edition SP1 the limit is 250GB. There is no default database size limit for the Exchange 2007 Enterprise Edition. The Exchange store process checks database size limits periodically and dismounts a database when the size limit is reached. A warning is logged using Event ID 9685 which tells you that the  database has exceeded the size limit. You can modify the database size limit by adding or changing a value in the registry.

Database Size Limit is a useful way for administrators to have control over their Exchange environment. The Exchange server will react by dismounting the store if the size gets out of hand, and it is a good way to be sure that the database size never outgrows the logical partition it resides on.

Procedure

  1. To use the Registry Editor to modify a database size limit
  2. Start Registry Editor (regedit).
  3. Locate the following registry subkey:
    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<SERVER NAME>\Private-<database GUID>
    2. You can get the GUID of a database by running the following command in the Exchange Management Shell: Get-MailboxDatabase -Identity “<server name>\<storage group name>\<database name>” | Format-Table Name, GUID
  4. If the Database Size Limit in GB DWORD exists for the subkey, change its value to the desired size in gigabytes.
  5. If the Database Size Limit in GB DWORD does not exist for the subkey, create a new DWORD with that name, and then set its value to the desired size in gigabytes
  6. Restart the Microsoft Exchange Information Store service
  7. Check evenviewer for the following events:
    1. Event ID 1216 which tells you how much size is allocated and what the current physical size is

Source: http://technet.microsoft.com/en-us/library/bb232092.aspx
See this great post about Exchange database size and limits: http://blog.sembee.co.uk/archive/2009/07/21/105.aspx

Administration of Public Folders with the introduction of Exchange 2007

There are some key commandlets to use when using EMS to administer Public Folders in Exchange 2007. Here is a short list of useful commands

  • For Public Folders
    • Get-publicfolder -recurse |fl name,replicas
  • For System Folders
    • Get-public folder \non_ipm_subtree |fl name, replicas

To Move replicas to Exchange 2007

Moveallreplicas.ps1 –server<sourceserver> -newserver<destinationserver>

Note: Scripts are found at %SystemDrive%\Program Files\Microsoft\Exchange Server\Scripts. To run a script, type the following in the Exchange Management Shell:

[PS] C:\>cd $exscripts

[PS] C:\Program Files\Microsoft\Exchange Server\Scripts>.\Moveallreplicas.ps1

To add or remove a server from a public folder replica’s properties including subfolders you can use the following two scripts:
RemoveReplicaFromPFRecursive.ps1 –TopPubicFolder <\folder> –Server toRemove <servername>

AddReplicatoPFRecursive.ps1 –TopPulblicFolder <\folder> -ServerToAdd <servername>

For more information see this post: http://msexchangeteam.com/archive/2007/06/25/445429.aspx

Allowing application servers to relay off Exchange Server 2007

To allow application servers to relay through your Exchange 2007 server do the following

  • Create a new internal receive connector in EMC
  • Add the servers that need to relay
  • When created edit the settings and navigate to Permission Groups
  • Select only Anonymous users, deselect other options
  • Navigate to the Authentication tab
  • Deselect every checkbox so that nothing is selected
  • Apply changes
  • Open EMS and run the following commandlet
  • Get-ReceiveConnector “InternalRelay” | Add-ADPermission -User “NT AUTHORITY\ANONYMOUS LOGON” -ExtendedRights “ms-Exch-SMTP-Accept-Any-Recipient”
  • Relay should now work for the selected servers

This information was based on this blog, http://msexchangeteam.com/archive/2006/12/28/432013.aspx