Tuesday, December 24, 2013

For those of you in the holiday spirits, here’s a fun web site to visit: http://www.noradsanta.org/. If y9ou look around, you can find a cool set of videos, all with a great deal of humour and some pretty interesting views of the real Norad.

This post has nothing to do with PowerShell or Lync – but the site’s still fun.

Monday, December 23, 2013

In the LinkedIn Microsoft Lync Server 2010 group, MVP Pat Richard posted a link to the Lync Improvement Suggestions site. From this site, the community can make suggestions for new features in Lync, and can vote on the usefulness. The theory is that great ideas bubble up to the top. The site also shows those ideas that have been completed.

I think this is a super idea. The only downside is the disclaimer at the top of the web site page: “NOT SUPPORTED BY MICROSOFT”. Nevertheless,knowing how good Microsoft is at following sites like this, it would be amazing if they didn’t at least take a look at the popular suggestions. Of course, if you know the current product, many of the popular ideas are not really a surprise: Better response groups, Requests for take control of the client (for the help desk) and many more. Many of these seem ‘obvious’ – we’ll see how many get implemented.

Friday, December 20, 2013

In many organisations, permissions are guarded carefully and are not given out lightly. Domain Administrator and Enterprise Administrator privileges are rarely given out to anyone. On the one hand, this is a good thing as it reduces the number of people who have all powerful user accounts and therefore reduces the risk of those with such powerful accounts doing damage (either accidentally or intentionally). ON the other hand, lack of privileges can make installing enterprise software packag4es, such as Lync Server 2013 more difficult.

In a recent blog article, Andrew Price, sets out how you can install Lync Server 2013 without Domain Admin permissions. As the first paragraph sets out, you DO need Admin rights on the Front end servers in order to carry out the installation, but that permission is local to the FE Server (and other key Lync Role servers including Mediation and Edge).

This article makes good reading for anyone planning on installing Lync Server 2013 and you work in a permission scarce environment.

Thursday, December 19, 2013

