Hi,
We are in the middle of testing the migration of our Exchange 2010 environment to Exchange 2016 using a lab copy of the live environment.
We have integrated the Exchange 2016 servers and migrated the public folders. We can create new oganizations and mailboxes for them which appear on the new servers.
However we receive an error when trying to create a new mailbox for customers who were created on the old Exchange 2010 servers:
Server was unable to process request. ---> Can not create 'Hosted Microsoft Exchange Server 2016' provider instance with 'SolidCP.Providers.HostedSolution.Exchange2016, SolidCP.Providers.HostedSolution.Exchange2016' type ---> Exception has been thrown by the target of an invocation. ---> The type initializer for 'SolidCP.Providers.HostedSolution.Exchange2016' threw an exception. ---> Could not load file or assembly 'System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at SolidCP.Providers.Exchange.ExchangeServer.CreateMailEnableUser(String upn, String organizationId, String organizationDistinguishedName, String securityGroup, String organizationDomain, ExchangeAccountType accountType, String mailboxDatabase, String offlineAddressBook, String addressBookPolicy, String accountName, Boolean enablePOP, Boolean enableIMAP, Boolean enableOWA, Boolean enableMAPI, Boolean enableActiveSync, Int64 issueWarningKB, Int64 prohibitSendKB, Int64 prohibitSendReceiveKB, Int32 keepDeletedItemsDays, Int32 maxRecipients, Int32 maxSendMessageSizeKB, Int32 maxReceiveMessageSizeKB, Boolean hideFromAddressBook, Boolean isConsumer, Boolean enabledLitigationHold, Int64 recoverabelItemsSpace, Int64 recoverabelItemsWarning)
at SolidCP.EnterpriseServer.ExchangeServerController.CreateMailbox(Int32 itemId, Int32 accountId, ExchangeAccountType accountType, String accountName, String displayName, String name, String domain, String password, Boolean sendSetupInstructions, String setupInstructionMailAddress, Int32 mailboxPlanId, Int32 archivedPlanId, String subscriberNumber, Boolean EnableArchiving)
I'm guessing that this is to do with us not updating the SQL database correctly. We have changed ServerID in Packages and HostingPlans to be the new EX2016 Virtual server and ProviderID in Services to be 92 (Exchange 2016). I found a page which mentions the ServiceItems table but couldn't really see what was needed to be changed.
Have we missed something or changed something we shouldn't have? I could really do with a definitive list of which SQL tables and columns need to be updated.
Thanks,
Mark
Hello,
In general SolidCP can only run on 1 type of exchange server at a time.
So if you migrated PF's / OAB's it should run on exchange 2016 (but all customer resources such as OAB's and address book policies should be present).
If you did not complete migration it's generally best to leave SolidCP using exchange 2010 (so it creates the original OAB's / PF's / ec which you might need to migrate again on completion).
SolidCP should always be on the server running the OAB's / PF's natively (normally that is migrated only after all mailboxes have been moved to avoid issues on connectivity).
Regards,
Marco