Enabling users and assigning policies from CSV

Todays post is really based on a subject I deal with at each deployment. Of course there are many scripts on the net to take care of all your Lync deployment needs, so whats different about my script?

Usually Lync is deployed in a phased manner, my script allows the administrator to enable just the bits needed for each phase of the deployment. By simply commenting out the parts that are not needed you can deploy each phase of the Lync deployment at your own pace.

Because of this approach, you can re-use the script and input CSV file and simply run just the steps you want for each phase.

So what does the script do?

Using a reference CSV input file the script does the following:

  1. Counts the number of users that will be processed based on the data in the input CSV
  2. Checks to see if the user is valid in AD
  3. Checks to see if the user is already enabled for Lync, id not then enable and move to next step
  4. Enable User for Enterprise Voice and add the Line URI
  5. Assign Client Policy to the user
  6. Assign Conferencing Policy to the user
  7. Assign Dial Plan to the user
  8. Assign Voice Policy to the user
  9. Assign External Access Policy to the user
  10. Assign Mobility Policy to the user
  11. Update the AddressBook


  • If any of the steps fails then the failure is written to a log file
  • The input CSV and the log file paths are defined in the beginning of the script and will need to be edited to match your environment
  • It is important to match the CSV file format as the column headers are used to match the variables in the script

Download the script

The download also contains an example CSV


About Paul B

My name is Paul Bloem and I am employed at Lexel Systems in New Zealand as a Principal Consultant for Unified Communications. I have been working on enterprise voice solutions for over 20 years. My first 10 years were spent working for a Telco in South Africa (Telcom SA). This is where all the groundwork happened as I was exposed to just about every aspect of telecommunication you could imagine. I develop an interest in PBX technologies and eventually became the go-to guy. Next, I had a 10 year run at Siemens South Africa, most of my time there was as a Technical Trainer. During this time VoIP hit the world stage, I had the privilege of introducing VoIP both as H.323 and later SIP across the Siemens HiPath 4000 solution stack. In 2008 I immigrated to New Zealand with my newly attained MCSE, I was ready to go where no PBX Techie had gone before. I was employed to explore OCS 2007 and that was pretty much the beginning of the end for me. I have been working on OCS and Lync ever since. My current role focuses exclusively on Lync and associated technologies.. That includes pre-sales, consulting, architecture and design, training and support. I even get to play in the development space from time to time - focus on play ;-) I was nominated as a Microsoft VTSP for Lync early in 2013 and also awarded Microsoft's MVP award for Lync in 2014.
This entry was posted in Powershell Scripts. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s