Create team project from command-line with TFS Power Tools

Our department had an interesting challenge the last week. We have an old local on-premise “Team Foundation Server” (TFS) in our data room with two VMware hosts containing a number virtual machines. Due to new company policies we needed to move all domain bound VMs to a new domain. As we feared, this cause a few problems due to old versions and incorrect editions of different software.

The first thing I did was to perform a “Get Latest” on all source code just, in addition to a VM snapshot before we started the actual migration process. We needed to have a “Plan B” if the migration failed. After a few days with migration failures with loads of issues between Sharepoint, Project Server, SQL Server and TFS, we decided to make a clean install and move the source code into new team projects. The problem now was that the old TFS server had about 60 team projects that need to be created manually.

As a lazy programmer, I prefer a command-line utility to help me with this project creation. Luckily, 99% of all team projects didn’t use the Sharepoint site, so for the moment I just have to migrate source code to the version control of the new TFS server.

The command-line tool need for the team project creation is called “TFS Power Tools”, and exists in the latest version of Visual Studio – 2012 and 2013.  Here is the command template I have used for our team projects.

tfpt createteamproject 
	/collection:"http://[IP or Hostname]:8080/tfs/DefaultCollection" 
	/teamproject:"[project name]" 
	/processtemplate:"Microsoft Visual Studio Scrum 2.2" 

Since I found the list of team project directories by using “dir /b” from the DOS-prompt and put this directory list into Excel and generated one command for each project based on the command-line above. All these command where put into a command file (cmd) and run. When this is completed I will add all files from the projects from the “Source Control Explorer” in Visual Studio. Some manual work is needed.

Happy migration!


, , , ,

Leave a comment

T-SQL String2Date function

I have a private project going on where I’m in the data cleaning and import phase. This weekend’s problem has been a lot of date columns stored as string on 2 different formats (yyyymmdd and ddmmyyyy) and different seperator characters (‘-‘ and ‘.’) all over the place. And these strings I want in date datatype. I’m a lazy programmer and had to make string2date function to use for my import stuff. Here is my first version of the function.

CREATE FUNCTION [dbo].[String2Date]
	@string NVARCHAR(100),
	@style smallint = 104
	IF (CHARINDEX('-', @string, 1) = 5 OR CHARINDEX('.', @string, 1) = 5)
		SET @style = 102 ;

	RETURN CONVERT(date, @string, @style) ;

This function is not perfect, but suits my purpose for the moment. It would probably give some exceptions now and then, but I don’t care :)

, , , ,

Leave a comment

Deleting duplicate rows in SQL Server

Today I found a pretty nice way to delete duplicate rows in a table on SQL Server. I had a table with 25,000 rows where 7,500 rows where rows containing one or more duplicates. I was not very eager to manually delete these duplicate, so I started to googling for answers. I found many different approaches, but suddenly I found my answer at This thread help me rewriting a simple SQL statement after I added an [Id] column to uniquely identify a row. The clue is to use Common Table Expression (CTE) in SQL Server together with the OVER() function to create an unique row number for all duplicates within the key expression (in my case [Name] column), and ordering by the [Id] column. I only want to keep the first row for each duplicate item. Therefore, deleting all [rowno] greater than 1.

WITH cte_duplicates AS 
	SELECT [Name], 
		row_number() OVER
		) AS [rowno]
	FROM [dbo].[fm2011]
DELETE FROM cte_duplicates WHERE [rowno] > 1

, , ,

Leave a comment

KiPi 2015 Challenge – Hybrid Cloud

I have a goal for February to complete 3 challanges for “KiPi 2015″. It should be possible even if I’m going to sell the house in this period. The last challenge last for 32.5 hours and cover many topics within Hybrid Cloud design and implementation. Designing private cloud data centers is not my current work focus, but very useful knowledge in my work as Cloud Solution Architect.

This module consist of the following parts:

, , , , , , , ,

Leave a comment

KiPi 2015 Challenge – Mobile Development

I’m having just some hours left of the first part of my KiPi 2015 Challenge for “Cloud Development“, and the next course path is “Mobile Development”.  This path will contain video sessions on C#, XAML, Universal app development and how Xamarin and Visual Studio can be used for cross-plattform development. These courses are about 32 hours in total watching.



, , ,

Leave a comment

KiPi 2015 Challenge – Cloud Development

As I wrote in the previous post, I’m participating in the KiPi 2015 Challange at Microsoft Virtual Academy (MVA). I have decided to focus on 100% on Microsoft Azure (cloud paths) during this challange – cloud development, mobile develogment, hybrid could.

The first path “Cloud Development” that consist of four different courses:

Currently, I have just compled “Part 2″, and looking forward to the next 2 parts.

, , , ,

1 Comment

TFS, QlikView, Azure and Office 365

Long time and no blog posts from me. It has been a busy winter for me at home.

I have been updated my knowledge before Christmas and in January on Pluralsight with the following courses:

In addition, I’m atttending the current “Know it. Prove It” (KiPi 2015) challange at Microsoft Virtual Academy running in February. I recommend everybody to attend to get a kick-start on the new year. Im attending the following paths:

  • Cloud Development
  • Mobile Development
  • Hybrid Cloud

If this is not enough, I will have a recap on my QlikView knowledge from 5-6 year back, and start looking at Office 365 Implemetations. It will be a busy winter and spring, but I love it…


, , , , ,

1 Comment


Get every new post delivered to your Inbox.

Join 818 other followers