Installing System Center Configuration Manager 2012 SP1 on Windows Server 2012


Microsoft System Center 2012 one of the perfect tools that integrate and work with ALM to provide very powerful ALM environment in different areas, for example SCOM or System Center Operation Manager integrates with TFS in the DevOps scenario to support integration between Development and Operation and many other scenarios, I will start to show some of these wonderful integration and I start by showing how to install System Center 2012 Configuration Manager SP1 (SCCM 2012 SP1) with MS SQL Server 2012 SP1 on Windows Server 2012.

Sections

  • Examine the environment
  • Add required Windows Roles and Features for Windows Server 2012
  • Create a System Management Container on DC machine
  • Extend the Active Directory Schema on SCCM machine
  • Install SQL Server 2012 SP1 on Windows Server 2012
  • Download and install Assessment and Deployment Kit
  • Install System Center Configuration Manger 2012 SP1

The following is a step-by-step video for this post.

 

Examine the environment

In this scenario I have 3 machines Domain Controller (DC08.com), SCCM (SCCM-2012) and one client with Windows 8 (SCCM-Client-Win8), of course the SCCM-2012 and SCCM-Client-Win8 joined the domain.1-Architecture

Add required Windows Roles and Features for Windows Server 2012

Open the Server Manager and click on Add roles and features.2-Add roles and features

Just click next…next until reach Server Roles.3-Add role and feature next

In the Server Roles choose Web Server (IIS), add the required features and then click Next.4-Server Roles- Web Server (IIS)5-Add features that are required for Web Server (IIS)

Select .NET Framework 3.5 and make sure 4.5 is selected too after that select BIT and add required features after that scroll down.6-Features-.NET Framework 3.5 Features-Background Intelligent Transfer Service (BITS)7-Add features that required for Background Intellgent Transfer Service (BITS)

Add Remote Differential Compression.8-Features - Remote Differential Comperssion

in Security choose Basic Authentication, IP and Domain Restrictions, URL Authorization and Window Authentication 9-Web Server Role (IIS) Security

Add ASP, ASP.NET 3.5, ASP.NET 4.5 add also any required features after that scroll down.10-Web Server Role (IIS) Application Developement

Add IIS 6 WMI Compatibility, IIS Management Scripts and Tools, Management Service and click Next.11-Web Server Role (IIS) Management Tools

Select Restart the destination and then click on Specify an alternate source path.12-Confirm installation selections

Insert the Windows Server 2012 DVD into the machine and put its drive letter followed by :\Sources\sxs and click OK.13-Secify Alternate Source Path

After the installation complete click on Close.14-Add Roles and Features Wizard Instllation Complete

Create a System Management Container on DC machine.

Connect to the Domain Controller machine using Remote Desktop.15-Remote Connect to Domain Controller

From the run type ADSIedit.msc to open the ADSI, click connect to and accept the default.16-Connect to Default naming context

Navigate to System and create new container with the exactly spelling and case “System Management17-Add System Management Container

Open the Active Directory Users and Computers and from View menu click on Advanced Features.18-Open Active Directory Users and Computers and Open Advanced Features

Navigate to “System Management” and add the SCCM machine to it.19-Choose SCCM-2012 Machine

Give the SCCM machine full controller permission and click Advanced.20-Give SCCM Full Control

Select the SCCM machine and click Edit.21-Edit Permission for SCCM-2012 Machine

Change the apply to “This object and all descendant objects” and choose Apply this permission.22-Apply to This object and all descentdant objects

Close the Active Directory remote desktop, we will not use it again for now.23-Close Domain Controller Machine

Extend the Active Directory Schema on SCCM machine

Insert the SCCM DVD into your DVD and navigate to SMSSETUP\BIN\X64. double click on extadsch.24-Run Extend Active Directory Schema (extadsch)

Navigate to the C drive and open the created file ExtADSch.txt.25-Open extend active directory schema file (ExtADSch)

Make sure that it is successfully extend the schema.26-Review Successfully extended the Active Directory schema

Install SQL Server 2012 SP1 on Windows Server 2012

Insert or mount the SQL Server 2012 DVD into your DVD drive and click on New SQL Server stand-alone-installation.27-New SQL Server stand-alon instllation or add features to existing installation

It’s better to include the update and then click Next.28-Include SQL Server product updates

Select SQL Server Feature Installation.29-SQL Server Feature Installation

Select Database Engine Services and scroll down.30-Database Engine Services

Select Client Tools Connectivity, Management Tools Basic, Management Tools Complete and click Next.31-Client Tools Connectivity and Management Tools Basic

Make all service automatic and assign Network Services for SQL Server Database Engine.32-Specify the service accounts for SQL

Review the Collation and make sure it’s “latin1_general_ci_as“, click Next.33-Specify the SQL collation

Add the current user that will be used to install SCCM 2012, click next..next until the installation complete.34-Specify Database Engine authentication security mode-Add current user

After installation complete, open SQL Server Management Studio and click on the instance name and choose Properties, choose Memory, enter 4000 as Minimum and Maximum server memory, it’s recommended to be 8000.34-2-Set Minimum and Maximum server memory for SQL Server

Download and install Assessment and Deployment Kit

Download Assessment and Deployment Kit, for download click here after that click on adksetup.35-Download and run Assessment and Deployment Kit

Only select Deployment Tools, Windows Preinstallation Environment (Windows PE), User State Migration Tools and then click Install.36-Select Deployment Tools-Windows PE and USMT37-Assessment and Deployment Kit Installing features

Install System Center Configuration Manger 2012 SP1

Insert the media of System Center Configuration Manager SP1 (SCCM 2012)  into your machine and click Install.38-Install System Center 2012 SP1

Select Install a Configuration Manager primary site and then click Next for more understanding about why we choose this option and the other options, see the video for this post.39-Install a Configuration Manager primary site

Select and Accept all licenses terms and conditions.40-Accept all

Browse and choose the path to download the needed files for installation.41-Download required files

After the download complete click Next.42-Server Language Selection

Type a code for the site and the site name deselect the installation of Management Console, we will install it later.43-Site and Installation Settings

Select Install the primary site as stand-alone site.44-Primary Site Installation

We enter the SQL Server name here, we will leave the default since SCCM will be installed on the same machine with SQL Server.45-Database Information

We choose where to install the SMS provider, we will leave the default on the same machine.46-SMS Provider Settings

Select Configure the communication method on each site system role.47-Client Computer Communication Settings

Leave the default to install management point and the distribution point and click Next.48-Site System Roles

The prerequiest check run and show some warnings, we can install WSUS later and it OK for the other warnings, click Begin Install.49-Prerequisite Check

The installation start and review it until complete.50-Installation Complete

Click on Install Configuration Manager console.51-Install Configuration Manager console52-Install Configuration Manager console

Type the name of the server that has SCCM in our case it’s the same machine but of course we can install this console on any machine even on a desktop machine.53-Identify Site server name55-SCCM Console Installation Complete

Now the System Center Configuration Manager Console will open and it’s ready to use :-) 56-System Center Configuration Manager 2012 SP1

Installing TFS 2012 Express with SQL Server 2012 Express on Another Machine


Four months ago Buck Hodges from the VS ALM team announced a white paper about how to use tfsconfigure unattend command line  tool to silently configure TFS 2012, this tool gives the ability to configure TFS 2012 from the command line with all predefined configuration.

Today, I am going to explain how to use this great tool to help me install TFS 2012 Express on a machine and use SQL Server 2012 Express that already installed on other machine.

In my scenario I have 2 machines, PC1 (TFS 2012) and PC2 (SQL Server Express).Architecture

After installing TFS 2012 Express on PC1 and SQL Server 2012 Express on PC2 I will not configure TFS and perform the following steps.

