Video Screencast Help

Throttling Policy - User does not contain a user with a mailbox error

Created: 13 Jul 2014 • Updated: 14 Jul 2014 | 18 comments
Sarah.Seftel's picture
This issue has been solved. See solution.

[PS] C:\>.\SetEVThrottlingPolicy.ps1 -user domain\evsvc

Successfully connected to [Exchange Server]

Using Domain Controller:

Invalid parameter value: -User does not contain a user with a mailbox.  Please pass in a valid username.


We can open the mailbox correctly.

SetEvPermissions script rund correctly, Add-AddPermissions also runs correctly.

Only Throttling fails with this error.

The user name "evsvc" is also the alias & the mailbox name, so no chance we are wrong regarding username.


Running this on evsvc01 & evsvc02 (system mqilboxes for exchange 2010) - same error on Throttling policy, no errors on the rest of the scripts.

Anyone see this issue before?

Operating Systems:

Comments 18 CommentsJump to latest comment

Rob.Wilcox's picture

Does the Vault Service Account that you're specifying have a mailbox on the Exchange 2010 environment? Or does it have a mailbox on a different version of Exchange?

Sarah.Seftel's picture

Hi Rob,

we have 3 users that the throttling script need to run on:

evsvc - account moved from exchange 2003 to 2010, mailbox available and opens correctly.

evsvc01 - new account for exchange 2010, created new user and on the exchange 2010 , outlook opens correctly.

evsvc02 - new account for exchange 2010, created new user and on the exchange 2010 , outlook opens correctly.

All mailbox opens correctly, set permission and Add-AddPermissions are running correctly.

Only throttling policy throwing these errors.


AndrewB's picture

is it worth trying instead? also what version of EV and what version of Exchange (or versions if you have a mixed environment or are doing a migration)

Note the following prerequisites for the throttling policy script:
■ You must run SetEVThrottlingPolicy.ps1 against an Exchange 2013 or 2010
mailbox. If your Vault Service account already has a mailbox on Exchange
Server 2007 or earlier, you must first move the mailbox to Exchange 2013 or
■ If you have both Exchange 2013 and Exchange 2010 in your environment, you
must run the script in the Exchange Management Shell on an Exchange 2013
The syntax for SetEVThrottlingPolicy.ps1 is:
Additional requirements for Exchange Server archiving 65
Preinstallation tasks for Exchange Server 2013, 2010 and 2007
.\SetEVThrottlingPolicy.ps1 -user domain\user_name [-server
exchange_mailbox_server] [-version exchange_version]
[-DomainController domain_controller_name]
■ domain\user_name is the Vault Service account and the domain it belongs to.
If user_name contains spaces, enclose the whole domain\user_name string in
quotation marks.
If you run Exchange 2013 or 2010 in a cross-forest environment, run the
PowerShell script against the disabled user account that owns the Vault Service
account’s linked mailbox.
See “Creating a mailbox for the Vault Service account” on page 64.
■ exchange_mailbox_server is the name of the Exchange mailbox server. You
must specify an Exchange mailbox server if you run
SetEVThrottlingPolicy.ps1 on a computer other than the mailbox server.
■ exchange_version is the Exchange server version whose throttling policy you
want to configure. For example, if you have both Exchange 2013 and Exchange
2010 servers in your environment but archive only from Exchange 2010 servers,
you can use -version 2010 to configure only the Exchange 2010 throttling

domain_controller_name is the name of a domain controller in the domain of
which the Vault Service account is a member. This parameter is optional but,
in complex environments that have multiple domains,
SetEVThrottlingPolicy.ps1 might fail to find a domain controller in the Vault
Service account’s domain. In this case, you must specify a domain controller.
Note: If both Exchange 2013 and Exchange 2010 are present in your environment,
SetEVThrottlingPolicy.ps1 automatically configures Exchange 2010 servers
before Exchange 2013 servers, which is mandatory. If you use the -version to
configure Exchange throttling policies separately for each Exchange version, you
must configure the Exchange 2010 throttling policy first.

To configure the Exchange throttling policy on the Vault Service account
1 Log in to an Exchange server using an account that is assigned the following
management roles:
■ Mail Recipients
■ Recipient Policies
Additional requirements for Exchange Server archiving 66
Preinstallation tasks for Exchange Server 2013, 2010 and 2007
By default, members of the “Organization Management” role group are assigned
these roles.
2 On the Enterprise Vault server, locate the script called
SetEVThrottlingPolicy.ps1 and copy it to the Exchange server.
The Exchange 2013 and 2010 PowerShell scripts are in the PowerShellScripts
subfolder of the Enterprise Vault installation folder (for example C:\Program
Files (x86)\Enterprise Vault).
3 On the Exchange server, open the Exchange Management Shell.
4 If you moved an existing Vault Service account mailbox from Exchange 2007
or earlier, update the mailbox using the following command:
Set-Mailbox mailbox_name -ApplyMandatoryProperties
mailbox_name is the name of the Vault Service account’s mailbox. If
mailbox_name contains spaces, enclose it in quotation marks.
5 Run SetEVThrottlingPolicy.ps1.
Note: In a cross-forest environment, you must specify the resource domain so
that SetEVThrottlingPolicy.ps1 runs against the Vault Service account’s
linked mailbox in the resource forest.
See “Creating a mailbox for the Vault Service account” on page 64.
6 If you want to force these changes to take effect immediately, restart the
Microsoft Exchange RPC Client Access service on each Exchange server
where the service exists.
If you do not restart the service, the changes can take up to two hours to take
effect by default.
You can also run SetEVThrottlingPolicy.ps1 remotely from the Exchange server
under PowerShell. When you run the script remotely, use the -server switch to
specify the name of the Exchange mailbox server.
In this case, the full syntax for this script is:
.\SetEVThrottlingPolicy.ps1 -user domain\user_name -server

Andy Becker | Authorized Symantec Consultant | Trace3 | Symantec National Partner |

Sarah.Seftel's picture

Hi Andrew,

I tried the option, same error.

This error drives me crazy, I uses and still using these scripts in so many upgrades and new installations, first time ever I get this error.


I'm wondering if I run it from the exchange 2010 Pshell it goes to the exchange 2003 servers and this is why I get the error...

when I use this syntax and provide the exchange server name as well, do I need to use the "[" "]" like in the script? (never had to put the exchange server name before, so I'm asking)

ie, if the exchange is called "mail1" and running 2010, will it be:

.\SetEVThrottlingPolicy.ps1 -user domain\user_name [-mail1] [-2010]


.\SetEVThrottlingPolicy.ps1 -user domain\user_name -mail1 -2010

without the "[]"?





AndrewB's picture

Hi Sarah, no need for the brackets

Andy Becker | Authorized Symantec Consultant | Trace3 | Symantec National Partner |

AndrewB's picture

Hi Sarah, no need for the brackets

Andy Becker | Authorized Symantec Consultant | Trace3 | Symantec National Partner |

Rob.Wilcox's picture

The good thing about the powershell scripts is that they can be read.  Have a look at what it's trying to do when it is giving you the error:


    if($User -ne "")
        $GCsFound = @(Get-DomainController | Where-Object {($_.isValid -eq $true)} | Foreach-Object { $_.Name })
        foreach($GC in $GCsFound)
            $mbx = Get-Mailbox $User -DomainController $GC -ErrorAction:SilentlyContinue

            $validInputs = $false
            $errorString += "`nInvalid parameter value: -User does not contain a user with a mailbox.  Please pass in a valid username."


So my money would be on picking a different GC.


Sarah.Seftel's picture

New installation today, diffetent customer. same exact error...

Any change exchange latest hotfix causing this? I'm starting to wonder...


Rob, how do I pick a diferent GC when running the throttling script?





Sarah.Seftel's picture

OK, this is a multiple domain environment.

We tried EVERY dc.

still same error...


I'll continue the installation new, and take care of throttling later.


Merv's picture

Hi Sarah,

Rob is spot with this being dc/gc thing

I had similar issues in a multiple domain scenario. Try running it against a dc in the same domain as the mailbox with -domaincontroller switch and specify fqdn of dc. Also maybe a user rights thingy.

Sarah.Seftel's picture



did that too, still same error.


opened a symantec case. will update later

Rob.Wilcox's picture

Run the command I copy and pasted in.. That's what is giving you the error. If it errors, its a Microsoft issue

Sarah.Seftel's picture

after many tests with Symantec, it was decided to go with this way:


SolarP's picture

Thanks Sarah

I have just come accross this issue with a customer also on a new install

not sure why the scriot does not work but those few powershell commands did nthe trick for me

Same again with Exchange 2003 and a new Exchange 2010 envireonment


Rob.Wilcox's picture

ok, did you try the commands that I listed earlier?

Sarah.Seftel's picture

we tried bur got an error on requesting dc's, don't remember what it was, sorry :(

Merv's picture

That workaround to create it manually sounds easy enough, and i've not come across that one technote. Thanks for sharing.

Sarah.Seftel's picture

It was so easy I was sorry not to know this before as well.

After fighting for 4 hours with the throttling script, this TN solved the issue in 3 minutes.