Visiting Kennedy Space Center

KFC monument för JFK

I’ve always been a NASA-fanboy. I’m the guy that won’t ever say no to seeing Apollo 13 for the 500th time, or will sit through “From the Earth to the Moon” over and over again. And as a Trekker I’m loving the “exploration” theme and drive over there. The very human need for exploration and need to know what’s out there. So when I planned the trip, going to Kennedy Space Center was one of the musts. Fortunately my traveling companion Michael shared that need so along with a few fellow IT nerds we rented two cars and sat out to drive over there.

SpaceX byggnad & launchpad

We went on the “explorer tour” which gave us a trip around the cape and the launch sites of missions past but also the SpaceX stuff going on there now. We had a great tourguide Kurt who was totally right man for the job! Perfect amount of geekiness but also wanting to share that geekiness everywhere. He was amazing!

After that 2 hour ride we were dropped of a the Saturn station (or whatever it was called) which was just this huge museum for the Apollo program! I completely geeked out there, running around photographing every mission banner there was and every little thing! After a quick lunch we set off back to the Visitor center where they had a Atlantis museum which was an awesome 3-stage display climaxing in a reveal of the actual space shuttle Atlantis! Completely geeked out again! Like a kid in a candy store on Christmas!! Then it got really emotional! I still don’t know why I get all somber up and even tear up at it, but at the end of the exhibit was the Challenger and Columbia memorials.

We spent a total of 7 hours there and I could’ve stayed a while longer! Absolutely one of the best experiences of my life. My only regret is that my wife and son wasn’t there to share it or see me get that excited about it.

Then we went to what these IT nerds who have been here a few times before thought was the greatest steakhouse ever – Morton’s. To sum it up and as my wife could say – I could’ve done more for less. I mean, it wasn’t bad, it just wasn’t all that and it was a pretty pretentious restaurant. But at least the company was good.

All in all a really great day!!

Coming to America

If you’ve followed this blog long enough or have heard me ranting you may know I’m not that big of a fan of US of A. And not only because of their most recent choice of president although that hasn’t helped. But a few months ago my supervisor asked me if I wanted to go to Microsoft Ignite. If you don’t know what it is, it’s a huge convention that Microsoft holds once a year in USA. It’s their greatest week of the year when they release a lot of new stuff for our techies and declares their visions for the future.

At first I didn’t know if I even wanted to go since it would mean actually going to the US. The only time I’ve been here before was when I went to Guatemala and had to pass security when going from one international terminal to another so I’ve never actually sat foot on their soil. But much like 14 years ago when I was asked to work on the project for the state department my initial feeling was “I don’t want to leave my comfort zone”. But realizing that.. I had to accept! After making sure my wife was OK with it I signed up. Fortunately a colleague of mine is also attending so I won’t be alone. And he has a lot of friends in the consultancy business so we’ll be hanging out with them. And there’s always the big “Swedes only” party to go to.

Orange County Convention Center in Orlando, Florida

Then hurricane season began and when I saw the footage on CNN from Orlando, where the convention is happening, it made me doubt they could pull it off, getting all stuff ready for a convention of this size in less than 2 weeks. Fortunately that wasn’t a problem and MS announced well in time that everything was good to go.

So on Saturday my wife dropped me off at Arlanda, we kissed good bye and I went off through security checkpoint to start my journey… and flight delayed!! Some part of the plane broke and they had to fly in a new one from Copenhagen (which I believe is airliner talk for “the crew wasn’t allowed to fly anymore because if union rules and we had to fly in a replacement crew). So about 3 hours later (plus one free beer!) we lifted of for Newark airport at New York. After passing through security, customs, security, passport check, customs, security and a tram between the terminals we arrived at the new gate with about 2 hours to spare. We were supposed to have a 6 hour wait, but 3 hours late departure plus all those lines meant we only got 2. And that was plenty because unfortunately Newark airport is something out of the 70’s. It really does need a fix up! Then we went for a bite to eat but when I went to the food court I got this familiar smell of deep fry oil from my days working at a fast food restaurant so my heart told my body I don’t want to eat here. So I didn’t. Fortunately my metabolism goes down, way down, on airplanes to it really wasn’t a problem!

The New York skyline, all the way from Newark

Then onto that airplane that was gonna take us to Orlando in Florida. And when we were supposed to lift off we hadn’t even left the gate yet. The captain announced they had to reboot the plane! I shit you not, it was a literal “have you tried turning it off and on again”-moment!! But it actually worked and off we went. Slept all the way!