Last week, it was widely reported that the EU had finally approved the take over by Microsoft of Skype. Like all too many big company mergers or take overs, the actual deal is often done far after the initial announcements. I have to say when I read the announcement (http://www.courthousenews.com/2013/12/11/63651.htm) I had thought this was all done and dusted a long time ago. The original take over was announced in 2011 and was objected to by at least some of the usual suspects, including Cisco. The General Courts of the European Union rejected the argument that Microsoft’s dominant position would destroy their (Cisco and others) ability to compete for enterprise customers.

I have long felt that Skype could be Microsoft’s method of delivering Enterprise Voice in the cloud. As I saw it, Skype (rebranded to avoid confusion) could easily become the component of Lync Online that enabled users to make and receive PSTN calls via the cloud. That so far has not happened.

PowerGui always had this ability-you can add new nodes to the PowerGui control and add scripts that do things at each node. Ad Matt’s post shows, you can more or less create your own control panel that both looks very similar to the Control Panel inside Lync but you can also add things that are missing.

See the URL above for more details, and also look at a short demo of this tool. With a bit of PowerGui skills and some PowerShell knowledge, you can extend this to do anything you want – for example, you could build in reports and controls for DNS, AD, etc. (all things that support your Lync environment).

Unfortunately, I can’t find anywhere to download it from – but have asked Matt for this. I’ll post more when I get it.

Wednesday, December 18, 2013

Microsoft has recently updated both the Lync Server 2013 and the Lync 2013 client. While most Lync folks tend to concentrate on the former, the latter often includes much wanted and much needed functionality (as well of course as bug fixes). The most recent client update contains a number of features that have been long requested. These include:

Spell checker - as you type IM’s, Lync can now check the spelling which is useful particularly in IM sessions with clients where having fewer typos is a good thing.

Photos of sender and receiver – this enables you to see photos in an IM chat or conference of all the participants. This may be overkill in some cases, but in others (e.g. in an IM conference with a large number of participants) it can be really very useful.

External photos – pictures from external locations was a feature of Lync 2012, but in the RTM version of Lync 2013, this feature was dropped. But now it’s back – although it need some administrator input in order to enable users to point to external photos.

Persistent Chat conferencing – this feature enables you to start a conference with the folks currently in a persistent chat chat room.

Recording options – you have the option to record sessions (something available in the RTM version) but now you can record in different resolutions. It looks like you can only record on one resolution.

Sign-in Logs option – troubleshooting client logins has always been possible, but with the CU, there is a Sign-in Logs option in the Lync client which enables users to both view and copy logon information and send it to the help desk for more assistance.

As I see it with this CU, the good Lync client just gets a bit better. So far, I’ve not heard any horror stories but like all Lync CUs (client and server side) be sure to do your own testing. I am not aware of any issues with this CU, but the way that these releases are implemented means you should take the time to test before rolling out – just in case.

Monday, December 16, 2013

Yet another security vulnerability in Windows, Office and Lync has been discovered that could enable remote code execution. The vulnerability is triggered if the user views content that contains specially adapted TIFF files. The vulnerability was first noted in security advisory 2896666 published in early November.

The fix is Microsoft Security Bulletin MS13-096. To resolve the fix, there are a number of potential patches that need to be applied – these now appear to have shipped via Automatic Update. So for home systems, if you are using Lync, or office or later versions of Windows, make sure your systems are all patched (Microsoft/Windows update should do the trick). If you are an an oganisation that managed software updates, make sure the updates for this security bulletin are applied.

The physical phones are free standing devices that look like your traditional feature phone, with different models having different features. With Lync, these phones are devices with an operating system that runs the Lync client. From a Lync Server point of view, they are just client end-points, with an IP address and a user logged on. that way, should you get an incoming audio call you can answer it just like you did with your old PBX phone. Lync phones.

Under Microsoft's Unified Communication Open Interoperability program, 3rd party solutions are tested and qualified for interoperability. Qualified devices such as phones gateways, load balancers, etc. are an important aspect of any Lync deployment. The vendor process makes interesting reading. There’s a lot to it, but having qualified solutions is important all the way around.

Optimized for Lync – these are devices that in run the Lync Phone Edition client on some specialised hardware devices produced by a third party. These devices provide full support for all Lync functionality.

Compatible with Lync – these devices run OEM software and support most, but not all of Lync’s function.

As an example of the difference between these two categories, Lync Optimized devices handle call parking, malicious call tracing and the ability to search Lync’s contact list. Having said that – ‘compatible’ phone devices from Snom do handle both call parking and contact searching.

But does this distinction matter much – are these terms just marketing jive? Well at one level there does seem to be a pricing difference – Optimized for Lync phones seem to be more expensive.

In my view they do matter – to get the most out of a Lync investment you want your users to be able to use all the features of the product. And with some compatible devices may not provide access to Lync’s full features set, you end up with a sub-optimal implementation. While devices in both categories provide presence and a range of other features, the Optimized devices do offer more. Having said that, in many cases, your users are probably not going to really need all those features – and some compatible phones do offer most of them. At the end of the day these two categories enable you to find phones that fit some users at a cheaper price point while providing those who really need it with slightly more expensive hardware.

Snom have developed a short white paper on choosing the best phone for Lync. Naturally the paper is a little biased in terms of the products covered, but it does provide some additional background on Optimised vs Compatible devices that is probably worth reading.

This certainly under lines the need to plan devices carefully in terms of what the users need, what they want and what the budget allows. For many users, the Lync client will be their preferred way to interact with Lync and other Lync Users. The Lync Phone device gives you options – but make sure you do the planning and read the fine print! And be prepared to test carefully and thoroughly.

Thursday, December 12, 2013

Lync, when it first released a mobile client did not support voice over WI-Fi. In an article I stumbled across today, I was reminded of why that was. Adam Ghent, admittedly a couple of years ago, laid out some of the reasons why VOIP Over WiFI was not quite the holy grail that some Lync competitors saw it as being! IN particular, Wireless is not all that good with real time media, combined with the fact that most wireless deployments were carried out without regard for real time media.

Now since this article was first published a couple of years ago, Microsoft has announced WIFI support for VOIP so you CAN do it, but again the question is whether this is a good thing. If you are deploying Lync, while VOIP over Wifi may appear attractive, consider your wireless infrastructure carefully. Does it support QOS? Can a voice call be transferred fully if the client moves between access points? And if you have roaming support turned on – what happens when the phone moves out of wireless range – hint it uses data over the telephone which for some plans can be considerably more expensive than using GSM et al.

If you are rolling out Lync 2010, these could be useful training aides. You could consider recording using a tool like Camtasia, and put it on your internal web site as refresher training for staff, particularly new staff.
I’ve not managed to find any such training for Lync 2013 (yet). Pointers welcome!

Tuesday, December 10, 2013

I notice over on Peter Bruzzewse’s InfoWorld column, more information about the upcoming Service Packs For Office, SharePoint and Exchange 2013. A key focus of these upcoming service packs is to bring the on-premise versions of these tools up to par with what’s being delivered in Office 365. Office 365 has a much more frequent update schedule although the changes at each update are correspondingly smaller although over time these differences mount up.
Peter notes many of the features coming – and yes there are likely to be AD Schema changes too. One key feature of Exchange 2013 SP1 is the re-introduction of the Edge server role. This role was, for some reason, omitted from Exchange 2013 RTM, but is now brought back, although it’s unlikely, the article suggests, to have much in the way of major feature enhancements. Sounds a bit like Public Folders.
One thing missing from all this is SP1 for Lync. I am guessing that there is a good reason for this – there won’t be a SP for Lync 2013. Traditionally, the Lync team have eschewed Service Packs, relying instead on Cumulative Updates on a fairly frequent schedule. So is there going to be a new version of Lync? Well, probably - but the real question is when.
My guess is that any new version will not be disclosed until the Lync Conference in February 2014 in Las Vegas. If it is announced then, we’d likely see a preview late Spring to early Summer and then see RTM in the autumn. Of course, this is only just a huge guess – if it’s correct you heard it here first, but if not, then it’s just another uninformed rumour. Having said that, we’re sort of due for a new version in the coming 18 months at least. We’ll see.
But in the mean time, get planning on the updates to Office, SharePoint and Exchange 2013.

This application enables you to examine the current state of the network and look at how that might impact the media quality should you place a call. What you get is a D shows a graphical view of your network metrics including Network MOS, Packet Loss and Interarrival Jitter.

If you are working with Lync, especially Lync Enterprise Voice, this is likely to be a very key troubleshooting tool.

My only reservation is that it requires Windows 8.1 and does not appear to run on Windows 8. I really want this on my laptop, but simply cant afford the day or more it would take to reinstall the OS and all my apps.

Sunday, December 08, 2013

As I teach Lync, I find the students in the classes eager for proof, evidence, that Lync really does deliver. It’s all fine and well me repeating the words on the slides, or in my Instructor’s Guide – but seeing a real life customer with real life experiences of the REAL good and bad news of any product is like gold dust. Some case studies read like they were written before the product went in and avoid any discussion of real benefits and problems encountered.

The case study for Mattersight over on BizTechmagazine.com makes good reading.Mattersight is a consulting company that The case study notes Lync has saved Mattersight money. The cost of implementing a replacement cost roughly 1/3 what replacing their old gear might have cost. Most of the savings they have achieve, the article notes, are from reduced licensing costs. Additionally, “Lync can be ‘setup ok [white box] servers that are far less expensive than other UC Systems”, the article notes.

The article also notes that whilst savings are pretty important, what really sold Mattersight on Lync was the way it’s dispersed employee could work more collaboratively. Clearly this was a huge benefit for Mattersight. But I can understand that its’ very hard to put a hard-money amount on what this is work to Mattersight.

A nice success story that shows some of the hard and soft benefits which can accrue through adoption of Lync. I look forward to more evidence like this.

First, out of the box it won’t run because the reference assemblies do not exist. No problem – just load the SDK. Ahh – but the SDK requires you to have Visual Studio installed. A bit tedious to enable one to play with it, but I understand.

To send an IM with the client dll loaded is done in several steps involving first getting the client details, then getting a conversation, looking up the contact you want to send the message to and finally sending the IM.

Tuesday, December 03, 2013

As most Lync IT Pros know, in order to connect remote users and get full fidelity requires both an Edge server and a reverse proxy. The Edge Server is a Lync role – to implement, you just add the edge server to the topology builder, then install the software on the edge server. Assuming you have all the ports setup properly on the firewall, installation of the edge is pretty near trivial.

The Edge server does most, but not all, the work required to connect remote users to you Lync infrastructure. In order to get full fidelity for remote users, you also need to implement some other reverse proxy. Features like group expansion and a bunch more require a reverse proxy feature.

Microsoft has always been careful to point out that any reverse proxy will fit the bill – and did not mandate a specific Microsoft solution. Having said that, for years, the standard recommendation was Microsoft’s most excellent Threat Management Gateway (or ISA server as it was previously known).The bad news is that Microsoft has discontinued TMG as a product, and has not really provided an alternative. This decision has understandably brought disappointment to the market. I’ve long believed that the reverse proxy role really should be integrated into Lync’s Edge Server to reduce the number of servers you need to support your remote user population – but thus far that’s not happened.

The good news is that one of Microsoft’s OEM partners, Celestix are able to build the TMG technology into their MSA appliance range until 2023. They will also continue to provide their comprehensive technical support services, ensuring that customers have many more years’ service from TMG. See here for more details.

So if you are considering deploying Lync and have not yet chosen a reverse proxy solution, then this might be one to take a look at. I don’t have any costings so I do not know how much (or little) this solution will cost. Celestix’s product are marketed in the UK by Satisnet, based in Bedford (www.satisnet.co.uk).

Monday, December 02, 2013

Over on Microsoft’s Office blog, Microsoft announced that a full service pack, SP1, for Exchange 2013 will be coming in the new year. That Service pack is, in effect, a single rollup patch that incorporates all the current cumulative updates.

For me, the most important feature of this upcoming SP is Exchange 2013 Support on Server 2012 R2. This means that I can build out my Lync 2013 farm using the latest version of the OS for both the Lync and the Exchange VMs. Yeah!

Both Exchange and Lync use a CU scheme to roll out updates for on-prem customers. These are regular updates and each one is cumulative. An SP then is sort of an uber-rollup. This is a really nice approach, IMHO. Hopefully, this will allow MSDN and TechNet to offer an SP1 included version of Exchange for building VM test farms.

Lync uses a similar cumulative update model, but thus far has not incorporated them into a formal Service Pack. I can understand it, but at the same time, it would be nice to be able to get ahold of a fully patched version of Lync – downloading all the patches from the Internet just takes time, especially for test labs. Mind you, the Lync team work on a different release rhythm and have been able to do updated versions faster than the Exchange team. We’ll see what happens in the spring!

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.

I’ve just seen the session list for the Lync Server Conference (http://www.lyncconf.com/Sessions.aspx). 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.

Thursday, November 28, 2013

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

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.

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:

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.

Tuesday, November 26, 2013

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!

Friday, November 22, 2013

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.1.2.0.612004), 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.

Thursday, November 21, 2013

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: http://4sysops.com/archives/add-a-signature-to-office-365-emails-with-powershell/

Monday, November 18, 2013

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!

Friday, November 15, 2013

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: http://blog.masteringmsuc.com/2013/11/november-2013-update-for-lync-2013.html.
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: http://support.microsoft.com/kb/2825630 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.

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

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.

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.

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:

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.

Wednesday, November 13, 2013

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.

Tuesday, November 12, 2013

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 http://www.microsoft.com/en-us/download/details.aspx?id=35405. 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!

Monday, November 11, 2013

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.

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!

Friday, November 08, 2013

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.

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.

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.

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!

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.

Tuesday, November 05, 2013

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 http://support.microsoft.com/kb/2809243 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.