Lync Documentation Script

I don’t like documentation, but it is a necessary evil.  It is important to document a Lync configuration for easy access to key information as well as tracking changes over time.  However since I do not enjoy it, nor do I know anyone who does, I have started scripting documentation where possible.

Below is my current script for documenting a Lync 2010/2013 environment.  Although it will run with Lync 2010, PowerShell 3.0 or later is required which is not installed by default on Lync 2010 servers.  It is still a work in progress, use at your own risk etc. etc.





9 thoughts on “Lync Documentation Script

  1. Henry Creagh

    Hi Shawn, Thanks for creating a script to help document an existing Lync deployment. When you have some time I would like to help add a few more items that are useful to capture when documenting/auditing an existing deployment.

    1. Shawn Kirkpatrick Post author

      Thanks Henry, always open for feedback or assistance on adding features. I am hoping to add a section to optional grab Edge server details including certificates, as expiring certs is a problem area for a number of deployments.

  2. Sung


    Didn’t see a posting referencing RCC and was hoping someone has run into this. We are setting up Lync 2013 Multitenant Hosting Pack. However per Microsoft, this feature is only supported in Lync 2013 Enterprise edition. Searching the web, I’ve seen blogs mentioning this feature can be enabled in Lync 2013 Multitenant Hosting Pack. Hoping someone can point me in the right direction.



    1. Shawn Kirkpatrick Post author

      Hi Sung,

      I have not seen anyone successfully enable RCC with the Lync hosting pack as RCC is not normally a feature I recommend deploying. This is not to say that it can not be done however, but I would be careful building a hosted deployment on an unsupported architecture.

      Hope you find the assistance you are looking for.

  3. Jason

    Getting: Missing opening ‘(‘ after keyword ‘foreach’.
    At:500 char:25
    + Foreach <<<< -Parallel ($Server in $Servers) {
    + CategoryInfo : ParserError: (OpenParenToken:TokenId) [], ParseE
    + FullyQualifiedErrorId : MissingOpenParenthesisAfterKeyword

    Looks like this is the gather certificate inforamtion section

    1. Shawn Kirkpatrick Post author

      The script does require PowerShell 3.0 for workflow functionality. It looks like that may be the issue you are running into, since PowerShell 2.0 does not understand the -Parallel and expects the ‘($Server’ directly after the Foreach statement.

  4. Pingback: Lync Documentation Script | JC's Blog-O-Gibberish

Leave a Reply

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

You are commenting using your 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