Microsoft did a good job on creating the Surface Hub documentation on TechNet here: https://technet.microsoft.com/en-us/windows/mt631724
However it’s also an extensive read. For which we decided to dive into and make a little subset of commands, needed for the account creation for a Surface Hub.
Please be aware that for this set of commands, Exchange 2013 SP1 or later is needed! Otherwise you’ll get errors on the EnableRoomMailboxAccount and RoomMailboxPassword variables. But, to get it all working:
Account Variables:
<Surface Hub UPN> | e.g. SurfaceHub01@contoso.com |
<Surface Hub Alias> | e.g. SurfaceHub01 |
<Surface Hub Name> | e.g. Surface Hub 01 |
<Surface Hub Password> | e.g. F4br1k4m@2016 |
ActiveSync Policy | $eapolicy is a variable for a new policy, but any applicable policy can be used. |
<S4B Poolname> | Lync or Skype for Business Pool Name |
Exchange
Create User Account
and Enable it in Exchange. From Exchange Management Shell:
New-Mailbox -UserPrincipalName <Surface Hub UPN> -Alias <Surface Hub Alias> -Name “<Surface Hub Name>” -Room -RoomMailboxPassword (ConvertTo-SecureString -String <password> -AsPlainText -Force) -EnableRoomMailboxAccount $true
Create ActiveSync Policy
with “PasswordEnabled $True”. Of course, an already created one could be used as well:
$easPolicy = New-MobileDeviceMailboxPolicy -Name “SurfaceHubs” -PasswordEnabled $false -AllowNonProvisionableDevice $true
Set ActiveSync Policy
Set-Mailbox “<Surface Hub UPN>” -Type Regular
Set-CASMailbox “<Surface Hub UPN>” -ActiveSyncMailboxPolicy $easPolicy
Set Room Mailbox Settings again
Run Set-Mailbox to re-set Room to Room, RoomMailboxPassword and RoomMailboxAccount:
Set-Mailbox “<Surface Hub UPN>” -Type Room -RoomMailboxPassword (ConvertTo-SecureString -String <password> -AsPlainText -Force) -EnableRoomMailboxAccount $true
Set correct Exchange Settings
Set-CalendarProcessing -Identity “<Surface Hub UPN>” -AutomateProcessing AutoAccept -AddOrganizerToSubject $false –AllowConflicts $false –DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false -AddAdditionalResponse $true -AdditionalResponse ‘This is a <tla rid=”surface_hub”/> room!’
Disable password expiry
Set-AdUser “<Surface Hub UPN>” -PasswordNeverExpires $true
Lync/Skype for Business
Now, continueing on the Skype for Business or Lync server:
Enable Room Account for Lync/Skype for Business
Enable-CsMeetingRoom -SipAddress “<Surface Hub UPN>” -RegistrarPool <S4B Poolname> -Identity <Surface Hub UPN or Alias>
-and if applicable-
Set-CsMeetingRoom -Identity <Surface Hub UPN> -EnterpriseVoiceEnabled $true
Set-CsMeetingRoom -Identity <Surface Hub UPN> -LineURI “tel:+xxxxxxxxx“