* Log In to PC2 with Admin account and make sure that SQL Server option ” Allow remote connections to this server”  is enabled.Allow remote connections to this server is enabled

* Open SQL Server Configuration Manager and make sure that TCP-IP Protocols is enabled for SQL Express.TCP-IP Protocols Enabled for SQL Express

* Log In to PC1 with Admin account that has permission on the SQL machine so it can install DB there, it’s better if you use Domain Controller account.

* Open the command line for Visual Studio as administrator

* Navigate to: C:\Program Files\Microsoft Team Foundation Server 11.0\Tools directory (cd C:\Program Files\Microsoft Team Foundation Server 11.0\Tools

* From the command line run the following command: tfsconfig unattend /configure /type:basic /inputs:SqlInstance=PC2\TFSSQLExpress

PC2: is the second machine.
TFSSQLExpress: is the instance name.

* Make sure that configuration succeed.Configuration Succeed

 

 

TF.exe Fast Overview


In this post, I will give a fast overview about tf.exe command line, I will show how to use different options, like checkin, workspces, view, diff, status and workfold.

The most important considration that we have take is to navigate to the mapping folder inside the working machine so we can use differnet options otherwise we will see the following: error

Unable to determine the workspace. You may be able to correct this by running
‘tf workspaces /collection:TeamProjectCollectionUrl’.

The following is a step-by-step video for the post

Open the Visual Studio Command Prompt as Administrator, type tf msdn, this will display the helpOpen-VS-Command-LineTF-msdn

Type tf help checkin, to display the help of the checkin optionDisplay-help-about-option

We will go to the project settings and add 2 notes, Reviewer and Time, after that we will get back to the command line and type tf checkin /comment:”Hello this my comment” /notes:”Reviewer=M.Radwan;Time=5:00″ TF-Checkin-with-comment-notes

This will display the checkin dialog-box with the typed comments and notes. TF-CommentTF-Notes

Now we will output the different between 2 changeset in a file, type tf diff FabrikamFiber.CallCenter\fabrikamfiber.web\controllers\ /version: c7~c26 >c:\Radwan.txt TF-output-diff-in-file

Open the file using Notepad2 and select the Diff Files schema (Into ALM with TFS)TF-Open-diff-with-notepad2TF-diff

To view a file a specific version type tf view FabrikamFiber.CallCenter\fabrikamfiber.web\controllers\CustomerControllers.cs /version:c26 TF-view

Set Custom assemblies path for Host Build Service on the Cloud


This is very simple post, we know that custom assemblies or third party libraries must exist on the build server or checked into the source control and configure the build controller to point to them, but how we can do that with Host Build Service on the cloud?

Since we can’t put our assemblies on the build machine on the cloud so we will need to configure the build controller for the Hosted Build Service on the cloud to point to that assemblies, but how we can access that control? It’s very simple

Navigate to the Builds page and click on Actions -> Manage Build Controller.BuildNUnit2

Select the Host Build Controller (Virtual) as we can see in the image, and click on Properties.BuildNUnit3

Point to your custom assemblies in ” Version control path to custom assembliesBuildNUnit4

 

For more info see the MSDN link here:

Use the hosted build controller

Configuring Multiple TFS Build Controller on the Same Machine


In the previous post (Understanding Build Controller and Build Agent) I explain that we can’t install multiple Build Controller on the same machine but there is a workaround or hack that we can use and this is not supported by Microsoft and not recommended for production environment, it will be for demo machines only.

The following is step-by-step video for the post.

 

Open the command line as Administrator and create windows service and associate it with TFSBuildServiceHost.exe., make sure to leave space before “=” and you should see success.  sc create Radwan-Service binPath= “C:\Program Files\Microsoft Team Foundation Server 11.0\Tools\TfsBuildServiceHost.exe /NamedInstance:Radwan-Service” DisplayName= “Radwan-DisplayName”

1-Create-Service-Command-Line

Open the services to review the created service.2-Review-the-service-after-created

Set the Environment Variable for TFS Build Service. set TFSBUILDSERVICEHOST.2012=Radwan-Service3-Set-env-variable

Launch TfsMgmt.exe to configure the created build service and click on Register, noticed that it shows that build not configured and  this for the created service but if we open the TFS Administration Console and navigate to Build Configuration we will find the old service configured. 4-Run-tfsmgmt 5-Build-Config-for-created-service

Change the port to be different from the running service now, let it be 91956-Register-Build-Service

Create a new Build Controller for that service. 7-create-new-build-controller

Create a new Build Agent for the created Build Controller8-create-new-build-agent

Review the new service with it’s Build Controller and Build Agent.9-new-build-service-with-build-controller-and-build-agent

Review the old service with it’s Build Controller and Build Agent.10-old-build-service-with-build-controller-and-build-agent

Links:

Configuring Multiple TFS Build Services on one Machine

Scale out Your Build System

Understanding Build Controller and Build Agent for TFS (Team Foundation Server)


In this post I will slightly explain the Build Controller and the Build Agent.

The following is step-by-step video for the post.

 

Build Service is a Windows Service that can only has one Build Controller, configured for only one Team Project Collection and has multiple Build Agents as needed, of course there is a workaround to have multiple Build Controller on the same machine but this is not recommended in production environment, for more info see, Configuring Multiple TFS Build Controller on the Same Machine1-Build-Service-resources-3

Only one Build Controller can exist on the same machine, we can have Build Controller running with the TFS AT (Team Foundation Server Application Tier) but the Build Agent not recommended to be exist on the TFS AT, this because the Build Agent doing intensive work and we don’t want to slow down our TFS AT.2-Build-Controllers-and-Build-Agents-3

Example of Build Server that has one Build Controller, configured for one Project Collection and has multiple Build Agents.3-Build-Service-example-34-Build-Service-one-controller-multi-agents

Removing the build configuration so we can reconfigure and see the number of recommended Build Agents and the Windows Service.5-Remove-Build-configuation

If the Build is not configured we can see that there is no Windows Service.6-Build-Service-not-exist-before-configure-build-service-on-tfs

The Windows Service for the build exist if the build is configured (Registered).7-Build-Service-exist-after-configure-build-on-tfs

When the processor is (1) processor, the available Build Agent is (2) and the recommended is (1).

8-Number-of-build-agents-is-depend-on-number-of-processors-2

When the processor is (4) processor, the available Build Agent is (8) and the recommended is (1).

9-Number-of-build-agents-is-depend-on-number-of-processors-1

Links:

Scale out Your Build System 

Upgrade TFS 2010 to TFS 2012 with Migration to a New Hardware – Part 9 – Summary


In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:

Each part consist of one or many sections as needed.

=================================================================================

Part 9 – Summary.

The following is the video that explain the whole blog series.

 

The pervious video cover the whole scenario and all posts for the upgrade series from the beginning to the end.

At the end I’d like to mention some tips and advices for TFS upgrade:

  • Go for Virtualization, TFS + Hyper-V = happy life.
  • Backup. Backup…Backup it’s very important to backup anything before performing any task, so backup all, Databases VMs, Domain Controller, DNS, any configuration you have….they must be backup.
  • Always update, always backup before update, always update before configuration as you can.
  • You may need to temporary disable firewall during any connection problem and if the firewall is the problem, try to know what the port needed to be opened, of course there is a list of needed ports to be opened depends on the TFS Topology, for more info, click here.
  • If you using SQL Server 2008R2 with Windows Server 2012 and TFS 2012, it will need extra update, I recommended upgrading using SQL Server 2012.
  • During my upgrade, I use SQL Server 2012 Standard Edition but restore DB fail because the old SQL server 2008 was Enterprise, this is because the stored data itself in the old SQL Server.
  • Of course we can use a new SharePoint Server or even on the same TFS 2012 machine, but I’d like to show how to use the old machine.
  • For more information about upgrade TFS, click here.

Thank you.

Upgrade TFS 2010 to TFS 2012 with Migration to a New Hardware – Part 7 – Verify upgrade success and other configuration


In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:

Each part consist of one or many sections as needed.

=================================================================================

Part 7 – Verify upgrade success and other configuration.

  • Verify the success of the upgrade and complete other configuration.

The following is the video that explain this blog post.

 

Verify the success of the upgrade and complete other configuration.

In this section I will verify the upgrade of the old projects and review how the old and the new features are working properly, so I will review the migration of the Source Control, SharePoint, Reporting, and also the new features like Task Board and Product Backlog.

Navigate to the Team Explorer folder inside the TFS 2012 media in your DVD, double click on team explorer installation file.83-Install-Team-Explorer

Select I agree to license and terms and conditions and it’s better to join the customer experience if you want, after that click INSTALL.84-Install-Team-Explorer

After the installation complete, launch Team Explorer, click on Connect to Team Foundation Server, from the drop down select the current server, in our case (TFS12UP) and then select the Default Collection, we will find that it retrieves the old project that was on TFS 2010, I will select that project (MarvelonTFS2010) and click Connect.85-connect-to-tfs2012

In Team Explorer home page, click on Source Control Explorer, navigate to the source code and open any source code file to review the code.86-examine-source-code

In Team Explorer home page, click on Work Items, double click on Product Backlog query and review the existing user stories of the old project.87-examine-workitems

In Team Explorer home page, click on Documents, click on Show Project Portal, type the user name and the password, the Dashboard opened successfully but the reports not displaying properly, so we need to add that site to the trusted sites.88-eamine-sharepoint

In Internet Explorer go to Tools, Internet Option then Security and add the current site to the trusted sites.89-1-add-siteto-trusted-sites

Refresh the page, now the reports displayed correctly.89-2-refresh-make-sure-its-ok

We need also to make sure of the report connection, so we will click on Excel Report, click on Bug progress or any report.90-open-excel-reports

Click on Data drop down and choose Refresh All Connection and make sure it has no error.91-review-refresh-all-connection-no-error

Now we are going to verify the new features of TFS 2012, from Team Explorer home page, click on Web Access, type the user name and password, the page open successfully but it’s not displaying properly, so we need to add that site to the trusted sites.92-examine-web-access

In Internet Explorer go to Tools, Internet Option then Security and add the current site to the trusted sites.93-add-web-access-to-trusted-sites

Refresh the page, now the Web Access displayed correctly.94-refresh-make-sure-its-ok

We want to verify the Agile planning Tool, so we will click on Work, we will find it’s not working because this team project need extra configuration because the process template, so we will click on Configure feature.95-review-task-board-config

Click on Verify, to verify that the wizard can perform that configuration automatically, this mostly happen if you are not customizing your process in a complex way that prevent the wizard from upgrade the process template.96-verify-new-features

The wizard show that it can perform that upgrade automatically and show the process template that it will be used for the upgrade, click Configure.97-configure-new-features

Team Project Upgrade completed successfully.98-config-applied

Go to the work tab again, to review the Task Board, we will find that the problem solved but there is another one because there is no iteration selected, so we will click on Select team’s Iterations.99-review-board

Select all iterations.100-select-all-iterations

Get back to Task Board, it’s working now but it’s empty, so I must assign my existing user stories to existing iteration or add new one assigned, so I will click on home to do that.101-task-board-no-error

Add new user story and by default it’s assigned for iteration 1.102-add-userstory-to-iteration

Get back to Task Board, now it’s working for the old project.103-Review-task-board-working-now

Upgrade TFS 2010 to TFS 2012 with Migration to a New Hardware – Part 6 – Configure TFS 2012


In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:

Each part consist of one or many sections as needed.

=================================================================================

Part 6 – Configure TFS 2012.

  • Configure TFS 2012 using Upgrade wizard.

The following is the video that explain this blog post.

 

Configure TFS 2012 using Upgrade wizard.

In this section I will explain how to configure TFS 2012 Update 1 using the upgrade wizard or in other word how to Run the TFS Upgrade Wizard that will upgrade old and restored DBS, it will also use the pre-configured Remote SharePoint 2012 for SharePoint 2010.

Open Team Foundation Server Administration Console, click on Team Project Collection and then click on Configure Installed Features.65-Run-TFS Admin-Console

In the Configuration Center, click Upgrade and then click Start Wizard.66-Run-upagrade-wizard

In Database, click on list Available Database to retrieve the restored DB of old TFS, select the checkbox that confirm that you have backup your DB and then click Next. It’s very important to backup the database because this upgrade can’t revert back.67-list-available-DB-forDB

In the Application Tier Settings select Use a user account and type the service account that will be used for TFS, I prefer to use the recommended TFS Service Accounts, so type DC08\TFSService and type its password then click Test to make sure the correction of the account, for more information about service account and its permission, click here.68-application-tier-settings-service-account

In the Reporting, select Configure Reporting for Team Foundation Server and then click Next.69-make-sure-configure-report-is-checked

In Reporting Service, click Populate URLs to make sure it retrieves the available URLs, after that click Next.70-click-populate URLs

In Database under Reporting, click on Test, to test the existing of the SQL Server and then click on list Available Database to retrieve the restored warehouse of old TFS, after that click on Next.71-list-available-DB-forAnalysis

In the Analysis Service, click on Test to test the existing of SQL server and the service after that click Next.72-test-analysis service

In Report Reader Account, select Use different account…., type the service account that will be used for reports, I prefer to use the recommended TFS Service Accounts, so type DC08\TFSReprots and type its password then click Test to make sure the correction of the account, you will need to make this account has Log On Locally permission, for more information about service account and its permission, click here.73-set-report-service-account

In SharePoint Product, select Configure SharePoint
to for use with Team Foundation Server to enable SharePoint configuration, after that click Next.74-make-sure-Config-sharepoint-is-selected

In Settings under SharePoint Product, select Change current settings to point to a different SharePoint Farm, type the name of the SharePoint server, in our scenario (TFS2010), click Test to test its existing and configuration, remember you must configure Remote SharePoint Extension before this step otherwise the SharePoint configuration will fail, after that click Next.75-change-sharepoint

Run the Readiness Checks, it will give you a warning that SharePoint still need to be configured on the other machine, we will do that configuration after we complete the current one, after that click on Configure.76-TFS-Config-Readiness-Checks

Review the success of the configuration and click Next.77-TFS-Config-success

Review the results and click on Close.78-Review-config-info

Open the Team Foundation Server Administration Console if it’s not already opened, click on Application Tier, click Change URLs, and change the name to point to the new server in our case (TFS12UP), click Test and then click OK.79-change-url

Navigate to the old server which has SharePoint now, open Team Foundation Server Administration Console, click on Extension for SharePoint Products, click on the existing TFS integration, click on Remove access, in the confirmation click Yes.80-remove-access-sharepoint

Click Grant access, in the URL for Team Foundation Server, type the new one which is “http://tfs12up:8080/tfs“, in the SharePoint Web Application select the existing SharePoint from the drop down which is the old server, in Enterprise Application Definition type TFS, which is the name of the Secure Store Target Application for Trusted File Location for Excel Service on the SharePoint Server, you can skip this step, for more information on how to configure that, click here.81-Grant-access

Get back to the new machine (TFS 2012) and in Team Foundation Server Administration Console, click on SharePoint Web Application, click Repair Connection, review the repair and make sure of its success.82-Repair-connection