After arriving something happened that has never happened in all my travels – my luggage was already waiting for me!! I think there was a mixup in Newark and the flew my baggage out on the flight 2 hours before ours, which goes totally against international regulations of not allowing a bag onto the plane without it’s owner! But I didn’t complain, we went out to grab a cab… and no! Not a cab in sight! Another first for all of my travels, an airport with no cabs! We only had to wait 15-20 minutes for one but they are usually lined up!

So, off to the hotel and sleep ahead of the new days travel to Kennedy Space Center. I’m hoping I’ll get to post about that soon, but I’m actually here to work so not sure when I’ll have the time for that!

SharePoint 2016 Installation Errors

SCENARIO
You’re trying to install SharePoint 2016 on a Windows 2016 server and thinks just aren’t going well.

PROBLEM
To be honest I don’t know how else to explain the problem in any other way than Microsoft’s Windows Server 2016 team was in a feud over lunchboxes with the SharePoint 2016 devs because there is no other way to describe the complete incompatibility between the two!

SOLUTION
I’d say “Google it!” but that’s probably what got you here in the first place!
The first problem is the prerequisite installer that can’t configure Windows IIS role or download things. Fret not for there is plenty of help to find. When first running the prereq you’ll probably get this error: “Web Server (IIS) Role: configuration error”. To configure the IIS use this Powershell :

Add-WindowsFeature Web-Server,windows-identity-foundation,`NET-Framework-45-ASPNET,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Web-Lgcy-Mgmt-Console,Web-Lgcy-Scripting,Web-Mgmt-Tools,Web-WMI,Web-Common-HTTP,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45 -Source 'Q:\sources\sxs'

Make sure to edit the source file to the Windows Server 2016 ISO!

The next place you should look at is this blog by the Microsoft Field Engineer Nik. Although be careful about some of his links as those are outdated and replaced with new versions, although downloading the version he’s linking will still work. He even provides a script that will run the Powershell to configure everything. Why this isn’t on the SharePoint 2016 ISO is beyond me!
But even when downloading all of that and installing it properly I was still faced with this error when trying to setup the farm: “New-SPConfigurationDatabase : One or more types failed to load. Please refer to the upgrade log for more details.“. Going through the install log I found this: “SharePoint Foundation Upgrade SPSiteWssSequence ajywy ERROR Exception: Could not load file or assembly ‘Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bc3856cd365e35’ or one of its dependencies. The system cannot find the file specified.

It seems that the WCF prerequisite file when installed using the Powershell method of manually downloading and installing it! Fortunately the quick fix is to find the file “WcfDataServices.exe” in your profile directory (i.e NOT the one you downloaded!), running it and choosing “Repair”. Only then did SharePoint 2016 install properly!

Get Users With Multiple Licenses

SCENARIO
You’re managing a large O365 tenant and you want to make sure there are no users that have multiple licenses assigned.

PROBLEM
The original problem is that you actually can assign a user with a F1, E1 and E3 license and end up paying three times for a user! Next problem comes with how license information is stored and retrieved with Powershell.

SOLUTION
Here is little code that will read out all your users and go through each one to make sure they don’t have more than one of the licenses assigned. It should work as long as Microsoft doesn’t change the _actual_ names for licenses!

$allusers = Get-MsolUser -All
foreach($msoluser in $allusers)
{
    $userpn = $msoluser.userprincipalname
    $userlicense = Get-MsolUser -UserPrincipalName $userpn | select Licenses
    if($userlicense.Licenses.AccountSkuId -like "*ENTERPRISEPACK*" -and $userlicense.Licenses.AccountSkuId -like "*DESKLESSPACK*" -and $userlicense.Licenses.AccountSkuId -like "*STANDARDPACK*")
    { 
        write-host -Foregroundcolor Red "$userpn has both E1 and E3 and F1"
    }
    elseif($userlicense.Licenses.AccountSkuId -like "*ENTERPRISEPACK*" -and $userlicense.Licenses.AccountSkuId -like "*STANDARDPACK*")
    { 
        write-host -Foregroundcolor Yellow "$userpn has both E3 and E1"
    }
    elseif($userlicense.Licenses.AccountSkuId -like "*STANDARDPACK*" -and $userlicense.Licenses.AccountSkuId -like "*DESKLESSPACK*")
    { 
        write-host -Foregroundcolor Yellow "$userpn has both E1 and F1"
    }
    elseif($userlicense.Licenses.AccountSkuId -like "*ENTERPRISEPACK*" -and $userlicense.Licenses.AccountSkuId -like "*DESKLESSPACK*")
    { 
        write-host -Foregroundcolor Yellow "$userpn has both E3 and F1"
    }
}

The script can ofcourse be enhanced to write a log or even mail a log to an admin if you want.