I was doing a migration between Exchange 2013 and Office 365 in a Hybrid configuration when I recieved the above error message. Couldn’t quite figure out why until I stumbled accross a forum thread that pointed me in the right direction.
This is what you have to check out and remediate if you have this error:
The ExchangeGuids of on-premise users are different to the ExchangeGuids of the corresponding users in Office 365.
Update the online user’s ExchangeGuid to match the on-premise ExchangeGuid and start migration.
1. On the on-premise Exchange server:
Get-MailBox -Identity userID | Select ExchangeGuid
2. In an Office 365 PowerShell session:
Get-MailUser -Identity UserID | Select ExchangeGuid
If the results don’t match, copy the guid result from command 1 and then run the following command in the Office 365 PowerShell session:
Set-MailUser -Identity userID -ExchangeGuid “copied guid”
$Cred = Get-Credential
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
$OnPremAdmin = Get-Credentials
New-MoveRequest -identity “UPN” -Remote -RemoteHostName “remote host ex OWA URL mail.domain.com” -RemoteCredential $OnPremAdmin -TargetDeliveryDomain domain.mail.onmicrosoft.com
This is a great post done by Skype4B enthusiast Mark Vale on Cloud PBX and Office 365 E5 which is to be launched in the US on December 1st 2015. I recommend everyone to read his thoughts and keep them in mind.
Source: Skype for Business Cloud PBX with PSTN Calling – 5 Steps to Success
As the distribution of Office 365 spreads accross the planet, the need for hybrid deployments rises. In many scenarios we find that environments are partly hosted on-prem and in the cloud. The reason for such deployments vary in some degree, and when it comes to Lync deployments it’s often due to enterprise voice which is not possible in the cloud(at the moment).
To implement a hybrid configuration where Lync resides on-prem and Exchange is hosted online, we have to do some configuration in the on-prem environment.
First, if the Lync environment is a Lync 2010 installation the minimum requirement is that the March 2013 server Update is installed on the Lync servers. In addition to this, a standalone server with Lync 2013 Administrative Tools has to be deployed in order to be able to connect with Office365. All PowerShell commands against the Online environment has to be executed on the server running Lync 2013 Admin Tools.
To enable Lync On-prem integration with Exchange Online, the first step is to make sure that federation is allowed(most environments already have open federation enabled):
Set-CsAccessEdgeConfiguration -AllowFederatedUsers $True
The next step is to configure the shared address space with Exchange Online:
New-CsHostingProvider -Identity "Exchange Online" -Enabled $True -EnabledSharedAddressSpace $True -HostsOCSUsers $False -ProxyFqdn "exap.um.outlook.com" -IsLocal $False -VerificationLevel UseSourceVerification
- Identity specifies a unique string value identifier for the hosting provider that you are creating (for example, “Exchange Online”). Values that contain spaces must be in double quotes.
- Enabled indicates whether the network connection between your domain and the hosting provider is enabled. This must be set to True.
- EnabledSharedAddressSpace indicates whether the hosting provider will be used in a shared SIP address space scenario. This must be set to True.
- HostsOCSUsers indicates whether the hosting provider is used to host Office Communications Server or Lync Server. This must be set to False.
- ProxyFQDN specifies the fully qualified domain name (FQDN) for the proxy server used by the hosting provider. For Exchange Online, the FQDN is exap.um.outlook.com.
- IsLocal indicates whether the proxy server used by the hosting provider is contained within your Lync Server topology. This must be set to False.
- VerificationLevel Indicates the verification level allowed for messages that are sent to and from the hosted provider. Specify UseSourceVerification, which relies on the verification level included in messages sent from the hosting provider. If this level is not specified, the message will be rejected as being unverifiable.
Check replication status to verify that the changes has replicated to the access edge server:
Wrote this blogpost in May when attending the Microsoft Ignite Conference in Chicago.
Should have been posted then, but I still think it’s relevant :)
As you all know, the Skype4B server upgrade can be done as an in-place upgrade from Lync 2013. However, there are things to concider.
If the server is a Lync 2010 server, there is no way to do an in-place upgrade. Migration is the only way.
Lync 2013 supports the in-place upgrade as long as you can schedule downtime because the services are removed during the process.
When it comes to the server OS, you would want to concider upgrading the server if you’re on WinSrv 2008 or 2008R2. The Skype4B server install will upgrade windows fabric to the latest version, but only on 2008R2.
Recommendation: Win2008 or 2008R2 should be upgraded to 2012R2.
Implication: The upgrade process to Skype4B will have to be done as a migration if your servers are on Win2008 or Win2008R2.
Incredibly useful post by Mark Vale(@unifiedvale) on how to recover from a corrupt CMS. Please do note the points in the article about making a backup of your Lync environment. You never know when you need it.
Source: Skype for Business – Recover Your Deployment from a Deleted or Corrupt CMS
Implementing backup of your Lync/Skype for Business environment can be accomplished in many ways. Please check out MVP Lasse Wedoe’s blog on how to as one of several resources.
In a short period of time I’ve encountered two different cases of the Edge server not replicating. Everything seems OK, but the changes simply won’t move to the Edge.
I found a great blogpost by Jaap Wesselius here that describes the exact problem and how to fix it.
Simply add the following to the registry of the Skype/Lync Edge server:
New REG_DWORD(32bit) ClientAuthenticationTrustMode with value “2” in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Restart the Edge server(not just the services) and toggle the Skype/Lync replication service on the FrontEnd server. Wait a few and the replication should be OK.
The first server update for Skype for Business Server 2015 was released 19th of June:
The update can be downloaded here Skype4B CU1
The new version after the update is 6.0.9319.55: