Thursday, June 23, 2011

Will your OCS / Lync Front End not start because of license issues?

I Have run into this problem 2-3 times last week, so I wanted to remind people about the issue.
The error you see is that your Lync or OCS Front End service centers will not start and errors a la the following is logged in your event viewer:

The evaluation period for Microsoft Office Communications Server 2007 R2 has expired. Please upgrade from evaluation version to the full released version of the product.

Failed to activate Office Communications Server Standard Edition Server on machine R2 SE.NWTraders.com

Or in Lync

The evaluation period for Microsoft Lync Server 2010 has expired. Please upgrade from evaluation version to fully licensed version of the product.

There are 2 possible sources of error for this:

You (or the colleague who usually gets the blame) made a mistake
I
t installed the eval version of Lync and the 180 days are now gone, so the product has expired
Find the full version of Lync, copy it locally into the server and run:
msiexec.exe / fvomus server.msi EVALTOFULL = 1 / qb
If it comes back with a message that it can not upgrade FULL to FULL, then the next source of error is:

Microsoft made a mistake
Or rather they have addressed a critical issue in their CryptoAPI (and we're happy for that), but this correction criples OCS and Lync (and LCS for that matter), so the product think it is running on an evaluation version. The error is described here:

http://support.microsoft.com/kb/974571

and solved by setting a registry setting or running OCSASNfix.exe from a command prompt.

Good luck out there!

Wednesday, January 12, 2011

Elevation of Privilege (EoP) Card Game

Elevation of Privilege is the easy way to get started threat modeling. Threat modeling is a core component of the design phase in the Microsoft Security Development Lifecycle (SDL).
The Elevation of Privilege (EoP) card game helps clarify the details of threat modeling and examines possible threats to software and computer systems.

Read more and get it at http://www.microsoft.com/security/sdl/eop.aspx

The Little Book of Semaphores

In common use, “synchronization” means making two things happen at the
same time. In computer systems, synchronization is a little more general; it
refers to relationships among events—any number of events, and any kind of
relationship (before, during, after).
Computer programmers are often concerned with synchronization con-
straints, which are requirements pertaining to the order of events. Examples
include:
Serialization: Event A must happen before Event B.
Mutual exclusion: Events A and B must not happen at the same time.
In real life we often check and enforce synchronization constraints using a
clock. How do we know if A happened before B? If we know what time both
events occurred, we can just compare the times.
In computer systems, we often need to satisfy synchronization constraints
without the benefit of a clock, either because there is no universal clock, or
because we don’t know with fine enough resolution when events occur.
That’s what this book is about: software techniques for enforcing synchronization
constraints.

Here are just a few examples of the algorithms covered.

  • Readers-writers problem
  • Dining philosophers
  • The dining savages problem
  • The Santa Claus problem
  • Building H2O
  • The unisex bathroom problem
  • Baboon crossing problem

Read it at http://greenteapress.com/semaphores/downey08semaphores.pdf

Programming is not a craft – or is it?

Software Craftsmanship risks putting the software at the centre rather than the benefit the software is supposed to deliver, mostly because we are romantics with big egos. Programming is about automating work like crunching data, processing and presenting information, or controlling and automating machines.
Non-programmers don’t care about the aesthetics of software in the same way non-plumbers don’t care about the aesthetics of plumbing – they just want their information in the right place or their hot water to work. (Although it’s fair to say they appreciate decent boiler controls.)
Read the rest and the comments at http://dannorth.net/2011/01/11/programming-is-not-a-craft/

Thursday, November 11, 2010

Lync Server 2010 documentation RTW’ed

The first “RTM” version of the Lync Server 2010 documentation has been Released To The Web.

The easiest way to get it, is to to download the compiled help file containing all the documentation from here. This file also contains download links for Word versions (Good for printing) of the documentation.

The Links for online (always up-to-date) versions of the documentation can be found here.

Happy reading Winking smile

Friday, October 15, 2010

Getting to understand F#

I find it hard to get F# (like other functional languages) under the nails as we say in Denmark. Here is 4 short and funny articles by Ivan Towlson that shed some more light on it. The first starts here: F# and first-class functions, part 1: the composition operator

Wednesday, October 06, 2010

Javascript Libraries and ASP.NET: A Guide to jQuery, AJAX and Microsoft

When Microsoft announced they would begin providing official support for jQuery, few of us realized how profoundly that announcement would eventually impact client-side development on the ASP.NET platform. Since that announcement, using jQuery with ASP.NET has moved from the obscure, to a central role in ASP.NET MVC’s client-side story, and now to the point of potentially superseding ASP.NET AJAX itself.

Get the full picture and read the rest at: http://visitmix.com/Articles/Javascript-Libraries-and-ASPNET

Monday, September 13, 2010

Communications Server ‘14’ gets its new name – Lync

Our NDA has been lifted and we can now reveal the new name for the Communications Server '14 '.

The child has been named Lync, which is a combination of the words Link and Sync. Microsoft describes the name as more in line with the experience you get with a true unified communications product.

image image image


The forthcoming Communications Server "14" will thus be called "Lync Server 2010 and clients:

  • Lync 2010 (Corresponding Office Communicator)
  • Lync Attendant Console (As in OCS 2007 R2)
  • Lync Attendee to participate in web conferencing with audio-video when you do not have Lync (For example, external users who previously would have used Live Meeting Console)
  • Lync Web App which is the web-based client for web conferencing (without IP audio / video)
  • Lync Devices are network units running Lync Phone Edition phones or conference units connected directly to Ethernet and Lync Server.

Lync Server is available as a download in Release Candidate version on Microsoft's website. This version will work until February 2011th. There is also a Planning Tool ready, and Attendee console, see the Microsoft Download all Lync downloads.


In addition to downloads, you can take a look at www.microsoft.com/lync or the press release.

Saturday, July 10, 2010

Minimizing Performance Hit when Running Home Server Backup

I’ve always been annoyed by my home server backup. It always starts when I start the PC and then it eats a lot of resources. I often either postpone the backup or change its priority to low which more importantly reduces the IO priority to low as well.

But why not automate the latter?

And that is easy:

  • Start Event Viewer
  • Find HomeBackup event 768 in the Application log
  • Right-click specifying attach task to event
  • Follow the wizard, specify powershell.exe as program and ‘-noprofile c:\IdleBackupEngine.ps1’ as argument.
  • At the end of the wizard, select to open properties afterwards and change the task to use SYSTEM with highest privileges enabled
  • Finally, create c:\IdleBackupEngine.ps1. It only contains a single line: (gps backupengine).priorityclass="idle"

Have fun – working *during* the backup

Saturday, June 19, 2010

Danish User Group CoLabora startup meeting

Hi everyone,

Fellow MVP and Exchange MCM Peter Schmidt and I have recently founded a Danish User Group focusing on UC (OCS/CS and Exchange) called CoLabora. It is run on a non-profit basis and the goal is to establish a Danish independent forum for professionals working with Microsoft Unified Communications.

We are now announcing our first User Group meeting for CoLabora, which is taking place on June 29th from 14.00 – 17.00 (followed by a Sandwich / networking) and the agenda will be focusing on Communications Server ‘14’' and the news in Exchange Server 2010 SP1 (Seen from a Danish/Nordic perspective).

For more information (In Danish) and registration go to http://www.colabora.dk/.

We hope to see some of our Danish readers at the event !

Vitamins, Painkillers and Viagra (this is not spam)

Dick Hardt has written a interesting, reflective article. Is your product or our consulting service a vitamin, a painkiller or viagra? Read the definitions in http://dickhardt.org/2010/01/vitamins-painkillers-and-viagra/

Monday, June 14, 2010

Get-Line and Got-NewJob

Hi. It has been a while as I have been busy with my new job. I’m now working LEGO as Senior Solution Architect for www.lego.com. Visit a great web site and any feedback is welcome.

Consequently, I’m not using PowerShell as much as I used – to at least not for so complicated solution. On the other hand I’m using it almost daily as is it so useful for test web related things.

But my new colleagues know that I know PowerShell so today Michael asked about how to get a few lines from a text file. This is easy, but if it was easy, Michael would have figured it out himself. The problem is that the file is huge (E.G. 1.5GB), so using Get-Content with Select-Object or similar would be very memory intensive and thus slow. I said that I would either call .Net directly or embed some C# code in a script.

Well, now it is evening and I’m watching the Italian-Paraguay match and – hey – why not do a little blogging while and again!

As thought, so done. Here’s my solution. It took as little more than an hour including help and validation. For newcomers, use Get-Line –? for displaying the help nicely formatted.

The script -

<#
.Synopsis
Get line or lines from a text file
.Description
Get one of more lines from the specified file. Line numbers are positive and the first line is number 1.
.Inputs
Path
.Outputs
Array of strings
.Example
Get-Line $env:temp\lines.txt 23,897,45
Get lines 23, 45 and 897. Lines are returned in increasing order. E.g. line 23 is returned first, then line 45 and finally, line 897

#>
param(
[parameter(Mandatory=$true)]
[alias("file")]
[alias("fullname")]
[alias("name")]
[string]
[ValidateScript({Test-Path $_})]
# The path of the file to get the lines from
$path,
[Parameter(Mandatory=$true)]
[alias("numbers")]
[int64[]]
[ValidateScript({$_ -gt 0})]
# One or more line numbers (e.g. first line is 1) to retrieve from the file
$lines
)

add-type -TypeDefinition @'
using System;
using System.Collections.Generic;
using System.IO;

namespace Per
{
public class FileFunctions
{
public List<string> GetLines(string file, System.Collections.Generic.Queue<long> lines)
{
FileStream fs;
StreamReader sr;
List<string> linesFound = new List<string>();
using (fs = new System.IO.FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read, 10 * 1024 * 1024))
{
using (sr = new System.IO.StreamReader(fs))
{
int lineCounter = 0;
int linesIndex = 0;
if (lines.Count == 0)
{
return new List<string>();
}
long findLine = lines.Dequeue();
while (!sr.EndOfStream)
{
string line = sr.ReadLine();
lineCounter++;
if (lineCounter == findLine)
{
linesFound.Add(line);
linesIndex++;
if (lines.Count == 0)
{
break;
}
findLine = lines.Dequeue();

}

}
}
sr.Close();
}
fs.Close();

return linesFound;
}
}
}

