Friday, November 29, 2013

What’s New in PowerShell V4

I get the occasional query as to what is new in PowerShell 4. For the most part, the key update is the addition of Desired State Configuration plus a bunch of bug fixes. But there is a lot more, as you can see in the What’s New help file:

The biggest new feature is DSC, desired state configuration. DSC enables the deployment and management of configuration data for software services and the environment in which these services run. DSC is a great feature, but as it stands in V4 is not really complete. It needs more work, and specifically needs some tooling to make specifying DSC easier and a lot more straightforward. No doubt this is coming in V5 – we’ll see.

In addition to a number of new features, V4 brings a bunch of bug. Interestingly, the bug fix I like most is not mentioned: In V3, CIM based cmdlets (cmdlets defined using CDXML) did not properly add the noun and verb to the command’s System.Management.Automation.CmdletInfo object. That is now fixed.

Sadly, V4 does not run on Windows 8 which many continue to think is daft. But the folks in Redmond clearly know more than I do about this stuff and there must be great reasons. Given that PowerShell V4 runs on Server 2012, it should run just fine on Windows 8. For me, this means I can’t take advantage of V4 on a couple of machines as I just do not have the time to downgrade to Windows 7 or upgrade to 8.1.

Technorati Tags: ,

Lync Conference 2014

