Exchange 2007 Service Pack 1: Install Update #1

What ever happened to double clicking on an service pack and it just works?  I have had a hell of a time installing this in my lab, and I thought I should share some of my issues and fixes with the world at large.

NB: These are from my Test Lab and not production.  My test lab is running on a VMware ESX server (yeah, yeah I know, not supported!)  For any fixes I have found, it is down to you if you want to apply them, don’t come crying to me if they mess something up!

First the easy ones:

  • Got Forefront Security for Exchange Server. You need to upgrade it to Forefront Security for Exchange Server with Service Pack 1
    http://go.microsoft.com/fwlink/?LinkId=68589
  • When you run Exchange Server 2007 Service Pack 1 (SP1) on Windows Server 2003 or earlier versions of the operating system, we recommend that you install Microsoft .NET Framework 2.0 Service Pack 1 (SP1). If you cannot install .NET Framework 2.0 SP1, install hotfix Microsoft Knowledge Base article 942027 from http://go.microsoft.com/fwlink/?linkid=101219.

Now the interesting ones:

1) setup /mode:upgrade

Welcome to Microsoft Exchange Server 2007 Unattended Setup

Preparing Exchange Setup

The following server roles will be upgraded
    Hub Transport Role
    Management Tools

Setup previously failed while performing the action “Install”.  You cannot resume setup by performing the action “BuildToBuildUpgrade”.

Exchange Server setup encountered an error.

Fixed by Delete the following registry key
HKEY_LOCAL_MACHINESOFTWAREMicrosoftExchangev8.0HubTransportRoleWatermark

and Change the following registry key from Install to BuildToBuildUpgrade
HKEY_LOCAL_MACHINESOFTWAREMicrosoftExchangev8.0HubTransportRoleAction

See this for a bit more detail: http://msexchangeteam.com/archive/2007/05/21/439529.aspx


2) setup /mode:upgrade

Welcome to Microsoft Exchange Server 2007 Unattended Setup

Preparing Exchange Setup

The following server roles will be upgraded
    Hub Transport Role
    Management Tools

Performing Microsoft Exchange Server Prerequisite Check

    Organization Checks              ……………………. FAILED
     The Active Directory Schema must be modified and this user account has insu
fficient permissions. It must be a member of both the ‘Schema Admins’ and ‘Enter
prise Admins’ groups.

    Hub Transport Role Checks        ……………………. COMPLETED

The Exchange Server Setup operation did not complete. For more information, visit http://support.microsoft.com/ and enter the Error ID.

Exchange Server setup encountered an error.

Logon with an account that can extend the schema and re run setup


3) setup /mode:upgrade

Welcome to Microsoft Exchange Server 2007 Unattended Setup

Preparing Exchange Setup

The following server roles will be upgraded
    Mailbox Role
    Management Tools

Performing Microsoft Exchange Server Prerequisite Check

    Mailbox Role Checks              ……………………. FAILED
     Setup cannot continue with the upgrade because the ‘svchost’ () process (ID
: 628) has open files. Close the process and restart Setup.


The Exchange Server Setup operation did not complete. For more information, visi
t
http://support.microsoft.com/ and enter the Error ID.

Exchange Server setup encountered an error.

Some services might have open files and setup will let you know the process and PID. To find the process run tasklist | find “” and kill the process.

tasklist | find “628”
svchost.exe                    628 Console                    0      8,360 K

taskkill /PID 628 /f
SUCCESS: The process with PID 628 has been terminated.

Re Run setup


4) setup /mode:upgrade

Welcome to Microsoft Exchange Server 2007 Unattended Setup

Preparing Exchange Setup

The following server roles will be upgraded
    Hub Transport Role
    Management Tools

Performing Microsoft Exchange Server Prerequisite Check

    Hub Transport Role Checks        ……………………. COMPLETED

Configuring Microsoft Exchange Server

    Hub Transport Server Role        ……………………. FAILED
     Opening package ‘C:Program FilesMicrosoftExchange ServerTransportRoles
agentsHygieneASDat.MSI’ failed. Another version of this product is already ins
talled.  Installation of this version cannot continue.  To configure or remove t
he existing version of this product, use Add/Remove Programs on the Control Pane
l. Error code is 1638.


The Exchange Server Setup operation did not complete. For more information, visi
t http://support.microsoft.com/ and enter the Error ID.