'
@
$c=new-object Per.FileFunctions
[int64[]]$sortedLines=$lines | sort -unique | where {$_ -gt 0}
$c.GetLines((Resolve-Path $path),$sortedLines)





As always: Have fun!

Friday, April 23, 2010

Office 2010 RTM now available at TechNet Subscriber Downloads

Just a quick notice, I just reinstalled my X301 yesterday (Due to SSD slowdown) and was planning on using OWA until the RTM release of Office 2010 (I have enough Beta software on my machine as it is).

Turns out that I didn’t have to wait that long ;-)

Saturday, April 17, 2010

OCS Voice in the “Cloud” for dedicated customers in US

Interesting bit of news from Microsoft Online included in the post Expanded Global Availability. SIP trunking is now supported but only for customers in US

US-based BPOS Dedicated customers can now enjoy a more complete unified communications (UC) experience in the cloud with Office Communications Online. Optimized for highly mobile information workers, the new voice capabilities enable people to make and receive phone calls anywhere using their PC and any broadband connection. The new service helps people be more productive by providing a simple UC experience, the ability to reach the right person at the right time, and improved mobility. BPOS-D can reduce the load on customers’ existing PBX (private branch exchange) investments by moving some workers onto a cloud based solution, but is not intended to replace all PBX functionality at this time.