I’ve just seen the session list for the Lync Server Conference ( To be held in Los Vegas February 18-20 2014 in Las Vegas, the speakers are a great bunch drawn from both the MS, partner and MVP community. There will be some great sessions and I’m hoping to attend.

For details about the conference itself, see the main page ( and see for details of the activities going on during the conference (in addition to the great talks being given.

Technorati Tags:

Thursday, November 28, 2013

Lync Server Monitoring–Why?

Bryon Spurlock has written a great article on why you should monitor Lync Server 2013. Byron makes a great case for monitoring especially for a Enterprise Voice Deployment. Old hands with Lync (and OCS) will not be surprised with the conclusions that you SHOULD monitor your environment, if only to know what is actually happening in your deployment.

A great feature of Lync Server 2013 is that monitoring no longer requires an extra server as was the case with earlier versions of the Lync product. Now, monitoring is co-located with the Front End Server. If you start co-locating roles on the front end (e.g. monitoring, group chat, mediation server), the hardware requirements for that box grow and so do re-boot times. But that’s a small price to pay to have significantly fewer computers to patch, manage and maintain.

To some degree, Byron concludes, the question is more: why NOT monitor!

Wednesday, November 27, 2013

PowerShell’s Single Formatting Pipeline

In some of my recent training, I’ve been encouraging delegates to create scripts, and to try to crate them to be as reusable as possible. In class, I’ve seen some very confused students – confused by the output.

Here’s a simple example of the confusion I sometimes see:

PSH [C:\foo]: ls wf1.*

    Directory: C:\foo

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         10/8/2012   4:48 PM       1614 wf1.ps1

PSH [C:\foo]: get-service WAS

Status   Name               DisplayName
------   ----               -----------
Running  WAS                Windows Process Activation Service

PSH [C:\foo]: ls wf1.*;get-service WAS

    Directory: C:\foo

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         10/8/2012   4:48 PM       1614 wf1.ps1

Status      : Running
Name        : WAS
DisplayName : Windows Process Activation Service

I’ve also seen this behavior in functions, for example:

Function Get-Stuff {
  Get-Service WAS
  Get-Process PowerShell
  ls cert:\

I’ll leave the details of the output as an exercise for the reader – but calling Get-Stuff suddenly switches from a table view to a list view.  Here’s another thing I’ve recently seen:

PSH [C:\foo]: gwmi win32_share ; gcim win32_bios

Name                              Path         Description
----                              ----         -----------
ADMIN$                            C:\Windows   Remote Admin
C$                                C:\          Default share
N$                                N:\          Default share
Phoenix ROM BIOS PLUS Version ...              Phoenix ROM BIOS PLUS Version ...

So what’s gong on here? We see what would normally be a table being displayed as a list and vice versa.

Really, it’s very simple. At the end of any command sequence, the last command in the pipeline (or for that matter the first command in a single command pipeline!), can emit objects. When the pipeline is ‘finished’ – PowerShell uses the first object type emitted to determine how to format everything else in the pipeline. Or that’s the plan. Unfortunately, when putting out totally different object types, this formatting probably  can’t work since the later object(s) lack the properties that the display XML used for the first object would have wanted to display. So PowerShell just produces a more basic list view. IN the last example, the formatting subsystem DID have enough properties to crate a (rather odd) table view from what is normally a list view.

For script or function developers, the clear answer is to always create a single object type and return that and only that object type. The examples above are returning different object types and PowerShell's formatting subsystem is perhaps less intelligent than we might have hoped for. I’m not knocking it, just pointing out one of the minor downsides.

One way to get around this is to end each command sequence that explicitly leaves objects in the pipeline with a call to Format-Table/Format-List like this:

PSH [C:\foo]: gwmi win32_share |ft ; gcim win32_bios | fl

Name                         Path                              Description
----                         ----                              -----------
ADMIN$                       C:\Windows                        Remote Admin
C$                           C:\                               Default share
N$                           N:\                               Default

Manufacturer      : Dell Inc.
Name              : Phoenix ROM BIOS PLUS Version 1.10 A00
SerialNumber      : 6Y84C3J
Version           : DELL   - 15

So remember that when any script or function returns objects, PowerShell does a ‘best efforts” attempt to display the returned objects. For a while lot of reasons, such scripts or functions are better off returning just one type of object – a custom object if nothing else will do.


Technorati Tags: ,

Tuesday, November 26, 2013

Frost and Sullivan-Seven Enterprise Communications scenes in 2014

Research company Frost and Sullivan just released a looking forward survey, looking at seven enterprise communications scenes for 2014. The number one theme is the one that really caught my eye: Microsoft Lync will become a more disruptive force in the UC market.

While the report notes that although Lync is a relatively new player in the UC market, Microsoft has been gaining momentum in the last 12 months. Frost and Sullivan also anticipate that the UC Market space will be feeling increased pressure from Microsoft in 2014. Which can only be a good thing for those of us in the Lync space!

There’s a prĂ©cis of the report available here:

Technorati Tags: ,

Friday, November 22, 2013

Integrating Lync 2013 with Avaya Aura

One of Lync' Server 2013’s strengths is its ability to interoperate with everything else. Whilst I’m sure that  the more fervent marketers would have preferred all MS clients to rip out and replace their PBXs with Lync, that was never a very realistic early goal. If for no other reason than many companies have significant investment tied up in the status quo PBX – chucking that in the skip is a difficult thing to contemplate, especially in the current economic client.

Instead, Microsoft has wisely pursued an approach of interoperation with things like the Mediation Server, SIP trunks and PBX interoperation. That enables the organisation to adopt Lync without initially taking the Enterprise Voice parts. When it becomes economically relevant to consider upgrading their telephony, THEN they can move to Enterprise Voice. It’s a very sensible strategy, IMHO, and I’m seeing it a lot in my travels.

Now Lync is a complex product, as are the PBXs and other products Lync talk to. In theory, all that’s needed is a Gateway to convert SIP to trunk signaling, ensuring you’re using the proper codecs, and a bit of configuration magic and all is well. In many cases that’s true. But it helps to know what you are doing.

One way Microsoft is helping is producing integration guides, like the most recent one: Lync 2013 and Avaya Aura 6.1 Integration Guide. Written by Tekvizion PVS this guide shows you how to configure interoperability between the two product sets.

On the Avaya side, the Guide is based on the integrating of a CS1000 (v 7.50), an Aura Session Manager (v6., and Lync 2013 RTM (I assume that there;s no issue with the CUs – but the guide is based on RTM). There’s a bit more configuration to do on the Avaya side, which is probably appropriate as it’s doing the PBX interconnection and has to route both externally and to any existing internal PBX lines/trunks.

On the Lync side, it’s fairly painless. You start by creating a new IP/PSTN using Topology Builder. You define the root trunk  specifying the IP address of the Session Manager box and and the associated Lync Mediation server and then publish the topology. You then need to configure the trunk. You also probably need to adjust your voice policies, PSTN Usage Records and your dial plan to accommodate the Avaya solution in terms of who can use the switch, and your dialing rules that accommodate the Avaya switch. This may mean new policies and PURs or just some editing of existing ones depending on your topology.

You configuring Lync Server partly from the Lync Control Panel and for some components you use PowerShell (e.g.: e.g. specifying RTCP, Session Timer and Encryption level parameters). Personally, I’d prefer to see the entire configuration process done in PowerShell – but I would say that.  What I find so wonderful about PowerShell in this environment – you can define the configuration by writing the PowerShell script. From then on you can refer to it to see what you configured!

A couple of things, though, that I noticed in reading the guide. First, the guide wants the communication between the Mediation server and the Session Manager box to be over port 5060 – or SIP over TCP. That means the physical link between these two systems is a potential security risk. To minimize the risk, you could connect the two physical devices just using a crossover patch panel if that is feasible. It’s a risk to recognise and mitigate as part of your configuration.

Secondly, it seems like media bypass is not supported – you are instructed to turn it off. That means that for all calls, the call data will transit the mediation server. For this reason, you need to consider carefully how or whether to co-locate the mediation server with the Front End solutions. With more highly utilised mediation servers, you also may wish to re-evaluate whether to have the be virtual or physical mediation servers. It’s another aspect to consider when doing your initial planning.

Technorati Tags: ,,

Thursday, November 21, 2013

Enabling Email Signatures with Office 365–a PowerShell Solution

Like many folks, I use Outlook pretty much exclusively for my email. One nice feature is the ability to set a ‘signature’, text that is added to the bottom of each email I author and send. The signature can contain pretty much anything you want , including your phone numbers, your Lync ID, etc.
Ben Norcutt has just published a nice article on how you can use PowerShell to set email signatures with Office 365. You can see the article and the PowerShell scripts here:
Technorati Tags: ,,

Wednesday, November 20, 2013

Using the Lync Client–Online Meeting Basics

I just came across this You Tube video':

Lync 2013 Online Meeting Basics

A nice, fairly short (21:57) look at the key aspects of Lync and online meetings. The vide covers scheduling online meetings, sharing meeting content, managing audio and video connections, and collaborating with attendees.

This video is one in a set of videos at which look at how to get the most from the Lync Client.

If you are rolling out Lync, you might take a look at these videos as the basis for end user on-demand self-training.

    Tuesday, November 19, 2013

    Lync Client November 2013 Update

    As I noted last week, Microsoft has released an update to the Lync client. My article last week looked at a key presence related bug fixed in this release. But as Debbie Arbeeny a PM in the Lync Team notes in this article, there’s more to the November update.

    The client update adds a number of new features to the client including:

    • Photos of Sender/Receiver – view photos of sender/receiver inline with IM conversation
    • URL Photo Experience – set your own photo from a public web site instead of using the corporate image
    • pChat Escalation – escalate a Persistent Chat room to a Lync Meeting with one click
    • Login Trace Files – Access Lync client login logs
    • New Recording Options –choose preferred resolution for client-side recordings

    All in all some nice new features to improve the Lync client experience. If you are running Lync 2013, you want to get this and deploy it sooner rather than later!

    Monday, November 18, 2013

    Lync Client in a XenApp VDI Environment

    Folks are finding the use of VDI (Virtual Desktop Infrastructure) is increasing for a number of rooms. Having your ‘desktop’ stored securely in the data centre to be ‘a good thing’. Rather than giving each user a powerful desktop, you load their desktop in a very powerful server and let the users share the goodness. VDI makes it easier to patch too since the desktop is in your server, not running on a disconnected or turned off system.

    While VDI is a great idea, certain aspects of VDI have been an a bit of an issue. One specific aspect is video conferencing – for a long time only Presence and IM were supported – conferencing wasn’t. Recent releases of the server and updates to Lync now make this restriction a thing of the past.

    In a recent blog post, Rob Beekmans describes in some detail how to get VDI working in a Citrix XenApp 6.5 environment. The key to this is the new Citrix HDX RealTime Connector for Microsoft Lync, and configuring it correctly!

    Technorati Tags: ,,

    Friday, November 15, 2013

    Lync 2013 Client - Updates for November

    The Lync team, like some others, issues regular Cumulative Updates (or CUs) that include fixes for all of the Lync Product. This is, under the covers, somewhat complex, given the nature of Lync’s architecture, but there is good KB support to walk you through the process. While in theory, you need to apply patches to a variety of roles, the patch package comes with an installer that takes all the guesswork and most of the risk out of implementing those individual  patches – just run the patch installer and it does the rest. Updating the Lync client is roughly the same!
    However, because of the rapid pace of developing these CUs and Lync Client updates, there have been occasions where a CU had both fixed one problem, but now causes another. The October updates, for example, broke all Calendar based presence updates in the Lync 2013 client, which was sub-optimal for many. Phil Sharp, describes the problem in his blog post at:
    It is regrettable that in Microsoft's race to get CUs delivered, it ends up breaking other stuff. Given the complexity of Lync, and the speed at which the team is running, it’s almost inevitable that some patches will be less good than others. Fortunately, that speed means when issues like this arise, there are fixes pretty quickly (you can count on the MVP community to give the Lync team a very fast heads up when issue like this arise!
    In Phil’s blog post earlier this week, he notes both that there are new updates for the Lync client AND that these updates fix the calendar issue. See the Microsoft KB article at: for more detail and for links to the 32-bit and 64-bit upgrade package.
    Like ALL rich Enterprise software packages, you need to plan and deploy updates carefully and thoroughly. That includes testing thoroughly, preferably before deployment. And when you deploy, keep a listening ear open it Twitter or in LinkedIn, listening out for those who have trouble with the latest update.

    Technorati Tags: ,

    PowerShell and TCP/IP Protocols

    Lee Holmes, of Windows PowerShell Cookbook fame and a member of the PowerShell development team, has just published an interesting article on Interacting with Internet Protocols.  In the article, he shows how you can do some cool stuff, in particular interacting with a remote POP3 mailbox.

    This is a great introduction to using PowerShell to leverage the lower level networking functionality built into the .NET Framework. The .NET Framework provides classes that enable you to leverage many of the Internet protocols directly. He cites the System.Web.Mail.SmtpMail class for SMTP,  and the System.Net.WebClient class for HTTP.  He also notes that where the .NET Framework does not support an Internet protocol directly, you can often script the application protocol directly if you know the details of how it works. His example of this is a sample that retrieves information waiting in a remote POP3 mailbox.

    Using the .NET framework to, in effect, implement higher level protocols which do not exist in the Framework is a pretty cool thing to do. But I think you quickly realise that unless you REALLY need to, doing a good job at developing scripts that use POP3, for example, involves quite a lot of work.

    If you do plan to do a lot of network level programming, you might also want to take a look at /N software and their NetCmdlets package. This package is NOT, however, free. There is a free personal edition, giving a single server license and a single concurrent connection. The unlimited connection package, again for just a single server license, is US$899. They also have a site license to handle multiple servers.

    Thursday, November 14, 2013

    Starting Exchange in Lync 2013 Test Drive VM set

    In a recent blog article here, I wrote about the cool VM set that Microsoft has published that lets you play with a working implementation  of Lync Server. In that article, I wrote: “As in most classroom scenarios, starting the VMs all at once means a lot of services do not start cleanly – but it’s nothing that a bit of PowerShell can’t quickly remedy”.  Having played a bit with this, I can say that in all but a controlled startup, services and dependent services for both Lync and Exchange do not always come up cleanly.

    I was playing today and saw this on the 2013-Exchange Server:

    [hyperv] PS C:> $conf = {
    >> $Donotrestart = @
    >> ('RemoteRegistry', 'MSDTC', 'NetTcpActivator', 'HostControllerService')
    >> # get all the unstarted RTC services and start them.
    >> Get-WMIObject -Class win32_service   |
    >>     Where {$_.startmode -EQ 'Auto'}    |
    >>        Where {$_.State -NE 'Running'}  |
    >>          Where {$Donotrestart -notcontains $} }

    [hyperv] PS C:> Invoke-Command –Computer 2013-Exchange –ScriptBlock `
    $conf -Credential $CredC | Format-Table

    ExitCode  Name    ProcessId StartMode State    Status  PSComputerName
    --------  ----    --------- --------- -----    ------  --------------         
    0         FMS             0 Auto      Stopped  OK      2013-Exchange          
    0         HostControll…   0 Auto      Stopped  OK      2013-Exchange          
    0         MSDTC           0 Auto      Stopped  OK      2013-Exchange
    1068      MSExchangeA…    0 Auto      Stopped  OK      2013-Exchange
    1068      MSExchangeAnt…  0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeDel…  0 Auto      Stopped  OK      2013-Exchange
    0         MSExchangeDiag… 0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeEdg…  0 Auto      Stopped  OK      2013-Exchange           
    1068      MSExchangeFas…  0 Auto      Stopped  OK      2013-Exchange
    1068      MSExchangeFro…  0 Auto      Stopped  OK      2013-Exchange          
    0         MSExchangeHM    0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeIS    0 Auto      Stopped  OK      2013-Exchange
    1068      MSExchangeMa…   0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeMai…  0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeRepl  0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeRPC   0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeServ… 0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeSubm… 0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeThr…  0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeTran… 0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeTran… 0 Auto      Stopped  OK      2013-Exchange          
    1068      MSExchangeUM    0 Auto     
    Stopped  OK      2013-Exchange          
    1068      MSExchangeUMCR  0 Auto      Stopped  OK      2013-Exchange          
    0         NetMsmqActiva…  0 Auto      Stopped  OK      2013-Exchange          
    1068      NetTcpActivator 0 Auto      Stopped  OK      2013-Exchange          
    0         NetTcpPortSha…  0 Auto      Stopped  OK      2013-Exchange          

    With this sort of startup, of course Exchange is not going to work well, and those part of Lync that rely on Exchange will fail too. I’ve been seeing situations similar to this for a very long time. The solution is, as I mentioned in the earlier article pretty simple – use a PowerShell script to deal with this.

    In my case I have a script that starts up all the VMs from scratch, as described in a recent blog post here: In most cases, that script starts things up slowly enough that this sort of massive service start failure does not occur. Well, does not usually occur.

    I how have an updated pair of scripts that I run from my Hyper-V host that detects any of the relevant services that failed (and that are relevant), and does a manual start. Here’s the script I use to detect and correct non-starting Exchange components:

    #  Start services for Exchange In Lync Test Drive Lab
    #  Runs on Hyper-V Host

    # Set credentials
    $Username   = "Contoso\administrator"
    $Password   = 'pass@word1'
    $PasswordSS = ConvertTo-SecureString  -String $Password -AsPlainText -Force
    $CredC      = New-Object -Typename System.Management.Automation.PSCredential `
                    -Argumentlist $Username,$PasswordSS

    $conf = {
    $Donotrestart = @('RemoteRegistry', 'MSDTC', 'NetTcpActivator', 'HostControllerService')
    # get all the unstarted RTC services and start them.
    Get-WMIObject -Class win32_service   |
        Where {$_.startmode -EQ 'Auto'}    |
           Where {$_.State -NE 'Running'}  |
             Where {$Donotrestart -notcontains $}}

    # Now run this on the Exchange VM
    Invoke-Command -ComputerName 2013-Exchange -ScriptBlock $conf -Credential $CredC | ft

    With this in place, I start up the labs, wait a few more minutes, then run this script to ensure that Exchange is all up and tickety-boo!

    The joys of large VM sets and PowerShell!

    Free Windows Server 2012 R2 Ebook

    I’ve just seen that Mitch Tulloch has published a nice new free e-book on Server 2012 R2. You can get a free version of the book in PDF, and in due course in .ePub and .Mobi format (these are not yet published).
    This MS web site says that the book provides you with an overview of the new features and enhancements added to Windows Server 2012 R2. The intended audience for this book is IT pros who deploy, manage, and maintain Windows Server workloads in data center, private cloud, and hosting provider environments.

    To get your free book, just navigate to the MS Press blog site at: and download from there.

    Wednesday, November 13, 2013

    Lync Room System–A New Addition to the Lync Family

    With Lync slowly maturing, it’s taking on more and more roles. One such role, Lync for a conference room, has been delivered in the form of the Lyn Room System. It was announced earlier this year in a Lync Team Blog entry.

    The blog entry looks at some of the issue that made conference rooms more difficult for us poor users.

    Lync Room System consists of integrated hardware and software delivered by MS partners including:

    • High definition touch displays (1080p) for showing video and enabling collaboration. Lync Room Systems are available with 1 or 2 front of room touch displays depending on your room size
    • High definition video camera for capturing the room in full 1080p resolution
    • Wideband audio for clear sound from the room and to the room
    • Table-top touch meeting console to enable the meeting controller to manage the meeting without distracting the other attendees.
    • Lync Room System Edition software - a full Lync client optimized to bring the immersive meeting experience to a meeting room setting.

    Here’s a picture of one such room setup, with 2 touch screens and one camera from SMART:


    I just noticed that super star Lync MVP Alan Jacobs has posted a nice slide deck up on ( which shows you pretty much everything you need to know about the LRS system!

    Technorati Tags: ,,,

    Tuesday, November 12, 2013

    Updated Lync 2012 Help Documentation

    I’m a very big fan of teams that do documentation well and update it on a regular basis. The Lync team do it well! The most recent update to the Lync help documentation was recently posted to This is a nearly 25MB file, but well worth it!  This download gets a.CHM file that contains all of the available Lync S3erve 2013 IT Pro documentation in the TechNet library. Happy Days!
    Technorati Tags: ,

    Monday, November 11, 2013

    Hello Resolve-DnsName, Goodbye NSLookup

    For several decades, I’ve used the NSLookup.exe command in DOS and Windows as a way of doing DNS troubleshooting. At one time, I needed it to verify basic domain lookup configuration, but Windows DNS makes it pretty simple to set domains up correctly. More recently, with products such as Lync, there is a need to have other DNS records validated, particularly SRV records that enable client auto-login etc.

    NSLookup is not bad – in a former life I actually read bits of the code. It’s a tool I know how to use, and like I tell my PowerShell class, if it isn't broken, don’t fix it. Fair enough, I suppose, but It’s not really very PowerShell friendly.

    As part of preparing my next Pluralsight Course, managing DNS with PowerShell, I’ve been playing with some of the new DNS Client cmdlets that come, in specific, for Server 2012 R2. One useful cmdlet is Resolve-DNSName.

    Resolve-DNSName does pretty much exactly what NSLookup did, direct from the command line, plus a bit more. The cmdlet, unlike NSLookup, is able to make use of LLMNR, NetBIOS (or not) and can turnoff recursion in answering a query.

    Here is some sample output:

    PS C:> Resolve-DnsName -type all

    Name           Type TTL  Section    IPAddress
    ----           ---- ---  -------    ---------     A    600  Answer

    Name      :
    QueryType : NS
    TTL       : 3600
    Section   : Answer
    NameHost  :

    Name                   :
    QueryType              : SOA
    TTL                    : 3600
    Section                : Answer
    NameAdministrator      :
    SerialNumber           : 26
    TimeToZoneRefresh      : 900
    TimeToZoneFailureRetry : 600
    TimeToExpiration       : 86400
    DefaultTTL             : 3600 A    3600 Additional

    [Srv1]: PS C:> Resolve-DnsName -Name

    Name            Type TTL  Section IPAddress
    ----            ---- ---  ------- --------- A    1200 Answer

    There are also switches for turning on or not DNSSec and EDNS, and can request any/all, or specific RR types. Long live Resolve-DNSName!

    Technorati Tags: ,,

    Deploying Lync with System Center VM

    I just noticed that Microsoft has now published a VMM template for deploying Lync 2013. You can get the templates here:

    For more information on VMM’s Service Templates, in particular the template to launch Lync itself, see here:

    The goal of the service templates is to provide an automated way to stand up these core productivity components allowing you to quickly build out dev/test and tenant environments either in a standalone manner or with all of the core Office Server components together. The first deliverable for Lync is a Lync Standard Server deployment that automates the creation and configuration of the Lync 2013.

    You can also get service templates for Exchange and SharePoint – see the above link for pointers!


    Technorati Tags: ,,

    Friday, November 08, 2013

    Backing Up Can Take a While

    I have a problem that is in common with a lot of IT Pros. I have a lot of data that I value and I want to keep it save. ALL forms of storage are flawless – disk die, SSDs, die, tapes die, tape drives die, CDs die, floppy disks die. So what to do?

    IN my case, my data is my collection of Grateful Dead, Jerry Garcia and a bunch of other music. The Dead stash takes up around 1.6 TB, with the Jerry and other music weighing in at around 1 TB. That’s a lot of music (and with around 1900 Dead shows, one of the larger around!). I do not want to lose that. The music has some interesting characteristics that may or may not be shared with other data storage scenarios. With music, each show or album is made up of multiple songs. As most of what I collect is lossless with two formats. SHN (or Shorten) and FLAC (Free Lossless Audio Codec). Typical GD shows range from 750MB to 1GB or so. Typical ‘song’ sizes are anywhere from 30/40MB to 120MB and sometimes more (and sometimes less). Once in my hands, these files are very much read-only!

    This data profile is different from many simple file servers with lots of very small documents. Most of which don’t change very often.

    The profile is also different from database servers where there are a few VERY big files (containing lots of bits of occasionally changing data). In some applications, like LYNC, you have several databases that need to be backed (and restored in case of failure).

    Given the varied nature of data usage, there are inevitably different approaches for backup.

    For my music collection, I have 4 big capacity USB-disks. One pair holds the master and are tethered to my main workstation where I update these as I can. The other, backup, pair are on the other end of my network. I have two scripts that use Robocopy to sync primary to backup. Over the years, I’ve been bitten badly by disks dying. So what I do is to wait till one of the disks begins to fail, and I replace it with a new drive. And even if it looks OK, I rotate every couple of years.

    Recently, the 2tb disks I used to for the GD stuff were filling up, so time to move up format, and I’ve not got my collection on new 4TB disks. As per the title, it took a while to do this copy. Here’s the Robocopy Log:


    So, to copy my entire GD collection from one USB drive to another took a mere 30 hours. Not bad when you consider I’ve been collecting for 30 years.

    Technorati Tags: ,,,

    Lync Server 2013: Packaging, Licensing and Pricing

    Like all software vendors selling Enterprise software packages, the introduction a new version can bring changes to packaging, licensing and most importantly pricing. Lync 2013, the latest version of Microsoft's communication services product is no different.

    Directions on Microsoft have produces a nice paper on these topics. However, like many research houses, the report is behind a pay-wall at

    The good news is that you can get a guest member logon for this site which gives you 2 months use of the site for free. Full membership is US$1645 per year. This is way out of my league although the information would indeed be useful. I’ve signed up for a guest membership and we’ll see how that goes.

    Technorati Tags: ,,

    Thursday, November 07, 2013

    Zero Day Attacks on Lync 2013 Client?

    News today of some new vulnerabilities in certain version of Lync, The Microsoft disclosure page on these attacks at, and were described by ZD at:

    The first version of the ZD article seemed to imply that Lync was suffering Zero Day attack, but it was later amended to say that in the wild attacks have only been seen, SO FAR, against Microsoft office. These vulnerabilities ‘only’ allows remote code execution but that’s enough to really mess up someone’s day, to say the least.

    Microsoft’s disclosure page includes details on workarounds (to mitigate against the attacks) and a ‘Fix It’ link to automate these. I’ve not yet seen hot fixes to resolve the problem, but will be anxiously looking for them and plan to implement them quickly!

    Technorati Tags: ,

    Wednesday, November 06, 2013

    Replacing or Integrating Cisco with Microsoft Lync

    I found an interesting and hopefully useful on-Demand Webinar with a PowerPoint presentation this morning: Microsoft Lync: Integrating with or Replacing Cisco. You can download the slides from: The Webinar itself is on:

    The webinar was held on June 13 this year, looks at the best ways to leverage Lync in addition to an existing Cisco infrastructure. Based on years of integration experience with Microsoft UC and Cisco, the webinar shares best practices and recommendations for getting the most out of Lync. This event gave attendees clear ideas of what works, what doesn't, and how best to bring UC to your organization.

    Around 1/3 of the slides are advertising for Perficient, but the rest of the presentation looks pretty straight forward and it provides some good information.

    Hope it’s useful!

    Technorati Tags: ,,

    Tuesday, November 05, 2013

    Lync Server 2013 now Supported on Windows Server 2012 R2

    When Lync Server 2012 shipped, it did not support Server 2012 R2. Naturally since at the time of Lync’s release, Server 2012 R2 had not been released. The UC team’s approach has pretty much always been to test, then support later OSs as appropriate.  The late October 2013 Cumulative update (see for details) now supports Server 2012 R2. Yeah!

    Like all Lync CU’s you need to do the update carefully and as directed. In a large enterprise, you want to do the updates in such a way as to ensure you maintain service, especially if you are running Enterprise Voice where any downtime, even announced in advance, are not considered a good thing by the users.

    In a large enterprise environment, with multiple Front End servers, Lync organise those servers in to upgrade domains, And upgrade domain is, in effect, a set of Front end servers that can be upgraded while the pool remains able to serve users. You upgrade one upgrade domain at a time. This is great as you can upgrade whilst still delivering a service. Of course, if you take several servers out of commission all at once, the pool can function but at a degraded level of performance. So it’s probably best to schedule upgrades at times of light production load to avoid issues with temporary loss of performance.

    I’m pleased that this is now supported – I want to re-build my internal lab to use Server 2012 R2 and have Lync integrate with the rest of my testing lab.

    Technorati Tags: ,,

    Monday, November 04, 2013

    Centralised Logging in Lync 2013

    One of the great feature of Lync (and for that matter, OCS too!) is the ability to do comprehensive debug logging. Pretty much, if there's any sort of activity happening in Lync, you can log that activity to help debug issues. For OCS, the ability to see the SIP traffic, on the wire was fantastic (with Wireshark you saw nothing useful as all the traffic was encrypted).  I have on many occasions used this logging (and the SIP Snooper tool) to work out what’s going wrong,

    With Lync 2013, Microsoft has improved this system significantly, and we now have the Centralised Logging feature. In earlier versions, you had to run the debug logging on each machine independently which made tracing things across machines (e.g. edge, to director, to pool server to client etc.) much more difficult. With centralised logging those issues are a thing of the past as logging can now be done in a centralised fashion (I guess the clue is in the name!).

    One issue, for some admins, is that the CLS is based on the use of PowerShell cmdlets or using CLSController.exe. The Lync MVP community, particularly Randly Wintle and James Cussen, had the great idea of making a GUI interface. James took the earlier Lync Preview based tool and has created a much improved version.

    For more information, and to snag a copy of this cool tool, you should visit James’ blog: I don’t know about the legalities of doing it, but adding this tool to the Lync 2013 Resource Kit would be a really great idea. Nice job James!

    Sunday, November 03, 2013

    Learning More About Lync

    Lync 2013 is a rich but complex product. It’s wealth of features encompass many roles and include many services and servers. Unless you have the luxury of a couple of weeks in a classroom (taking for example the Microsoft official courses), learning it all can be tough. If you are a busy IT Pro with a bucket load of fires to put out every day, then tough becomes an understatement.

    Fortunately, Microsoft has provided some great training material over on MSDN’s Channel 9 subsite: This site has a number of videos that cover all manner of Lync features. Some of these talks cover topics that, while important in production as perhaps not as well covered in the MOC material as some might need. For example, the Identifying Critical Support Dependencies for Lync Server video provides a good look at “the often overlooked dependencies that underpin a Lync Server solution”.

    The videos differ widely in length with some being just half an hour, while others are nearly 2 hours long. That being said, the videos can be viewed on line or downloaded in a variety of formats which include MP3 (Audio only), MP4 (for iPod,iPad and PC), and WMV. The MP4 and WMV formats come in different resolution which is useful!

    Technorati Tags: