When using DirSync and ADFS it can take a long time to activate thousands of users. So here is a really quick way of doing it.
Firstly HERE is a great article on msexchangeguru.com on dirsync filtering. So there are plenty of organisational units in Active Directory that do not need to be syncronised to Office365.
So I always filter the OU's that are synchronized to Office365.
Within the organisation section of the Office365 portal make your external domain which has been verified the default domain.
Ensure all user's have the correct User Principal Names as per one of my previous BLOGS
So once all the user's have been synced to Office365 , they need a license assigned to them.
So connect to Office365 via the Windows Active Directory Module for Windows Powershell and do the following.
connect-msolservice # and enter an Office365 Global Administrator's credentials.
Get-MsolAccountSku # this will tell you what office365 skus are available. For this example it will be EXCHANGESTANDARD
As all of the users are currently unlicensed , we will set a location for the users as per the command below and the location will be us.
Get-MsolUser -UnlicensedUsersOnly |Set-MsolUser -UsageLocation US
Then we will add a mailbox for all the users that were synced and we can do so with the following command.
Get-MsolUser -UnlicensedUsersOnly | Set-MsolUserLicense -AddLicenses “Contoso”:EXCHANGESTANDARD
Now all the users have a mailbox and can start using Exchange Online :)