tag:blogger.com,1999:blog-86008482024-03-07T19:43:36.511+01:00msgoodiesWelcome to our blog on the topics that we find interesting in our work life.Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.comBlogger611125tag:blogger.com,1999:blog-8600848.post-65536785414735365512011-06-23T14:19:00.001+02:002011-06-23T14:22:56.570+02:00Will your OCS / Lync Front End not start because of license issues?<p>I Have run into this problem 2-3 times last week, so I wanted to remind people about the issue.<br>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:</p> <p><em>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.</em></p> <p><em>Failed to activate Office Communications Server Standard Edition Server on machine R2 SE.NWTraders.com</em></p> <p>Or in Lync</p> <p><em>The evaluation period for Microsoft Lync Server 2010 has expired. Please upgrade from evaluation version to fully licensed version of the product.</em></p> <p>There are 2 possible sources of error for this:</p> <p><strong>You (or the colleague who usually gets the blame) made a mistake<br>I</strong>t installed the eval version of Lync and the 180 days are now gone, so the product has expired<br>Find the full version of Lync, copy it locally into the server and run:<br>msiexec.exe / fvomus server.msi EVALTOFULL = 1 / qb<br>If it comes back with a message that it can not upgrade FULL to FULL, then the next source of error is:</p> <p><strong>Microsoft made a mistake<br></strong>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:</p> <p><a href="http://support.microsoft.com/kb/974571">http://support.microsoft.com/kb/974571</a></p> <p>and solved by setting a registry setting or running <a href="http://go.microsoft.com/fwlink/?LinkId=168248">OCSASNfix.exe</a> from a command prompt.</p> <p>Good luck out there!</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com4tag:blogger.com,1999:blog-8600848.post-30619474703370651752011-01-12T15:43:00.001+01:002011-01-12T15:43:53.463+01:00Elevation of Privilege (EoP) Card Game<p>Elevation of Privilege is the easy way to get started threat modeling. Threat modeling is a core component of the design phase in the <a href="http://www.microsoft.com/security/sdl/getstarted/threatmodeling.aspx">Microsoft Security Development Lifecycle (SDL)</a>. <br />The Elevation of Privilege (EoP) card game helps clarify the details of threat modeling and examines possible threats to software and computer systems. <br /></p> <p>Read more and get it at <a title="http://www.microsoft.com/security/sdl/eop.aspx" href="http://www.microsoft.com/security/sdl/eop.aspx">http://www.microsoft.com/security/sdl/eop.aspx</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-3610706749238262672011-01-12T15:14:00.001+01:002011-01-12T15:14:31.416+01:00The Little Book of Semaphores<blockquote> <p>In common use, “synchronization” means making two things happen at the <br />same time. In computer systems, synchronization is a little more general; it <br />refers to relationships among events—any number of events, and any kind of <br />relationship (before, during, after). <br />Computer programmers are often concerned with synchronization con- <br />straints, which are requirements pertaining to the order of events. Examples <br />include: <br />Serialization: Event A must happen before Event B. <br />Mutual exclusion: Events A and B must not happen at the same time. <br />In real life we often check and enforce synchronization constraints using a <br />clock. How do we know if A happened before B? If we know what time both <br />events occurred, we can just compare the times. <br />In computer systems, we often need to satisfy synchronization constraints <br />without the benefit of a clock, either because there is no universal clock, or <br />because we don’t know with fine enough resolution when events occur. <br />That’s what this book is about: software techniques for enforcing synchronization <br />constraints.</p> </blockquote> <p>Here are just a few examples of the algorithms covered.</p> <ul> <li>Readers-writers problem</li> <li>Dining philosophers</li> <li>The dining savages problem</li> <li>The Santa Claus problem</li> <li>Building H2O</li> <li>The unisex bathroom problem</li> <li>Baboon crossing problem</li> </ul> <p>Read it at <a title="http://greenteapress.com/semaphores/downey08semaphores.pdf" href="http://greenteapress.com/semaphores/downey08semaphores.pdf">http://greenteapress.com/semaphores/downey08semaphores.pdf</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-59816577706007881692011-01-12T14:24:00.001+01:002011-01-12T14:24:33.760+01:00Programming is not a craft – or is it?<p>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. <br />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.) <br />Read the rest and the comments at <a title="http://dannorth.net/2011/01/11/programming-is-not-a-craft/" href="http://dannorth.net/2011/01/11/programming-is-not-a-craft/">http://dannorth.net/2011/01/11/programming-is-not-a-craft/</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-80826851068083009052010-11-11T12:45:00.001+01:002010-11-12T10:38:30.533+01:00Lync Server 2010 documentation RTW’ed<p>The first “RTM” version of the Lync Server 2010 documentation has been Released To The Web.</p> <p>The easiest way to get it, is to to download the compiled help file containing all the documentation from <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9720c3f1-ddd4-426b-b98a-f1205561ce00&displaylang=en">here</a>. This file also contains download links for Word versions (Good for printing) of the documentation.</p> <p>The Links for online (always up-to-date) versions of the documentation can be found <a href="http://technet.microsoft.com/en-us/library/gg398616.aspx">here</a>.</p> <p>Happy reading <img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://lh3.ggpht.com/_nKYobGDdbe4/TNvXRj3x57I/AAAAAAAAAWE/rUbcxYLMCTg/wlEmoticon-winkingsmile2.png?imgmax=800" /></p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-12904185451248153332010-10-15T08:01:00.001+02:002010-10-15T08:01:21.733+02:00Getting to understand F#<p>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: <a href="http://www.mindscape.co.nz/blog/index.php/2010/10/10/f-and-first-class-functions-part-1-the-composition-operator/">F# and first-class functions, part 1: the composition operator</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-72172122162464168962010-10-06T07:48:00.001+02:002010-10-06T07:48:08.891+02:00Javascript Libraries and ASP.NET: A Guide to jQuery, AJAX and Microsoft<blockquote> <p>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.</p> </blockquote> <p>Get the full picture and read the rest at: <a title="http://visitmix.com/Articles/Javascript-Libraries-and-ASPNET" href="http://visitmix.com/Articles/Javascript-Libraries-and-ASPNET">http://visitmix.com/Articles/Javascript-Libraries-and-ASPNET</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-51407880897675994232010-09-13T22:46:00.000+02:002010-09-13T22:47:09.268+02:00Communications Server ‘14’ gets its new name – Lync<p>Our NDA has been lifted and we can now reveal the new name for the Communications Server '14 '. </p> <p>The child has been named Lync, which is a combination of the words <em>Link</em> and <em>Sync</em>. Microsoft describes the name as more in line with the experience you get with a true unified communications product.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNw9J86ZpQ8xyl3CL938JXylugbziHfP8V485h2OBY6GwgdYk4G5W4ZIifaxThETYYPsvQQ4CoK5aUILFeDQZUGKEsq3GLlR_pwYVGE1ZH9cn2xkG99Tf6gSRniXT52HwZ8dNR/s1600-h/image%5B2%5D.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8rL7XHRE86gtuHBAz_xGBM_y15svvr7mERuJLY8LnHcZkW3S5SklQxWxOU2I_4eOxPioq6D8OnS4P2bGKdOJOOGeiDmXjWxNlcNe8jul5RkILbdN3jrCKdgHXArYJ7mZabPTY/?imgmax=800" width="109" height="66" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAXn1U79cyGORSuw0jC4hx949yC8yfkPRPNBsZyipGygSzKBt_qKRpj-DB0u_G-HXA78-Zo6kmzGWC2ZmYJsyHMDoWLiypeRlMXaSa3Kdh6tuQ1rdQIn3hrbKONepoS9xqIYjq/s1600-h/image%5B5%5D.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_-RSJ6E9mYh-XTqCUu6_zoCh-W_GMEY8WggKfF8e1IXAB2DXHku00qhR-CG1J3v8aulDMoDYEuM3o9q3171_HNBAFJJoIgbrqQ0Gn_x9M56khV9H4FDvj9QL5WmAQdaQKud7p/?imgmax=800" width="215" height="66" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt9fFxjXsSiT7RONusyKV4sZyx-Sic71jFLKy5rZON3bNFMDDAFIRO2Yi6XQlhcBFga0aLVI8pm7Ax2GoGJ0eDHppgFJ6humGq1i3qL32nh5IbzO6jS7HASJH2Cwd0JP9ZoaCK/s1600-h/image%5B8%5D.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_nKYobGDdbe4/TI48js2f96I/AAAAAAAAAUM/aA4snn09gtI/image_thumb%5B2%5D.png?imgmax=800" width="124" height="66" /></a> </p> <p> <br />The forthcoming Communications Server "14" will thus be called "Lync Server 2010 and clients:</p> <ul> <li>Lync 2010 (Corresponding Office Communicator) </li> <li>Lync Attendant Console (As in OCS 2007 R2) </li> <li>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) </li> <li>Lync Web App which is the web-based client for web conferencing (without IP audio / video) </li> <li>Lync Devices are network units running Lync Phone Edition phones or conference units connected directly to Ethernet and Lync Server. </li> </ul> <p>Lync Server is available as a download in Release Candidate version on Microsoft's <a href="http://technet.microsoft.com/en-us/evalcenter/ff808407.aspx">website</a>. This version will work until February 2011th. There is also a Planning Tool ready, and Attendee console, see the Microsoft Download <a href="http://www.microsoft.com/downloads/en/results.aspx?freetext=lync">all Lync downloads</a>.</p> <p> <br />In addition to downloads, you can take a look at <a href="http://www.microsoft.com/lync">www.microsoft.com/lync</a> or the <a href="http://www.microsoft.com/presspass/press/2010/sep10/lyncpr.mspx">press release</a>.</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-90561366405821600752010-07-10T12:17:00.001+02:002010-07-10T12:17:48.243+02:00Minimizing Performance Hit when Running Home Server Backup<p>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.</p> <p>But why not automate the latter?</p> <p>And that is easy:</p> <ul> <li>Start Event Viewer</li> <li>Find HomeBackup event 768 in the Application log</li> <li>Right-click specifying attach task to event</li> <li>Follow the wizard, specify powershell.exe as program and ‘-noprofile c:\IdleBackupEngine.ps1’ as argument.</li> <li>At the end of the wizard, select to open properties afterwards and change the task to use SYSTEM with highest privileges enabled</li> <li>Finally, create c:\IdleBackupEngine.ps1. It only contains a single line: (gps backupengine).priorityclass="idle"</li> </ul> <p>Have fun – working *during* the backup</p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-28451955612166347832010-06-19T23:03:00.001+02:002010-06-19T23:03:41.980+02:00Danish User Group CoLabora startup meeting<p>Hi everyone,</p> <p>Fellow MVP and Exchange MCM <a href="http://www.msdigest.net/">Peter Schmidt</a> and I have recently founded a Danish User Group focusing on UC (OCS/CS and Exchange) called <a href="http://www.colabora.dk/">CoLabora</a>. 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.</p> <p>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).</p> <p>For more information (In Danish) and registration go to <a title="http://www.colabora.dk/" href="http://www.colabora.dk/">http://www.colabora.dk/</a>.</p> <p>We hope to see some of our Danish readers at the event !</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-68365827005019485922010-06-19T13:56:00.001+02:002010-06-19T13:56:19.249+02:00Vitamins, Painkillers and Viagra (this is not spam)<p><a href="http://dickhardt.org/about/">Dick Hardt</a> has written a interesting, reflective article. Is your product or our consulting service a vitamin, a painkiller or viagra? Read the definitions in <a href="http://dickhardt.org/2010/01/vitamins-painkillers-and-viagra/">http://dickhardt.org/2010/01/vitamins-painkillers-and-viagra/</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com1tag:blogger.com,1999:blog-8600848.post-46815775741788400572010-06-14T23:01:00.001+02:002010-06-14T23:01:02.557+02:00Get-Line and Got-NewJob<p>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 <a href="http://www.lego.com">www.lego.com</a>. Visit a great web site and any feedback is welcome.</p> <p>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.</p> <p>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.</p> <p>Well, now it is evening and I’m watching the Italian-Paraguay match and – hey – why not do a little blogging while and again!</p> <p>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.</p> <p>The script -</p> <div id="codeSnippetWrapper"> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><<span style="color: #008000">#</span><br />.Synopsis<br /> Get line or lines from a text file<br />.Description<br /> Get one of more lines from the specified file. Line numbers are positive and the first line is number 1.<br />.Inputs<br /> Path<br />.Outputs<br /> Array of strings<br />.Example<br /> Get-Line $env:temp\lines.txt 23,897,45<br /> Get lines 23, 45 and 897. Lines are returned <span style="color: #0000ff">in</span> increasing order. E.g. line 23 is returned first, then line 45 and finally, line 897<br /> <br /><span style="color: #008000">#></span><br /><span style="color: #0000ff">param</span>(<br /> [parameter(Mandatory=$true)]<br /> [alias(<span style="color: #006080">"file"</span>)]<br /> [alias(<span style="color: #006080">"fullname"</span>)]<br /> [alias(<span style="color: #006080">"name"</span>)]<br /> [string]<br /> [ValidateScript({Test-Path $_})]<br /> <span style="color: #008000"># The path of the file to get the lines from</span><br /> $path,<br /> [Parameter(Mandatory=$true)]<br /> [alias(<span style="color: #006080">"numbers"</span>)]<br /> [int64[]]<br /> [ValidateScript({$_ <span style="color: #cc6633">-gt</span> 0})]<br /> <span style="color: #008000"># One or more line numbers (e.g. first line is 1) to retrieve from the file</span><br /> $lines<br />)<br /><br />add-type -TypeDefinition @<span style="color: #006080">'<br /> using System;<br /> using System.Collections.Generic;<br /> using System.IO;<br /><br /> namespace Per<br /> {<br /> public class FileFunctions<br /> {<br /> public List<string> GetLines(string file, System.Collections.Generic.Queue<long> lines)<br /> {<br /> FileStream fs;<br /> StreamReader sr;<br /> List<string> linesFound = new List<string>();<br /> using (fs = new System.IO.FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read, 10 * 1024 * 1024))<br /> {<br /> using (sr = new System.IO.StreamReader(fs))<br /> {<br /> int lineCounter = 0;<br /> int linesIndex = 0;<br /> if (lines.Count == 0)<br /> {<br /> return new List<string>();<br /> }<br /> long findLine = lines.Dequeue();<br /> while (!sr.EndOfStream)<br /> {<br /> string line = sr.ReadLine();<br /> lineCounter++;<br /> if (lineCounter == findLine)<br /> {<br /> linesFound.Add(line);<br /> linesIndex++;<br /> if (lines.Count == 0)<br /> {<br /> break;<br /> }<br /> findLine = lines.Dequeue();<br /><br /> }<br /><br /> }<br /> }<br /> sr.Close();<br /> }<br /> fs.Close();<br /><br /> return linesFound;<br /> }<br /> }<br /> }<br /><br />'</span>@<br />$c=new-object Per.FileFunctions<br />[int64[]]$sortedLines=$lines | sort -unique | where {$_ <span style="color: #cc6633">-gt</span> 0}<br />$c.GetLines((Resolve-Path $path),$sortedLines)<br /></pre><br /><br /> <br /></div><br /><br /><p>As always: Have fun!</p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com3tag:blogger.com,1999:blog-8600848.post-7308349204857916922010-04-23T08:01:00.001+02:002010-04-23T08:01:46.246+02:00Office 2010 RTM now available at TechNet Subscriber Downloads<p>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). </p> <p>Turns out that I didn’t have to wait that long ;-)</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-77910093029536386162010-04-17T13:50:00.001+02:002010-04-17T13:50:08.600+02:00OCS Voice in the “Cloud” for dedicated customers in US<p>Interesting bit of news from Microsoft Online included in the post <a href="http://bit.ly/bdM7nb">Expanded Global Availability</a>. SIP trunking is now supported but only for customers in US</p> <p><em>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.</em></p> <p><em>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 (</em><a href="http://www.globalcrossing.com"><em>www.globalcrossing.com</em></a><em>).</em></p> <p>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 ;-)</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-35401992090414295982010-04-16T08:29:00.001+02:002010-04-16T08:41:38.863+02:00OCS 2007 R2 CU 5 RTW’ed<p>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).</p> <table border="0" cellspacing="0" cellpadding="0"><tbody> <tr> <td valign="top" width="305"> <p><b>Product</b></p> </td> <td valign="top" width="132"> <p><b>Update</b></p> </td> <td valign="top" width="78"> <p><b>KB</b></p> </td> <td valign="top" width="102"> <p><b>Download</b></p> </td> </tr> <tr> <td valign="top" width="305"> <p>Office Communications Server 2007 R2 </p> </td> <td valign="top" width="132"> <p>OCS_2007R2_CU5</p> </td> <td valign="top" width="78"> <p><a href="http://support.microsoft.com/kb/968802">968802</a></p> </td> <td valign="top" width="102"> <p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b3b02475-150c-41fa-844a-c10a517040f4">MS download</a></p> </td> </tr> <tr> <td valign="top" width="305"> <p>Office Communication Server 2007 R2 Database upgrade</p> </td> <td valign="top" width="132"> <p>OCSDU_2007R2_CU5</p> </td> <td valign="top" width="78"> <p><a href="http://support.microsoft.com/kb/979857">979857</a></p> </td> <td valign="top" width="102"> <p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b3b02475-150c-41fa-844a-c10a517040f4">MS download</a></p> </td> </tr> <tr> <td valign="top" width="305"> <p>Attendant Console 2007 R2 </p> </td> <td valign="top" width="132"> <p>AC_2007R2_CU5</p> </td> <td valign="top" width="78"> <p><a href="http://support.microsoft.com/kb/980936">980936</a></p> </td> <td valign="top" width="102"> <p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=36beb56d-072e-4a92-b781-a1e8a548a5ac&amp;displaylang=en&displaylang=en">MS download</a></p> </td> </tr> <tr> <td valign="top" width="305"> <p>Office Communicator 2007 R2 </p> </td> <td valign="top" width="132"> <p>OC_2007R2_CU5</p> </td> <td valign="top" width="78"> <p><a href="http://support.microsoft.com/kb/978564">978564</a></p> </td> <td valign="top" width="102"> <p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=515d6dba-4c6a-48bb-a06a-d99c5742676d">MS download</a></p> </td> </tr> <tr> <td valign="top" width="305"> <p>Office Communicator Phone Edition 2007 R2</p> </td> <td valign="top" width="132"> <p>OCPE_2007R2_CU5</p> </td> <td valign="top" width="78"> <p><a href="http://support.microsoft.com/kb/981526">981526</a></p> </td> <td valign="top" width="102"> <p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=565595BE-6CF3-4A61-A1E4-12555749CA64&displaylang=en">MS download</a></p> </td> </tr> </tbody></table> <p>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).</p> <p>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. </p> <p>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.</p> <p>Happy updating.</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-58814225006333698452010-03-28T15:06:00.001+02:002010-03-28T15:06:44.879+02:00Adobe Reader preview handler on 64-bit Windows 7<p>Found this <a title="http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html" href="http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html">http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html</a> fixer – and it simply works!</p> <p>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 :)</p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-22270462152255710462010-03-24T09:21:00.001+01:002010-03-24T09:47:17.382+01:00News on Microsoft Communications Server “Wave "14”<p>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).</p> <p><a href="http://bit.ly/b9H8Y7" target="_blank">PARTNERS ANNOUNCE SOLUTIONS TO COMPLEMENT MICROSOFT COMMUNICATIONS SERVER “14”</a></p> <p>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  ;-)</p> <p>You can register for a Live WebCast directly from Orlando at <a href="http://bit.ly/bNA4Qt" target="_blank">VoiceConTV</a>.</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-3533976842987413092010-03-05T08:35:00.001+01:002010-03-05T08:42:56.090+01:00Update Rollup 2 for Exchange 2010 has RTW’ed<p>The awaited Rollup fixes amongst other things several PO3 and IMAP issues and an update to Push Notifications.</p> <p>Read more at <a href="http://bit.ly/bAjda1">KB979611</a> or proceed directly to the download <a href="http://bit.ly/9s726t">site</a> (And if you haven’t already done so – remember to look at Exchange 2010 Unified Messaging it ROCKZ ;-)</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-51432233848094306362010-03-02T09:03:00.001+01:002010-03-02T16:31:26.602+01:00OCS 2007 R2 Audio Conferencing Deep Dive tonight<p>FYI - I’m presenting an Audio Conferencing Deep Dive tonight (March 2nd 20.00 CET and 11:00 AM Pacific ) </p> <p><a title="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&Culture=en-US" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&Culture=en-US">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441774&Culture=en-US</a></p> <p><b><em>Event Overview</em></b></p> <p><em>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. <br /></em></p> <p><em><b>Presenter: </b>Dennis Lundtoft Thomsen, Technical Evangelist, Inceptio Learning Solutions ApS <br /></em></p> <p><em>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. <br /></em></p> <p><em>View other sessions from </em><a href="http://www.microsoft.com/events/series/unifiedcommunications.aspx"><em>Unified Communications: Control Your Infrastructure</em></a></p> <p>It’s a level 2-300 presentation and it’s my first webcast, so don’t expect to much ;-)</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com3tag:blogger.com,1999:blog-8600848.post-13904930957555789832010-02-17T19:07:00.001+01:002010-02-17T22:32:06.736+01:00OCS Voice Exam 71-404 period extended 2 weeks<p><em>Due to extreme winter weather conditions, Microsoft is extending Beta Exam 71-404, OCS 2007 R2 Voice Specialization for another two weeks. </em></p> <p><em>Register for FREE with code <b>OCR2J</b> for BETA Exam 71-404  Prometric sites </em><a href="http://www.prometric.com/Microsoft/default.htm"><em>http://www.prometric.com/Microsoft/default.htm</em></a><em>. </em></p> <p><em>Candidates should <b>plan for up to four hours to take the Beta exam and provide feedback on every question</b> (versus the typical two hours to take Released version exams.) </em></p> <p><em>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  </em><a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=74-404&locale=en-us"><em>http://www.microsoft.com/learning/en/us/exam.aspx?ID=74-404&locale=en-us</em></a></p> <p>I’ve heard good feedback from people who have taken the Beta exam – so go ahead and try (Last available date is February 26th ;-)</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com4tag:blogger.com,1999:blog-8600848.post-72223083145836944282010-02-15T18:02:00.001+01:002010-02-15T18:02:17.836+01:00Strict Replication Consistency - Myth versus Reality<p>You can always learn more about Active Directory replication!</p> <p>Read on from the <a href="http://blogs.technet.com/askds/default.aspx">Ask the Directory Services Team</a> blog -</p> <p><a title="http://blogs.technet.com/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx" href="http://blogs.technet.com/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx">http://blogs.technet.com/askds/archive/2010/02/15/strict-replication-consistency-myth-versus-reality.aspx</a></p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-56475109043083812612010-02-09T10:26:00.001+01:002010-02-09T10:34:38.711+01:00Information Overload and Social Impact of UC<p><a href="http://twitter.com/michaeljkillian">Michael J. Killian</a> has created a 3-series post on his view on Unified Communications, <a href="http://bit.ly/aKK886">Information Overload</a>, the <a href="http://bit.ly/dBa8OQ">Social Behavior Impacts</a> and <a href="http://bit.ly/dxnFqX">Social Networking in The Enterprise</a>.</p> <p>Interesting and well written perspectives for anyone interested in the non-technical side of working with Unified Communications!</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-22966913939159936742010-02-04T17:02:00.001+01:002010-02-04T17:30:09.376+01:00NET acquires SmartSIP from Evangelyze<p>Good news for users of <a href="www.net.com">NET</a> Gateways for their OCS implementations (and future customers ;-) NET has acquired the smartSIP product from <a href="www.evangelyze.net">Evangelyze</a> -</p> <p><em>The SmartSIP product line includes both the SmartSIP and SmartVoIP products. SmartSIP enables UC presence and interoperability for SIP phones while providing integration for Microsoft's Office Communications Server with IP-PBXs and integration for ITSP voice providers. SmartVoIP, a 2008 Internet Telephony Product of the Year, is an extension of SmartSIP that provides branch office integration with Microsoft Office Communications Server.</em></p> <p>Read the full press release <a href="http://bit.ly/cE04dZ">here</a>.</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-77971434971872502672010-02-04T13:40:00.001+01:002010-02-04T13:40:53.569+01:00Invoking the PowerShell Debugger from Script<p>With PowerShell v2, a new and much improved command line debugger was introduced. The old one is still around though. Anyway, more information can be found in the help subject about_Debuggers.</p> <p>The strange part is that Set-PsDebug –Step invokes the old debugger and there does not seem to be a way of invoking the new one. You can only invoke the new one by setting a breakpoint. Even though, breakpoints are a very useful feature which I use a lot, I would also like to do it from inside a script.</p> <p>I have played around with some ways of doing this.</p> <p>First, a self-contained function</p> <div id="codeSnippetWrapper"> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">Function Invoke-Debugger{<br /> <span style="color: #0000ff">function</span> debug{}<br /> $bp=Set-PSBreakPoint -Command debug<br /> debug<br /> $bp | Remove-PSBreakpoint<br />}<br /><br /><span style="color: #0000ff">function</span> test{<br /> write-host 1<br /> Invoke-Debugger<br /> write-host 2<br />}<br /><br />test</pre><br /><br /> <br /></div><br /><br /><p>It works great, but has the downside, that the current execution pointer is inside the Invoke-Debugger function -</p><br /><br /><div id="codeSnippetWrapper"><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">1<br />Entering debug mode. Use h or ? <span style="color: #0000ff">for</span> help.<br /><br />Hit Command breakpoint on <span style="color: #006080">'debug'</span><br /><br />x.ps1:4 debug<br />7 $docs>>> l<br /><br /> 1: Function Invoke-Debugger{<br /> 2: <span style="color: #0000ff">function</span> debug{}<br /> 3: $bp=Set-PSBreakPoint -Command debug<br /> 4:* debug<br /> 5: $bp | Remove-PSBreakpoint<br /> 6: }<br /> 7:<br /> 8: <span style="color: #0000ff">function</span> test{<br /> 9: write-host 1<br /> 10: Invoke-Debugger<br /> 11: write-host 2<br /> 12: }<br /> 13:<br /> 14: test</pre><br /><br /> <br /></div><br /><br /><p>No matter how I try to tweak it, I end up in the same way.</p><br /><br /><p>Next, lets try using a two part approach (setting the breakpoint and doing some action to invoke it) -</p><br /><br /><div><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">$null=Set-PSBreakpoint -Variable InvokeDebugger<br /><br /><span style="color: #0000ff">function</span> test{<br /> write-host 1<br /> $InvokeDebugger=1<br /> write-host 2<br />}<br /><br />test<br /></pre><br /><br /> <br />This is much better, now the execution pointer is right in the code -</div><br /><br /><div id="codeSnippetWrapper"><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">1<br />Hit Variable breakpoint on <span style="color: #006080">'$InvokeDebugger'</span> (Write access)<br /><br />x.ps1:5 $InvokeDebugger=1<br />9 $docs>>> l<br /><br /> 1: $null=Set-PSBreakpoint -Variable InvokeDebugger<br /> 2:<br /> 3: <span style="color: #0000ff">function</span> test{<br /> 4: write-host 1<br /> 5:* $InvokeDebugger=1<br /> 6: write-host 2<br /> 7: }<br /> 8:<br /> 9: test<br /> 10:<br /></pre><br /><br /> <br /></div><br /><br /><p>Eventually, this led me to this piece of code. It is easier to write than the variable assignment and you can also define an easy-writeable alias for it -</p><br /><br /><div id="codeSnippetWrapper"><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">function</span> Invoke-Debugger{}<br />New-Alias id Invoke-Debugger<br />$null=Set-PSBreakPoint –Command Invoke-Debugger<br /><br /><span style="color: #0000ff">function</span> test{<br /> write-host 1<br /> id<br /> write-host 2<br />}<br /><br />test<br /></pre><br /><br /> <br /></div><br /><br /><div id="codeSnippetWrapper"><br /> <br />The execution pointer is right at the call. If you include any statements in Invoke-Debugger, this will not work as well while ‘step’ will take execution into the function -</div><br /><br /><p></p><br /><br /><p></p><br /><br /><p></p><br /><br /><p></p><br /><br /><p></p><br /><br /><p></p><br /><br /><div id="codeSnippetWrapper"><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">1<br />Hit Command breakpoint on <span style="color: #006080">'Invoke-Debugger'</span><br /><br />x.ps1:9 id<br />13 $docs>>> l<br /><br /> 4: New-Alias id Invoke-Debugger<br /> 5: $null=Set-PSBreakPoint –Command Invoke-Debugger<br /> 6:<br /> 7: <span style="color: #0000ff">function</span> test{<br /> 8: write-host 1<br /> 9:* id<br /> 10: write-host 2<br /> 11: }<br /> 12:<br /> 13: test<br /> 14:</pre><br /><br /> <br /></div><br /><br /><p></p><br /><br /><p>This method also enables you to make conditional break using straight, normal code (compared to making the logic in the –action argument of Set-PSBreakPoint) -</p><br /><br /><div id="codeSnippetWrapper"><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><span style="color: #0000ff">filter</span> test{<br /> write-host <span style="color: #006080">"got $_"</span><br /> <span style="color: #0000ff">if</span> ($_ <span style="color: #cc6633">-eq</span> 3) {id}<br />}<br /><br />1..5 | test<br /></pre><br /><br /> <br /></div><br /><br /><p></p><br /><br /><p>and the output -</p><br /><br /><div id="codeSnippetWrapper"><br /> <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">got 1<br />got 2<br />got 3<br />Hit Command breakpoint on <span style="color: #006080">'Invoke-Debugger'</span><br /><br />x.ps1:9 <span style="color: #0000ff">if</span> ($_ <span style="color: #cc6633">-eq</span> 3) {id}<br />14 $docs>>> l<br /><br /> 4: New-Alias id Invoke-Debugger<br /> 5: $null=Set-PSBreakPoint –Command Invoke-Debugger<br /> 6:<br /> 7: <span style="color: #0000ff">filter</span> test{<br /> 8: write-host <span style="color: #006080">"got $_"</span><br /> 9:* <span style="color: #0000ff">if</span> ($_ <span style="color: #cc6633">-eq</span> 3) {id}<br /> 10: }<br /> 11:<br /> 12: 1..5 | test<br /> 13:</pre><br /><br /> <br /></div><br /><br /><p>You can include the Invoke-Debugger function and the Set-PSBreakPoint in your profile, so they are available in all our scripts.</p><br /><br /><p>Happy debugging..</p> Per Østergaardhttp://www.blogger.com/profile/12128790394950237942noreply@blogger.com0tag:blogger.com,1999:blog-8600848.post-6990718277879292952010-01-29T09:18:00.001+01:002010-01-31T19:21:12.491+01:00One stop shop for all your OCS patches<p>Microsoft has created a really useful <a href="http://bit.ly/d3i55E">Updates Resource Center</a> with all the latest and greatest patches listed for both Office Communications Server and the clients.</p> <p>You can also find the updates at this <a href="http://bit.ly/douJSR">RSS feed</a>.</p> <p>Note this is meant as a One Stop Shop, it is NOT the place where you’ll be notified first on a new OCS/OC patch.</p> <p>Good work Microsoft ;-)</p> Anonymoushttp://www.blogger.com/profile/14713138671966546640noreply@blogger.com0