Link to home
Start Free TrialLog in
Avatar of techdrive
techdriveFlag for United States of America

asked on

Exchange 2013 error proxy on server

I am attempting to convert some shared mailboxes back to regular and then some to shared. I received this while running the following command

get-content c:\usernames.csv | foreach {set-mailbox -id $_ -type:shared }

Error on proxy command 'Set-Mailbox -Identity:'USERNAME' -Type:'Regular' -Confirm:$False -Force:$True' to server
servername FQDN: Server version 15.00.1130.0000, Proxy method RPS:
The operation couldn't be performed because object 'USER NAME' couldn't be found on 'FQDN AD SERVER'..
    + CategoryInfo          : NotSpecified: (:) [Set-Mailbox], CmdletProxyException
    + FullyQualifiedErrorId : Microsoft.Exchange.Configuration.CmdletProxyException,Microsoft.Exchange.Management.Reci
   pientTasks.SetMailbox
    + PSComputerName        : REMOTESERVERLOGGEDINTOPERFORMING THIS OPERATION
Avatar of Dan McFadden
Dan McFadden
Flag of United States of America image

You need to set the actual -ID in the command... you have set it to "$_"


set-mailbox -id $_ -type:shared

It would be safer to do something like this:

$userslist = Get-Content C:\usernames.csv
foreach($user in $userlist)
{
   set-mailbox -id $user -type:shared
}

Open in new window


Save the above code to a ps1 file and run it from the Exchange Admin PS Console.

Dan
If you want some console feedback, I've added a write-host to show which mailbox is being worked on.

$userlist = Get-Content C:\usernames.csv
foreach($user in $userlist)
{
   write-host "Working on Mailbox:  " $user
   set-mailbox -id $user -type:shared
}

Open in new window


PS:  please use this code, there is a typo in the first script I submitted.

Dan
Avatar of techdrive

ASKER

I wish it was that easy but that does not work. Even if I was to run the command set-mailbox -identity username -type:regular I still get the error. Believe me I wish it was syntax but its not.
Can you post some of the contents of your username.csv file?

Dan
its just the following below in  CSV file. If I am on the server where the user resides this works. If I am on a remote server this does not work and produces the following message I provided earlier. The problem appears to be with the servers ability to proxua


info in the csv file..These are the aliases and like I said it works for some and others this works for.

userone
usertwo
userthree
userfour
This appears to be a known issue with a workaround.  Article is posted below.

Link:
- http://blog.skysoft-is.com/?p=270
- http://www.tachytelic.net/2013/10/office-365-convert-shared-mailbox-user-mailbox/?doing_wp_cron=1452870132.5674960613250732421875

Essentially you need to setup a PS Session and specific the target server.  You should be able to run this from any workstation.

As for working for some accounts and not others, do the accounts that the set-mailbox doesn't work for, actually exist?

Dan
On the users where the set-mailbox fails, if you run a "Get-ADUser" command... do you get a valid output with AD Object info?

Dan
Yes I do get valid output.
Here is the bad part. We are a large environment with over 300 servers. So I would have to run this command for each server correct?
No. You run it against the Exchange servers.  You users are in AD nit on each server.  Exchange requires AD to operate.

Run it from 1 exchange server and you should be down.  Unless you have multiple separate Exchange instances.

If you a DAG, run it on 1 if the servers in the DAG.

Dan
ASKER CERTIFIED SOLUTION
Avatar of Dan McFadden
Dan McFadden
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
This is a multi-dag environment. I just ran this on a bunch of users using the code on the sites your provided and the only ones it hit was the users who were on the target server. So one thing is I do not have to logon to each server but I do have to remote powershell into them.
Ok, then you will have to run the script on a server in each DAG.

Dan