Documenting a #Lync Environment

As a consultant I tend to do a fair amount of documentation. For the most part this is as part of a design (before deployment) discussing architecture decisions related to requirements but also as part of deployment covering the configuration of the platform whether firewall rules, DNS entries plus also Lync Policies and Settings.

Since the release of Lync Server 2010 I have primarily using my backup script and the dump function to dump each of the Get-Cs* cmdlet to dump configuration to .txt file and then I could drop then into Word Tables with minimal effort, if a bit tedious.

I’m not a person to standstill and am always improving my methodology based on what I think works, doesn’t plus also learn and see.  With my new backup script the dump function will be expanded to output to either TXT, CSV or XML.  Where I want to get to is take the dump files and be able to run them through another script to dump everything into an Excel file.  Spending a few hours copying an pasting isn’t my idea of fun.

One of the goal is for my backup script to be able to document everything about a deployed Lync environment to use as a deliverable or to understand an existing environment for a migration (for consultant) or to phone home for (for support engineers)

My friend and PowerShell guru (among other things) Flaphead has written me a quick and dirty script to take CSV dump file and import them all into Excel.  Post here

To dump Lync to CSV, Just open the Lync Server Management Shell create a new empty directory and change directory into it and run the cmdlet

foreach($i in Get-Command Get-Cs*) { if($i.CommandType -eq “Cmdlet”){if (($ -eq “Get-CsAdminRoleAssignment”) -or ($ -eq “Get-CsClientCertificate”) -or ($ -eq “Get-CsClientPinInfo”) -or ($ -eq “Get-CsRgsConfiguration”) -or ($ -eq “Get-CsUserPoolInfo”) -or ($ -eq “Get-CsBackupServiceStatus”) -or ($ -eq “Get-CsClientAccessLicense”) -or ($ -eq “Get-CsDatabaseMirrorState”) -or ($ -eq “Get-CsEffectivePolicy”) -or ($ -eq “Get-CsPersistentChatEligiblePrincipal”) -or ($ -eq “Get-CsPoolBackupRelationship”) -or ($ -eq “Get-CsPoolFabricState”) -or ($ -eq “Get-CsTestUserCredential”) -or ($ -eq “Get-CsWebTicket”)){} Else {. $i.Name | export-csv -notypeinformation $i”.csv”}}}

Firstly CSV (or text files) aren’t the best to use for Lync as they won’t dump all properties over well as some have to be expanded using | Select Object -ExpandProperty, ultimately I will rewrite a script to import from XML file to overcome this.

With regarding to my new Backup script, ‘Backup-CsServer.ps1’, I was busy in the run up before Christmas with my first Lync Server 2013 design and also study for both the new Lync Server 2013 Exams (70-336 and 70-337) passed both :).  I will post more information nearer to General Availability (GA) of the script…hey it works for the Lync Server product group 😉


3 thoughts on “Documenting a #Lync Environment

  1. Pingback: ariprotheroe: Documenting a #Lync Environment « Lync News

  2. Pingback: Documenting a #Lync Environment | ariprotheroe « JC’s Blog-O-Gibberish

  3. Pingback: Run Lync cmdlets Offline | allthingsuc

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