Celebrating 10 Years as a Microsoft MVP!

Back from my vacation, I am thrilled to share that I have been awarded the Microsoft Most Valuable Professional (MVP) award for the 10th consecutive year. In addition to being recognized as an expert within Teams, I am have also been recognized as an expert with Microsoft Copilot. This means a lot to me.  Being an MVP has been an incredibly rewarding journey, both personally and professionally. It has provided me with countless opportunities to grow, learn, and connect with like-minded professionals who share a passion for technology and innovation.  The award is not just a title; it's a testament to the hard work, dedication, and contributions to the tech community. It's a privilege to be part of such an esteemed group of individuals who share the same love for technology, and sharing their knowledge about it.  As I reflect on the past decade, I am thankful for the experiences and knowledge I've gained. This recognition motivates me to continue sharing my expertise, mentor

Signing scripts, from now on

During the Lyncconf13, I was lucky enough to win a certificate from digicert in give away competition from the The UC Architects. It didn't take long to decide what to do with the gift. I decided to get a code signing certificate for my online scripts.

Now, you should be able to run the scripts directly by downloading them to your labs, without tampering with the script, it's security settings or your power shell security setting.

A benefit for me, is to see if the script has been tampered with if it does not work on a tested system. I decided to sign all my backup scripts, and I will also sign every new script I post on my blog.

As a side note: I was wondering if signing a lot of certificates was going to take a long time. I turned to power shell  and scripted it. What else "could" I do? It turned out to be quite easy, and done in a few minutes (writing the code, signing took seconds)


param ([Parameter(Mandatory=$true)][string]$folder,[string]$certvalue)

cd $folder

$cert = @(gci cert:\currentuser\my -codesigning)[$certvalue]
foreach ($scripts in (Get-ChildItem)){
Set-AuthenticodeSignature $scripts $cert}

All my backup scripts have been updated, so if you download these scripts now, they will be signed. (If your machine trusts Digicert, you should be in good shape.)

Here are two posts I used as reference:
http://technet.microsoft.com/nb-no/magazine/2008.04.powershell(en-us).aspx
http://tfl09.blogspot.no/2010/06/signing-powershell-scripts.html