A Unified Communication Blog
Get Adobe Flash player

Before Christmas I was installing SP2 on a customer’s Exchange 2010 server, and that gave me a lot of problems.

During the process of installing the service pack it completed the prerequisite checks and started the install just fine.

One of the first thing the service pack is doing, is to delete all the old Exchange files, before it installs the new ones.

However after the files where deleted the installer failed with the below error:

[12-12-2011 09:12:15.0876] [1] 0.  ErrorRecord: AuthorizationManager check failed.

[12-12-2011 09:12:15.0876] [1] 0.  ErrorRecord: System.Management.Automation.PSSecurityException: AuthorizationManager check failed.

   at System.Management.Automation.AuthorizationManager.ShouldRunInternal(CommandInfo commandInfo, CommandOrigin origin, PSHost host)

   at System.Management.Automation.CommandDiscovery.ShouldRun(ExecutionContext context, PSHost host, CommandInfo commandInfo, CommandOrigin commandOrigin)

   at System.Management.Automation.CommandDiscovery.LookupCommandProcessor(CommandInfo commandInfo, CommandOrigin commandOrigin, Nullable`1 useLocalScope)

   at System.Management.Automation.CommandDiscovery.LookupCommandProcessor(String commandName, CommandOrigin commandOrigin, Nullable`1 useLocalScope)

   at System.Management.Automation.ExecutionContext.CreateCommand(String command)

   at System.Management.Automation.CommandNode.CreateCommandProcessor(Int32& index, ExecutionContext context)

   at System.Management.Automation.CommandNode.AddToPipeline(PipelineProcessor pipeline, ExecutionContext context)

   at System.Management.Automation.PipelineNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

   at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

[12-12-2011 09:12:15.0876] [1] [ERROR] The following error was generated when “$error.Clear();

          & $RoleBinPathServiceControl.ps1 EnableServices Critical

        ” was run: “AuthorizationManager check failed.”.

[12-12-2011 09:12:15.0876] [1] [ERROR] AuthorizationManager check failed.

[12-12-2011 09:12:15.0876] [1] [ERROR-REFERENCE] Id=AllRolesMidFileCopyComponent___af0f15afe35c4e7cba121e546f405214 Component=EXCHANGE14:CurrentReleaseSharedDatacenterSetup

[12-12-2011 09:12:15.0876] [1] Setup is stopping now because of one or more critical errors.

[12-12-2011 09:12:15.0876] [1] Finished executing component tasks.

[12-12-2011 09:12:15.0922] [1] Ending processing Start-MidFileCopy

 

Ohh no… this is not good. The only choice I got, was to finish the install with the error.

Afterwards when I ran the installer again I got this error:

The previous installation path could not be found in the registry. Only disaster recovery mode is available.

The previously installed version could not be determined from the registry. Only disaster recovery mode is available.

The disasterrecovery option couldn’t fix the server.

So to fix that new problem I had to do the below:

Set execution policy in powershell to unassigned (see http://support.microsoft.com/kb/981474)

Looked at registry path HKLMsoftwareMicrosoftExchange server V14

– deleted subnode “Midfilecopy” and “Setup” nodes under V14

– Reboot the server

– Run setup.com /m:recoverserver from the SP1 install library

When I ran the recover it failed again with a new error when it configured the Client Access role – the error is the below one:

[12-12-2011 12:04:17.0585] [1] 0.  ErrorRecord: The term ‘C:Program FilesMicrosoftExchange ServerV14ScriptsConfigureNetworkProtocolParameters.ps1′ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

[12-12-2011 12:04:17.0585] [1] 0.  ErrorRecord: System.Management.Automation.CommandNotFoundException: The term ‘C:Program FilesMicrosoftExchange ServerV14ScriptsConfigureNetworkProtocolParameters.ps1′ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

   at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandOrigin commandOrigin)

   at System.Management.Automation.CommandDiscovery.LookupCommandProcessor(String commandName, CommandOrigin commandOrigin, Nullable`1 useLocalScope)

   at System.Management.Automation.ExecutionContext.CreateCommand(String command)

   at System.Management.Automation.CommandNode.CreateCommandProcessor(Int32& index, ExecutionContext context)

   at System.Management.Automation.CommandNode.AddToPipeline(PipelineProcessor pipeline, ExecutionContext context)

   at System.Management.Automation.PipelineNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

   at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

[12-12-2011 12:04:17.0585] [1] [ERROR] The following error was generated when “$error.Clear();

          . “$RoleInstallPathScriptsConfigureNetworkProtocolParameters.ps1″;

          Set-NtlmLoopbackCheck $false

        ” was run: “The term ‘C:Program FilesMicrosoftExchange ServerV14ScriptsConfigureNetworkProtocolParameters.ps1′ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.”.

[12-12-2011 12:04:17.0585] [1] [ERROR] The term ‘C:Program FilesMicrosoftExchange ServerV14ScriptsConfigureNetworkProtocolParameters.ps1′ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

[12-12-2011 12:04:17.0585] [1] 1.  ErrorRecord: The term ‘Set-NtlmLoopbackCheck’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

[12-12-2011 12:04:17.0585] [1] 1.  ErrorRecord: System.Management.Automation.CommandNotFoundException: The term ‘Set-NtlmLoopbackCheck’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

   at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandOrigin commandOrigin)

   at System.Management.Automation.CommandDiscovery.LookupCommandProcessor(String commandName, CommandOrigin commandOrigin, Nullable`1 useLocalScope)

   at System.Management.Automation.ExecutionContext.CreateCommand(String command)

   at System.Management.Automation.CommandNode.CreateCommandProcessor(Int32& index, ExecutionContext context)

   at System.Management.Automation.CommandNode.AddToPipeline(PipelineProcessor pipeline, ExecutionContext context)

   at System.Management.Automation.PipelineNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

   at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)

[12-12-2011 12:04:17.0585] [1] [ERROR] The following error was generated when “$error.Clear();

          . “$RoleInstallPathScriptsConfigureNetworkProtocolParameters.ps1″;

          Set-NtlmLoopbackCheck $false

        ” was run: “The term ‘Set-NtlmLoopbackCheck’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.”.

[12-12-2011 12:04:17.0585] [1] [ERROR] The term ‘Set-NtlmLoopbackCheck’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

[12-12-2011 12:04:17.0585] [1] [ERROR-REFERENCE] Id=ClientAccessComponent___178a10624c88445093855c4ede7e9b9c Component=EXCHANGE14:CurrentReleaseSharedDatacenterSetup

 

So it seems like when doing and recovery from the SP1 directory it couldn’t find this file:

‘C:Program FilesMicrosoftExchange ServerV14ScriptsConfigureNetworkProtocolParameters.ps1

That file is not part of the SP1, but is only located in the RTM version of Exchange 2010. Even after I copied all the missing script files from the RTM version to the server, I was not able fix this. So ones again the installer failed prematurely.

So now I had an almost recovered server, but the Client Access didn’t function. So I removed the CAS role from the add/remove programs. After that I installed Service Pack 2 with succeed, and then I installed the CAS role again from the SP2 setup, and the server has been running fine since then.

 

So what caused all these problem? After I did some research, it seems like that because I have changed the execution settings in powershell to accept unsigned scripts it was, this that caused the first error.

So check this MS article: http://support.microsoft.com/kb/981474 and make sure that both user and machine polices is undefined.

 

 

One Response to AuthorizationManager check failed when installing Exchange 2010 SP2

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 72 other subscribers

Follow me on Twitter