Monday, 28 April 2014

Create Lync UM Contact Objects Automatically

In order for Lync to be able to route calls to Exchange Unified Messaging, contact objects need to be created using the Exchange UM Integration Utility (OcsUmUtil.exe). I have always thought this process is rather clunky and wanted to make the process easier, enter Create-LyncUMContactObjects.

How does it work?
The script queries Exchange for existing Auto-Attendant and Dial Plan pilot numbers. It then searches Active Directory for objects that have a matching Line URI (msRTCSIP-Line). If a match is not found, the contact object will be created.



Instructions
  1. Download Create-LyncUMContactObjects.ps1 from here
  2. Review prerequisites and usage examples below
  3. Run the script
  4. After the script has run you can check OcsUmUtil.exe to make sure the contacts have been created successfully or just run live test

Usage
Create-LyncUMContactObjects -Domain <Domain FQDN> -SIPDomain <SIP Domain> -RegistrarPool <Pool FQDN> -ExchangeServer <FQDN> -OU <OU for contact objects> -SleepTime <optional: Seconds> -CreateAA <optional: $TRUE|$false> -CreateSA <optional: $TRUE|$false>

Parameters
-Domain <Domain FQDN> : Domain FQDN
-SIPDomain <SIP Domain> : SIP domain for contact objects
-RegistrarPool <Pool FQDN> : Lync pool
-ExchangeServer <FQDN> : Exchange server to connect to for PowerShell commands
-OU <Distinguished Name> : OU to create contact objects in
-SleepTime <optional: Seconds> : Delay between contact creation and update of additional properties
-CreateAA <optional: $TRUE|$false> : Create contact objects for Auto-Attendants
-CreateSA <optional: $TRUE|$false> : Create contact objects for Subscriber Access numbers

Example
Create-LyncUMContactObjects -Domain "domain.local" -SIPDomain "sipdomain.co.nz" -RegistrarPool "lyncpool.sipdomain.co.nz" -ExchangeServer <exchange.domain.local> -OU "OU=LyncContactObjects,DC=domain,DC=local" -SleepTime "10" -CreateAA $true-CreateSA $true

Prerequisites
  • Lync 2013 and Exchange 2013 (currently untested on 2010)
  • PowerShell 3.0
  • User account which is a member of CSAdministrator and Exchange Admins (lesser permissions are possible but not tested)
  • PowerShell may need to be "Run As Administrator"

Any feedback, questions or feature requests please feel free to get in touch.


No comments:

Post a Comment