Recovery of an MS Exchange storage group or database fails with error "The path cannot be the root directory.”. To work around use, a directory other than root
Symptoms
You attempt to restore an Exchange database and run a restore operation similar to the following one:
You want to restore your database (e.g. MyDB1) in recover storage group;
Select archive from local folder C:\Backups ;
Select for recovery MyDB1 ;
Select Custom -> Recovery database option as recovery destination;
Select Mount recovered databases : Mount ;
Select Logs path: E:\ ;
Leave other settings as default;
When executing this recovery task, you will receive an error similar to the following one:
Message: PowerShell error details: Cannot bind parameter 'LogFolderPath'. Cannot convert value "E:\" to type "Microsoft.Exchange.Data.NonRootLocalLongFullPath". Error: "The path cannot be the root directory."
EventCode: 0x005B012D+0x005B0423+0x005B03FA+0x005B03E9+0x005B03EA
View full error:
Failed to recover storage group or database 'AdminBase'.
Additional info:
--------------------
Error code: 301
Module: 91
LineInfo: 8bf116f82f62be4e
Fields: $module : arx_agent_vs_34533
Message: Failed to recover storage group or database 'AdminBase'.
--------------------
Error code: 1059
Module: 91
LineInfo: acf6dc4c960b8d3d
Fields: $module : exchange_management_vsa64_34533
Message: The Exchange management operation has failed.
--------------------
Error code: 1018
Module: 91
LineInfo: 2a578575733b305c
Fields: $module : exchange_management_vsa64_34533
Message: An error has occurred while creating database 'AdminBase(recovery)29-Oct-2012 20:14:58'.
--------------------
Error code: 1001
Module: 91
LineInfo: 8de328702e57f66b
Fields: $module : exchange_management_vsa64_34533
Message: A generic COM error of the PowerShell adapter.
--------------------
Error code: 1002
Module: 91
LineInfo: 8de328702e57f383
Fields: $module : exchange_management_vsa64_34533
Message: PowerShell error details: Cannot bind parameter 'LogFolderPath'. Cannot convert value "E:\" to type "Microsoft.Exchange.Data.NonRootLocalLongFullPath". Error: "The path cannot be the root directory.
Parameter name: path"
at System.Management.Automation.ParameterBinderBase.CoerceTypeAsNeeded(CommandParameterInternal argument, String parameterName, Type toType, ParameterCollectionTypeInformation collectionTypeInfo, Object currentValue)
at System.Management.Automation.ParameterBinderBase.BindParameter(CommandParameterInternal parameter, CompiledCommandParameter parameterMetadata, ParameterBindingFlags flags)
at System.Management.Automation.CmdletParameterBinderController.BindParameter(CommandParameterInternal argument, MergedCompiledCommandParameter parameter, ParameterBindingFlags flags)
at System.Management.Automation.CmdletParameterBinderController.BindParameter(UInt32 parameterSets, CommandParameterInternal argument, MergedCompiledCommandParameter parameter, ParameterBindingFlags flags)
at System.Management.Automation.CmdletParameterBinderController.BindParameters(UInt32 parameterSets, Collection`1 arguments, CommandMetadata commandMetadata)
at System.Management.Automation.CmdletParameterBinderController.BindCommandLineParametersNoValidation(Collection`1 arguments)
at System.Management.Automation.CmdletParameterBinderController.BindCommandLineParameters(Collection`1 arguments)
at System.Management.Automation.CommandProcessor.BindCommandLineParameters(CommandParameterInternal[] parameters)
at System.Management.Automation.CommandProcessor.Prepare(CommandParameterInternal[] parameters)
at System.Management.Automation.CommandProcessorBase.DoPrepare(CommandParameterInternal[] parameters)
at System.Management.Automation.Internal.PipelineProcessor.Start(Boolean incomingStream)
at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)
--------------------
Cause
This is limitation of this operation. The path to choose cannot be the root directory.
Solution
To work around this issue, please choose a directory other than root.