<

ampersand sign in NETBIOS domain name causing Exchange 2010 SP1 install issues

Published on
7,363 Points
4,363 Views
Last Modified:

I am posting this in case anyone runs into similar issues that I did, this may save you a lot of grief:


Condition:

1. Your NetBIOS domain name contains an ampersand "&" character.  (e.g. AT&T)

2. You've tried to run any Microsoft installation that requires use of XML scripts.  In my case, this was during an Exchange 2010 SP1 install.


Description:

During our attempt in upgrading Exchange 2010 RTM to SP1, we were fine with the upgrade and were able to install CAS and Hub Transport roles without any issues.  However the Mailbox role did not install properly and the error messages suggest that it failed while executing "ManageScheduledTask.ps1" and "CheckDatabaseRedundancy.ps1" -- both of which make use of XML scripts.  This is caused by the "&" sign in our NetBIOS domain name which actually means something in XML and "&amp;" should be used when a literal "&" is required.


Resolutions to consider:

1. Create a child domain, create an account in that child domain and assign this account appropriate Exchange permission to carry on with the install.  That worked for us.


2. If you're an XML expert I'd imagine that modifying the XML code appropriately to include "&amp;" in place of the "&" will work as well.


3. Certain applications will allow installation to complete when logged on as "local administrator" 


In speaking to Microsoft CritSit, this has happened to many Microsoft customers that have "&" in their NETBios domain name and had issues with products such as SMS/Config Mgr. / team foundation server, etc.  If you check MS knowledgebase, there is a KB article suggest that "&" is NOT a illegal character... http://support.microsoft.com/kb/909264 .


Sample Error in the log:

[11/23/2010 03:39:57.0176] [2] Unexpected Error

[11/23/2010 03:39:57.0176] [2] [ManageScheduledTask.ps1] Create-TaskUsingCOM: Task 'Database One Copy Alert' was not registered successfully on server 'your-server-name'.

[11/23/2010 03:39:57.0176] [2] Unexpected Error

[11/23/2010 03:39:57.0176] [2] [ManageScheduledTask.ps1] Failed to create the task.

[11/23/2010 03:39:57.0192] [1] The following 11 error(s) occurred during task execution:

[11/23/2010 03:39:57.0192] [1] 0.  ErrorRecord: Cannot convert value "<?xml version="1.0" encoding="UTF-16"?>

<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">

  <RegistrationInfo>

    <!-- <Date>2010-01-15T03:00:00</Date> -->

      <Date>2010-11-22T22:39:47</Date>

    <!-- <Author>SDIMEB-DOM\administrator</Author> -->

      <Author>S&WCHSC\userid</Author>

    <Description>Database redundancy monitoring task.</Description>

  </RegistrationInfo>

  <Triggers>

    <TimeTrigger>

      <Repetition>

        <Interval>PT1H</Interval>

        <StopAtDurationEnd>false</StopAtDurationEnd>

      </Repetition>

      <!-- <StartBoundary>2010-01-15T03:00:00</StartBoundary> -->

        <StartBoundary>2010-11-22T22:41:47</StartBoundary>

      <ExecutionTimeLimit>PT2H</ExecutionTimeLimit>

      <Enabled>true</Enabled>

    </TimeTrigger>

  </Triggers>

  <Principals>

    <Principal id="Author">

      <UserId>NT AUTHORITY\SYSTEM</UserId>

<!--      <LogonType>Password</LogonType>    -->

      <RunLevel>HighestAvailable</RunLevel>

    </Principal>

  </Principals>

  <Settings>

    <MultipleInstancesPolicy>Queue</MultipleInstancesPolicy>

    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>

    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>

    <AllowHardTerminate>false</AllowHardTerminate>

    <StartWhenAvailable>true</StartWhenAvailable>

    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>

    <IdleSettings>

      <StopOnIdleEnd>true</StopOnIdleEnd>

      <RestartOnIdle>false</RestartOnIdle>

    </IdleSettings>

    <AllowStartOnDemand>true</AllowStartOnDemand>

    <Enabled>true</Enabled>

    <Hidden>false</Hidden>

    <RunOnlyIfIdle>false</RunOnlyIfIdle>

    <WakeToRun>true</WakeToRun>

    <ExecutionTimeLimit>PT2H</ExecutionTimeLimit>

    <Priority>7</Priority>

      <!-- <RestartOnFailure>

      <Interval>PT5M</Interval>

      <Count>5</Count>

    </RestartOnFailure> -->

  </Settings>

  <Actions Context="Author">

    <Exec>

      <!-- <Command>D:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command> -->

        <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>

      <!-- <Arguments>-NonInteractive -WindowStyle Hidden -command "D:\test.ps1 -MonitoringContext -ErrorAction:Continue"</Arguments> -->

        <Arguments>-NonInteractive -WindowStyle Hidden -command "&amp; 'E:\Program Files\Microsoft\Exchange\V14\Scripts\CheckDatabaseRedundancy.ps1' -MonitoringContext -ShowDetailedErrors -ErrorAction:Continue"</Arguments>

      <!-- <WorkingDirectory>D:\</WorkingDirectory> -->

    </Exec>

  </Actions>

</Task>" to type "System.Xml.XmlDocument". Error: "An error occurred while parsing EntityName. Line 7, position 12."


Cheers

0
Author:itrcb4
Enjoy this complimentary article view.

Get unlimited access to our entire library of technical procedures, guides, and tutorials written by certified industry professionals.

Get 7 days free
Click here to view the full article

Using this article for work? Experts Exchange can benefit your whole team.

Learn More
COLLABORATE WITH CERTIFIED PROFESSIONALS
Experts Exchange is a tech solutions provider where users receive personalized tech help from vetted certified professionals. These industry professionals also write and publish relevant articles on our site.
Ask questions about what you read
If you have a question about something within an article, you can receive help directly from the article author. Experts Exchange article authors are available to answer questions and further the discussion.
Learn from the best.