Exchange Server setup encountered an error.

Not worked this one out yet!  I have a support case open with Microsoft.  Will let you know what the deal is when I find out

Exchange 2007: Store Memory!

I have to share this with you .. Checked out one my clusters today.  Only has 67 users on it, with 8 storage groups/databases.

Exchange2007

Just in case you can’t see the picture, that is 28gb for the store and check out the page file usage … yup @ around 30gb. I suppose if you have got the memory, you may as well use it!

Now this server has 8 cores and 32gb of ram!

Suppose the server boys should have given it more than a 2gb page file!

Should it be memory + 10mb or memory x 1.5

Answers on a postcard!

Technorati Tags: ,,

Exchange 2007 Service Pack 1: New cmdlets

Just run a get-help on an Exchange 2007 RTM vs Service Pack 1.  Here are the new cmdlets

New Cmdlet

Description

Disable-ContinuousReplicationHostName

Use the Disable-ContinuousReplicationHostName cmdlet to disable a Network Name and IP Address resource that was created using the Enable-ContinuousReplicationHostName cmdlet. These resources will be removed from their dedicated cluster group, and the cluster group will be deleted.

Disable-ServiceEmailChannel

The .NET service channel is introduced in Microsoft Exchange Server 2007 Service Pack 1 (SP1). This channel enables Exchange 2007 to store information that it will later forward to applications or devices that are not permanently connected to the Exchange server computer. The Disable-ServiceEmailChannel cmdlet disables the .NET service channel for a specific user. This cmdlet deletes the receive folder in the user’s mailbox under the root folder.

Enable-ContinuousReplicationHostName

Use the Enable-ContinuousReplicationHostName cmdlet to create a Network Name and IP Address resource in a dedicated cluster group that can be used for log shipping and seeding in a cluster continuous replication (CCR) environment.

Enable-ServiceEmailChannel

The .NET service channel is introduced in Microsoft Exchange Server 2007 Service Pack 1 (SP1). This channel enables Exchange Server 2007 to store information that it will later forward to applications or devices that are notpermanently connected to the Exchange server computer. The Enable-ServiceEmailChannel cmdlet enables the .NET service channel for a specific user. This cmdlet creates a receive folder in the user’s mailbox under the root folder named Service E-mail.

Get-X400AuthoritativeDomain

Use the Get-X400AuthoritativeDomain cmdlet to view the configuration information for the X.400 authoritative domains that are configured in your organization

Import-Mailbox

Use the Import-Mailbox cmdlet to import mailbox data from a .pst file to amailbox.

New-X400AuthoritativeDomain

Use the New-X400AuthoritativeDomain cmdlet to create and specify the X.400 authoritative domain for the Microsoft Exchange Server 2007 organization. The X.400 authoritative domain defines the standard fields for the namespace that is appended to the recipient identity for all mailboxes that are assigned an X.400 address.

Remove-X400AuthoritativeDomain

Use the Remove-X400AuthoritativeDomain cmdlet to remove an X.400 authoritative domain. When you remove an X.400 authoritative domain, the X.400 authoritative domain object is deleted from the Active Directory directory service.

Set-X400AuthoritativeDomain

Use the Set-X400AuthoritativeDomain cmdlet to edit an existing X.400 authoritative domain for the Microsoft Exchange Server 2007 organization. The X.400 authoritative domain defines the standard fields for the namespace thatis appended to the recipient identity for all mailboxes that are assigned an X.400 address.

Test-ImapConnectivity

Use the Test-ImapConnectivity cmdlet to verify that the IMAP4 service is running as expected. The Test-ImapConnectivity cmdlet can be used to test the   IMAP4 functionality for a specified Client Access server for all mailboxes on Exchange 2007 servers in the same Active Directory site.

Test-PopConnectivity

Use the Test-ImapConnectivity cmdlet to verify that the IMAP4 service is ru nning as expected. The Test-ImapConnectivity cmdlet can be used to test the  IMAP4 functionality for a specified Client Access server for all mailboxes on Exchange 2007 servers in the same Active Directory site.

Test-ReplicationHealth

Use the Test-ReplicationHealth cmdlet to check all aspects of replication, cluster services, and storage group replication and replay status to provid e a complete overview of the replication system.

Update-Recipient

Use the Update-Recipient cmdlet to add Microsoft Exchange Server 2007 attributes to recipient objects that are created by the global address list (GAL) synchronization management agent in Identity Lifecycle Manager (ILM) 2007. The recipient objects you modify using this cmdlet must reside on an Exchange 2007 server.

Exchange 2007 Service Pack 1: Schema Changes

Bl00dy hell .. why oh why .. I need to get AD sign off now before I can even install Service Pack1!

Ran a CSVDE to dump the Schema and then filtered in Excel.  I came up with these:

CN=ms-Exch-Storage-Group,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Schema-Version-Pt,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Resource-Property-Schema-Obsolete,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Extension-Attribute-13,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Resource-Property-Schema,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Foreign-Forest-Public-Folder-Admin-USG-Sid,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Internal-NLB-Bypass-Host-Name,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Additional-Flags,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Allow-Bluetooth,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Allow-SMIME-Encryption-Algorithm-Negotiation,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Approved-Application-List,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Max-Calendar-Age-Filter,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Max-Email-Age-Filter,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Max-Email-Body-Truncation-Size,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Max-Email-HTML-Body-Truncation-Size,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Min-Device-Password-Complex-Characters,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Require-Encryption-SMIME-Algorithm,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Require-Signed-SMIME-Algorithm,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Unapproved-In-ROM-Application-List,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Standby-Copy-Machines,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Resource-Schema,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Virtual-Directory,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Mobile-Mailbox-Policy,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=ms-Exch-Organization-Container,CN=Schema,CN=Configuration,DC=go,DC=,DC=net
CN=Site-Link,CN=Schema,CN=Configuration,DC=go,DC=,DC=net

At the same time Paul found this: http://technet.microsoft.com/en-us/library/bb738144.aspx

Microsoft Exchange Server 2007 Service Pack 1 (SP1) adds new attributes to the Active Directory directory service schema and makes other modifications to existing classes and attributes. This topic provides information about the Active Directory schema changes that occur when you install Exchange 2007 SP1. These changes are incremental and do not include changes that are made by the initial release of Exchange 2007.

HTC Shift: more delays

Rumor control has it that the shift will be delayed until at least the end of January 2008 due to battery issues.

It sould seem that lasting just about 1hr isn’t good enough ..deeeer really !!

Windows PowerShell Cookbook

In my past life I used to program dBase and Foxpro.  I am the sort of programmer that is kind of lazy, and I like looking for samples of code and then working by code around it, or using the sample to get an Idea how to do stuff.

Typically I use msdn and a number of blogs as my main source of stuff.  That was until I found the Windows PowerShell Cookbook.

Lee Holmes has created a book that is just what I want and need.  It gives me a description of things I would want to do with PowerShell and then working sample code. It is a god send.

Today examples are how can I get perfmon counters from another machine using PowerShell? That would be on Page 270 [Hint: New-Object System.Diagnostics.PerformanceCounter

What is the Page File for anyway?

Every day is a school day, and this make some light reading for a Monday Morning.  Time to start up perfmon on my Exchange Mailbox Cluster


Source: http://blogs.technet.com/askperf/archive/2007/12/14/what-is-the-page-file-for-anyway.aspx

… So, in simplistic terms, the page file is used by Windows to hold temporary data which is swapped in and out of physical memory in order to provide a larger virtual memory set.

… However, now consider a system managed page file on a 64-bit server with 32GB of RAM.  The page file size would range from 32GB to 96GB!  This is why understanding the performance of your server is so important.  Although there are general recommendations about page file sizing that are based on the amount of physical RAM in a system, this is not 100% valid.  If you think about it, the more memory you have, the less likely you are to need to page data out.

The page file needs of an individual system will vary based on the role of the server, load etc.  There are some performance counters that you can use to monitor private committed memory usage on a systemwide or per-page-file basis.  There is no way to determine how much of a process’ private committed memory is resident and how much is paged out to paging files.

… So with this information in mind, what’s the best way to determine the correct page file size?  The first thing is to gather a baseline.  Set up a page file that is statically sized to 1.5GB of RAM.  Then monitor the server using Performance Monitor over a period of time.  Ensure that the peak usage times of the server are monitored as this is when the server will be under the most load (for example, month-end / year-end processing etc).  Using the information from the counters above and also examining the Peak Commit Charge number in Windows Task Manager (shown below) will give you an idea how much page file space would be needed if the system had to page out all private committed virtual memory.