Engaging with complexity – SharePoint Edition



I have been working with a company in Silicon Valley that is doing one of the most complex Team Foundation Server migrations that I think I have ever seen. Just to pile on the complexity they also threw a SharePoint consolidation at me so I caught that as well.

As with the previous TFS Edition we are moving SharePoint data through multiple environments and in the case of SharePoint we are only worried about consolidation. There are many SharePoint sites used by this organisation that are strung around the corporate network and we first need to consolidate them onto a single server so that we can easily migrate them to SharePoint 2013.

Figure: Production SharePoint Environment

Initially we are doing a single server trial consolidation and upgrade to prove out the process and make sure that everything works. Here we will find all of the issues and tribulations that will inhibit our ability to make this transition easy. Lets get started…

Setting up the environment

We have a bunch of things that need to be installed and I have previously documented each one. As these installations are consistent with how I always install these products and the only variants are referenced.

  1. Install SQL Server 2012 SP1 (Step #2 only & use default accounts)
  2. Installing SharePoint Server 2013 (but use a Domain Account and do not create a Site Collection)
  3. Installing Project Server 2013 (Step #3 only)

If you are able to create a snapshot at each stage then it may save you time if you forget to add a feature or if something fails. Once you have these three steps complete then you should remove all of the old Snapshots and create a new clean one for the server.

For each Content database you are consolidating

There are only a few simple steps to importing and upgrading your SharePoint 2010 content databases to SharePoint 2013. Note that there are additional steps listed below that you can run each time or all at the end.

  1. Copy backup locally
  2. Restore the SharePoint 2010 Content Database
  3. Create a Web Application to host the Content Collection (the first one will already exist)
  4. Call SP PowerShell: “Mount-SPContentDatabase -Name iptvsigportal -DatabaseServer reno-sp -WebApplication http://reno-sp
  5. Upgrade the site collection to 2013: “Site Settings | Site Collection Administration | Site Collection Upgrade”

Note: You may need to run a few fixes for pages that have been customised with SharePoint Designer (SharePoint 2013 Issue – Custom Web Part results in Could not load file or assembly after upgrade.)

Post Mount Activities

Because we are both moving from multiple server and consolidating with an upgrade to a new version of the product we have a couple of post-consolidation steps to make sure that everything is accessible and above board.

  1. Add Firewall rules for other ports
  2. Rename Web Applications
  3. Migrate users to Claim Based Authentication
  4. Moving environment (domain) {Optional}

These activities are required for good operation and support of SharePoint 2013 with upgraded

Add Firewall rules for other ports

This one took me by surprise and I had not realised that SharePoint 2013 does not add the firewall rules to allow access when you create a new site on a new port. In this case we have 80, 81 and 82. Only 80 has been granted access by default and we need to add the other two.

You can take the slow approach and add rules through the UI but recently I have been preferring to use the scriptable approach so in PowerShell you do:

netsh advfirewall firewall add rule name="SharePoint80" dir=in action=allow protocol=TCP localport=80
netsh advfirewall firewall add rule name="SharePoint81" dir=in action=allow protocol=TCP localport=81
netsh advfirewall firewall add rule name="SharePoint82" dir=in action=allow protocol=TCP localport=82

This will allow ports 80 through 82 incoming requests.

Rename Web Applications

This is a simple piece of PowerShell to do the rename. You can’t do it through the UI except when you do the initial creation and it is easier to determine which site is which if the name reflects the content.

$wa=Get-SPWebApplication | where {$_.Name -match "SharePoint - 80"}


Moving environment (domain) {Optional}

When we do a domain migration from DomainA to DomainBdomains we will have an additional step of telling SharePoint what the mapping is between the users in DomainA to DomainB.

To do this we need to create a “usermapping.csv” that has “OldUsername” and “NewUsername” columns with a row for each of the users and the mapping.

     [string] $csvusers = "C:spconsolusermapping.csv"
Add-PSSnapIn Microsoft.SharePoint.PowerShell

foreach ($wa in get-SPWebApplication)
   $UserList=IMPORT-CSV $csvusers
   Foreach ($Person in $UserList) {
        Move-SPUser –Identity "DomainA$Person.OldUsername" –NewAlias "DomainA$Person.NewUsername"

This PowerShell will map each of the users across to the new domain and allow them to access the SharePoint sites with the name accounts as well as maintaining traceability.


Upgrading SharePoint 2012 to SharePoint 2013 is not quite as easy as it is with Team Foundation Server. There are quite a few pitfalls and it took some amount of research to get the above all working.

Upcoming Training Opportunities

These are the next five classes we have, and you can check out our full public schedule of classes.

Live Virtual Professional Scrum Master Online on 29th May 2023
29 May-1 May, 2023
09:30-13:30 BST
4 half-days
Live Virtual Professional Scrum Product Owner online 5th June 2023
5-8 Jun, 2023
09:30-13:30 BST
4 half-days
Live Virtual PAL Evidence-Based Management Online on 19th June 2023
19-20 Jun, 2023
09:00-13:00 BST
2 half-days
APS 19th June 2023
19-22 Jun, 2023
09:00-13:00 EDT
4 half-days

We can deliver any of our courses as private in-house training over Microsoft Teams & Mural. We also recommend training based on your accountabilities or role, you can go directly to recommended courses for Scrum MastersProduct OwnersDevelopers and Agile Leaders.

Create a conversation around this article

Share on Facebook
Share on Twitter
Share on Linkdin

Related Courses

No items found

Read more

Martin Hinshelwood nkdAgility.com
https://youtu.be/_fFs-0GL1CA Why do you encourage people to follow a certification path in their career journey? I would encourage you to follow a scrum certification path for the same reason that people go to university. The same reason that people do any course or certification. It gets you a foot in …
Martin Hinshelwood nkdAgility.com
https://youtu.be/QGXlCm_B5zA What will you learn on the PSM II course? There are two main things that most scrum masters will learn on the PSM II or Advanced Professional Scrum Master course. That they haven’t been working effectively as a scrum master to date. That they are there to empower and …
Martin Hinshelwood nkdAgility.com
In Scrum Events across the world, I hear repeated the phrase “that’s how agile works” when describing behaviours that are both unprofessional and the very opposite of an agile mindset. These behaviours will inhibit agility and are a result of a lack of understanding of the underlying principles. We need …
Martin Hinshelwood nkdAgility.com
https://youtu.be/klBiNFvxuy0 What is the most common Aha moment people have in a scrum course? It depends on the scrum course they are attending. The content presented in the Applying Professional Scrum (APS) course leads to very different epiphanies when compared to the content presented on an Advanced Professional Scrum Master …


We believe that every company deserves high quality software delivered on a regular cadence that meets its customers needs. Our goal is to help you reduce your cycle time, improve your time to market, and minimise any organisational friction in achieving your goals.

naked Agility Limited is a professional company that offers training, coaching, mentoring, and facilitation to help people and teams evolve, integrate, and continuously improve.

We recognise the positive impact that a happy AND motivated workforce, that has purpose, has on client experience. We help change mindsets towards a people-first culture where everyone encourages others to learn and grow. The resulting divergent thinking leads to many different ideas and opportunities for the success of the organisation.