Error Settingup Exchange 2010 - Cannot bind argument to parameter "Identity"..... RRS feed

  • Question

  • I have a error that occurs when I setup my new exchange server...
    I have copies the what I believ eis the error message.  Need some advice on how to fix this problem?

     Previous operation run on domain controller ''.

    [08/15/2013 00:17:06.0593] [2] Preparing to output objects. The maximum size of the result set is "unlimited".
    [08/15/2013 00:17:06.0640] [2] Ending processing get-PublicFolderDatabase
    [08/15/2013 00:17:06.0656] [2] Active Directory session settings for 'Get-MailboxDatabase' are: View Entire Forest: 'True', Configuration Domain Controller: '',Preferred Global Catalog: '', Preferred Domain Controllers: '{ }'
    [08/15/2013 00:17:06.0656] [2] Beginning processing get-MailboxDatabase -Server:'' -ErrorAction:'SilentlyContinue'
    [08/15/2013 00:17:06.0656] [2] Searching objects "" of type "Server" under the root "$null".
    [08/15/2013 00:17:06.0671] [2] Previous operation run on domain controller ''.
    [08/15/2013 00:17:06.0671] [2] Searching objects of type "MailboxDatabase" with filter "$null", scope "SubTree" under the root "BMAIL".
    [08/15/2013 00:17:06.0718] [2] Previous operation run on domain controller ''.
    [08/15/2013 00:17:06.0718] [2] Preparing to output objects. The maximum size of the result set is "unlimited".
    [08/15/2013 00:17:06.0780] [2] Ending processing get-MailboxDatabase
    [08/15/2013 00:17:06.0796] [1] The following 1 error(s) occurred during task execution:
    [08/15/2013 00:17:06.0796] [1] 0.  ErrorRecord: Cannot bind argument to parameter 'Identity' because it is null.
    [08/15/2013 00:17:06.0796] [1] 0.  ErrorRecord: System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter 'Identity' because it is null.
       at System.Management.Automation.ParameterBinderBase.ValidateNullOrEmptyArgument(CommandParameterInternal parameter, CompiledCommandParameter parameterMetadata, Type argumentType, Object parameterValue, Boolean recurseIntoCollections)
       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)
    [08/15/2013 00:17:06.0796] [1] [ERROR] The following error was generated when "$error.Clear();
              if ($RoleCreatePublicFolderDatabase)
                $publicDB = get-PublicFolderDatabase -Server:$RoleFqdnOrName -ErrorAction SilentlyContinue;
                $DB = get-MailboxDatabase -Server:$RoleFqdnOrName -ErrorAction SilentlyContinue;
                if ($publicDB -and $DB)
                    set-mailboxdatabase `
                      -Identity:$DB.Identity `
                      -publicFolderDatabase:$publicDB.Identity `
                      -DomainController $RoleDomainController
            " was run: "Cannot bind argument to parameter 'Identity' because it is null.".
    [08/15/2013 00:17:06.0796] [1] [ERROR] Cannot bind argument to parameter 'Identity' because it is null.
    [08/15/2013 00:17:06.0796] [1] [ERROR-REFERENCE] Id=SystemAttendantDependent___952169dbb47940388c375ba40fc0c835 Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup
    [08/15/2013 00:17:06.0796] [1] Setup is stopping now because of one or more critical errors.
    [08/15/2013 00:17:06.0796] [1] Finished executing component tasks.
    [08/15/2013 00:17:06.0874] [1] Ending processing Install-MailboxRole
    Thursday, August 15, 2013 5:06 PM

All replies

  • Hi

    Do you have any existing servers in your environment or you starting with a brand new install?

    Have a look here, is this the same that you getting:

    Thursday, August 15, 2013 5:24 PM
  • I have a Exchange server 2003 that i will be migrating from.  I do have one problem and that is that years ago someone setup the Exchange server to be a domain controller, could this be causing a problem...I don't think so but..I reviewed the link already but was concerned about deleting the public folder?

    I also found this link...but have the same concern about my public folders...

    Thursday, August 15, 2013 6:13 PM
  • Hi Scott,

    if I read all that errormessage correctly, your function is crashing here:

        set-mailboxdatabase `
            -Identity:$DB.Identity `
            -publicFolderDatabase:$publicDB.Identity `
            -DomainController $RoleDomainController

    as your $DB.Identity value appears to be null. Now either you encounter an error loading your DB object properly, or that works as designed and you're not supposed to use the identity parameter of the Database Object for what reason ever.

    If it's the latter there 'might' be a workaround: Build your own Identity object.

    $identity = New-Object Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter($DB)

    How I got to that assumption:
    Set-MailboxDatabase wants a DatabaseIdParameter, whereas $DB.Identity would be a Microsoft.Exchange.Data.ObjectId. I know not whether they convert naturally, but the DatabaseIdParameter class has a constructor that will work with a Database-object (as is your $DB) to build the proper Identity object.

    Exchange Commandlet Parameter types
    DatabaseIdParameter class
    MailboxDatabase Class


    There's no place like

    • Edited by FWN Thursday, August 15, 2013 11:47 PM
    Thursday, August 15, 2013 11:44 PM