Initially, the new voice service is offered in the US only, and it is important to note that connectivity from a qualified SIP (session initiation protocol) trunking provider is required for customers to connect to the PSTN (public switched telephone network). Currently, these services are available from Global Crossing (www.globalcrossing.com).

We look forward to this for all non-dedicated customers and also in Europe (But we probably shouldn’t be holding our breath while waiting ;-)

Friday, April 16, 2010

OCS 2007 R2 CU 5 RTW’ed

Office Communications Server 2007 R2 Cumulative Update 5 has been released to the web (At least the downloads – KB links may not be ready yet).

Product

Update

KB

Download

Office Communications Server 2007 R2

OCS_2007R2_CU5

968802

MS download

Office Communication Server 2007 R2 Database upgrade

OCSDU_2007R2_CU5

979857

MS download

Attendant Console 2007 R2

AC_2007R2_CU5

980936

MS download

Office Communicator 2007 R2

OC_2007R2_CU5

978564

MS download

Office Communicator Phone Edition 2007 R2

OCPE_2007R2_CU5

981526

MS download

As always look for the ServerUpdateInstaller.exe for easy installation on your OCS servers (But do remember to read all the related KB articles for any additional information regarding the updates – e.g. the Response Group KB has a gotcha regarding SPN’s).

The update includes some interesting changes to UCMA that starts to provide support for DNS load balancing, inband fax tone detection, retrieval of additional diversion header information etc. for Exchange 2010 UM.

According to Microsoft there will be additional release of updates for Group Chat and all the updates will be available through Microsoft Update the fourth Tuesday of April.

Happy updating.

Sunday, March 28, 2010

Adobe Reader preview handler on 64-bit Windows 7

Found this http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html fixer – and it simply works!

Now I can preview the PDF documents in Windows Explorer (Alt+P if you do not know the feature) without having to fire up Adobe Reader and needing one more window :)

Wednesday, March 24, 2010

News on Microsoft Communications Server “Wave "14”

So news on Wave 14 starts coming in from VoiceCon in Orlando. Here is a set of partner related news including the new Microsoft solution for Survivable Branch Appliances (SBA) and not least a new range of IP phones from Aastra and Polycom (With a much better price point than the current Tanjay).

PARTNERS ANNOUNCE SOLUTIONS TO COMPLEMENT MICROSOFT COMMUNICATIONS SERVER “14”

It will be even more interesting to see how much information on Wave 14 that Gurdeep Singh Pall (Vice President of UCG) announces at his Keynote presentation today at 11:15 AM – 12:00 PM EST  ;-)

You can register for a Live WebCast directly from Orlando at VoiceConTV.

Friday, March 05, 2010

Update Rollup 2 for Exchange 2010 has RTW’ed

The awaited Rollup fixes amongst other things several PO3 and IMAP issues and an update to Push Notifications.

Read more at KB979611 or proceed directly to the download site (And if you haven’t already done so – remember to look at Exchange 2010 Unified Messaging it ROCKZ ;-)

Tuesday, March 02, 2010

OCS 2007 R2 Audio Conferencing Deep Dive tonight

FYI - I’m presenting an Audio Conferencing Deep Dive tonight (March 2nd 20.00 CET and 11:00 AM Pacific )

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&Culture=en-US

Event Overview

Are you familiar with Microsoft Office Communications Server 2007 R2 dial-in conferencing and want to go deeper into the technical details? Or, are you thinking about deploying dial-in conferencing but have not yet done so? Attend this webcast for a demonstration of how Communications Server 2007 R2 works in practice, and get a detailed look at component interactions and call flows.

Presenter: Dennis Lundtoft Thomsen, Technical Evangelist, Inceptio Learning Solutions ApS

Dennis Thomsen works for Inceptio Learning ApS as a technical evangelist, educating Microsoft partners worldwide on bleeding edge technologies. He blogs, twitters, and writes articles on unified communications (UC), and he is writing a book on Microsoft UC to be published in the third or fourth quarter of 2010. Dennis's work focuses on large-scale enterprise and hosted Microsoft Unified Communications projects. He holds several Microsoft certifications and an Executive Master of Business Administration (MBA) degree with specialization in management of technology. Dennis was awarded a Microsoft Most Valuable Professional (MVP) award in 2007, 2008, and 2009.

View other sessions from Unified Communications: Control Your Infrastructure

It’s a level 2-300 presentation and it’s my first webcast, so don’t expect to much ;-)

Wednesday, February 17, 2010

OCS Voice Exam 71-404 period extended 2 weeks

Due to extreme winter weather conditions, Microsoft is extending Beta Exam 71-404, OCS 2007 R2 Voice Specialization for another two weeks.

Register for FREE with code OCR2J for BETA Exam 71-404  Prometric sites http://www.prometric.com/Microsoft/default.htm.

Candidates should plan for up to four hours to take the Beta exam and provide feedback on every question (versus the typical two hours to take Released version exams.)

It is highly recommended that candidates for Exam 74-404 (Beta 71-404) have experience with OCS 2007 R2 and have completed the Unified Communications Voice Ignite v 2.0 (R2) Workshop. A preparation guide for the exam is available at  http://www.microsoft.com/learning/en/us/exam.aspx?ID=74-404&locale=en-us

I’ve heard good feedback from people who have taken the Beta exam – so go ahead and try (Last available date is February 26th ;-)