Tips, Tricks, Thoughts & Ideas

Blogs posted on or before Tuesday, March 09, 2010 6:39:14 PM

Team Foundation Server TFSAdminUtil 

Tuesday, March 02, 2010 3:14:00 AM

Another useful tool within the world of Team Foundation Server is the TFSAdminUtil.exe. 
This is a tool that allows a TFS Administrator to perform several valuable configuration type functions.
The tool is located at the following location:

"<drive>:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools\TFSAdminUtil.exe"

There are several options and functions that this tool performs, all of which can be found by
executing the following command that displays the command syntax and options for TFSAdminUtil:

"<drive>:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools\TFSAdminUtil.exe /? | more"  

The results of which can be seen here:


TfsAdminUtil - Team Foundation Admin Utility
Copyright (c) Microsoft Corporation.  All rights reserved.

TfsAdminUtil.exe accepts the following commands:

    activateat [/noprompt | /i] [<server name>]
        Activates the current computer as the Team Foundation
        application-tier server. If the server name is omitted,
        the default server name will be the NETBIOS name of the
        current computer.

    authentication [/provider:NTLM|Negotiate] [/proxy] [/view]
        Displays or configures the settings for the authentication scheme that
        the Web service for Team Foundation Server uses. If the '/proxy' option
        is used, the Team Foundation Server proxy Web service is updated.

    changeaccount [/ra] [/proxy] <old account> <new account> [<new password>] [<email address>]
        Changes an account and the password that is used by Team Foundation
        Server. If the '/ra' option is used, then the Reporting Services
        service account is changed. Otherwise, the default behavior is to
        change the Team Foundation Server service account. If an
        email address is supplied, then the address from which alerts are sent
        is updated.  If the '/proxy' option is used, then the Team Foundation
        Server proxy account is updated.
        Note: The accounts must be in domainname\username format.  For system
        accounts, you must use quotes around the full account name
        (for example, "NT Authority\Network Service"). System accounts do not
        require a password. The email address must be in a
        recognized mail delivery format.


    changepassword [/proxy] <account> <new password>
        Changes the password for the service account used by Team Foundation
        Server.  If the '/proxy' option is used, the Team Foundation Server
        proxy account password is updated.
        Note: The account must be in domainname\username format.

    configureconnections [/View] [/proxy] [/ClientCertificate:(user|machine)]
            [/ATUri:<uri>] [/PublicATUri:<uri>]
            [/SharepointUri:<uri>] [/SharepointSitesUri:<uri>]
            [/SharepointAdminUri:<uri>] [/SharepointUnc:<unc>]
            [/ReportsUri:<uri>] [/ReportServerUri:<uri>]
            [/TSWAUri:<uri>]
        Configures the connection information for Team Foundation Server based
        on the specified new configuration values.  If /View is specified, or
        no option is specified, displays the current settings for the
        connection values.
        If the '/proxy' option is used, only the /ClientCertificate option
        may be used.

    renamedt <computer name>
        Updates the Team Foundation application-tier server to use the
        specified Team Foundation data-tier server.

    sid [/noprompt | /i] [/change <source domain> <target domain>] [<account>]
        Lists or changes the security identifiers (SIDs) stored in Team
        Foundation Server, depending whether or not the '/change' is
        specified. Use computer names as the domains for local accounts. If
        a specific account is not specified, the sid command executes on
        all SIDs in Team Foundation Server.
        Note: The account must be in username format.

    status [/proxy] <account>
        Shows status information for the specified account.  If the '/proxy'
        option is used only the Team Foundation Server proxy status will
        be displayed.
        Note: The account must be in domainname\username format.

Note: To run TfsAdminUtil, you must be an administrator on the Team
    Foundation application-tier and data-tier servers or the proxy server
    if using the /proxy option. It is recommended that you back up the
    databases on the Team Foundation data-tier server.
    If not using the /proxy option, the Team Foundation Server application
    pool on the application-tier server must be stopped before you run
    TFSAdminUtil. Restart the application pool only after you have
    completed all commands.

 The most useful command for me so far has been the need to change the default URL for the Team Project Portal Site Address.  By default TFS seems to use the machine name when installed (if you don't change it then).  This address sets the base URL for the Reporting server and the Documents Server.  Thus, if you want to apply a Fully Qualified Domain Name to the machine name or change the URL in any way (like if you are applying SSL and want to use a different URL), you have the change the URL.  The only way to change the Team Project Portal Site Address is via the "ConfigureConnections" command of the TFSAdminUtil tool. 

Getting Current Configuration for TFS "Connections"

Before doing anything it is probably a good idea to display the current configuration so as to be able to revert things back if you need to.  In order to display the current configuration, type the following command.

TfsAdminUtil ConfigureConnections /view

You should then see something like the following:

TfsAdminUtil - Team Foundation Admin Utility
Copyright (c) Microsoft Corporation.  All rights reserved.

There is no current VSTS client certificate configured.  This is not an error condition.
Current value for ATUri                      = http://<my server url>:8080
There is no current setting for PublicATUri.  This is not an error condition.
Current value for SharepointUri          = http://<my server url>:80
Current value for SharepointSitesUri   = http://<my server url>:80/Sites
Current value for SharepointAdminUri  = http://<my server url>:17012/_vti_adm/admin.asmx
Current value for SharepointUnc         = \\<my server url>\Sites
Current value for ReportsUri               = http://<my server url>/Reports
Current value for ReportServerUri        = http://<my server url>/ReportServer/ReportService.asmx
Current value for Team System Web Access Work Item Editor    =
Current value for Team System Web Access Changeset Details    =
Current value for Team System Web Access Difference    =
Current value for Team System Web Access View    =

Changing URLs for TFS Reporting, SharePoint, etc.

One note on the ConfigureConnections piece of the TfsAdminUtil tool... if you have installed Team Foundation Server 2008 SP1, there is a bug in the process that will register the incorrect Reporting Server URL.  If you have in the to change the Reporting Services Server URL in Team Foundation Server, you should use the following command with the asmx specified:

TfsAdminUtil ConfigureConnections /ReportServerUri:http://<myserver's FQDN url>/ReportServer/ReportService.asmx

(this bug is outlined here: http://support.microsoft.com/kb/959126)

In all other cases, you can simply specify the server and the virtual directory path like the following example for resetting the Reports URL:

TfsAdminUtil ConfigureConnections /ReportsUri:http://<myserver's FQDN url>/Reports
TfsAdminUtil configureconnections /SharepointUri:http://<myserver's FQDN url>
TfsAdminUtil configureconnections /SharepointSitesUri:http://<myserver's FQDN url>/Sites
TfsAdminUtil configureconnections /SharepointAdminUri:http://<myserver
's FQDN url>:17012/_vti_adm/admin.asmx
TfsAdminUtil configureconnections /SharepointUnc:\\<myserver
's FQDN url>\Sites
TfsAdminUtil configureconnections /ATUri:http://<myserver
's FQDN url>:8080

After you run the ConfigureConnections command on the reports or sharepoint URIs, you should see the following:

<drive>:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools>TFSADMINUTIL configureconnections /ReportServerUri:http://<myserver's FQDN url>/ReportServer/ReportService.asmx

TfsAdminUtil - Team Foundation Admin Utility
Copyright (c) Microsoft Corporation.  All rights reserved.

Successfully set SQL ReportServer URI to specified value http://<myserver's FQDN url>/ReportServer/ReportService.asmx
You have changed the Uniform Resource Identifier (URI) for a Windows SharePoint
Services site or SQL Server Reporting Services site. Team Foundation Server depends
on one or more of these sites. You must run the TfsConfigWss command-line utility
on the computer running Windows SharePoint Services before Team Foundation
 Server can function correctly.

Since you changed the URLs, you now have to run the TfsConfigWss tool.  The tool is located at the following:

<drive>:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools\TfsConfigWss.exe

This is an executable that will open the following window:

Tfs

Type in the appropriate information as above (replacing <myserver url> with your server) and click apply. You should then see the following prompt:

Click OK and then "Exit" on the Config screen.

Changing the Build Agent's TFS URL

Changing the URL that the TFS Build Agent will use.  If you want to change the name of the TFS server that the Build Agent uses, you can either do that in the Registry or in the following config file:

<drive>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\TfsBuildService.exe.config

 This file has various configuration parameters that the Build Agent will use.  This file is useful when configruing the Build Agent to use SSL, but that is another topic for another time.  Anyway, two of the configuration items in this file relate to the URL for the TFS Server that the Build Agent will use.  You can change these two keys to point to the server URLs you configured above (if necessary).  This can be useful if you want or need to use the server's Fully Qualified Domain Name (FQDN). 

Change
<
add key="AllowedTeamServer" value="" />

To
<
add key="AllowedTeamServer" value="https://<myserver's FQDN url>:8080" />.

Change
<
add key="ServerAccessUrl" value="" />

To
<add key="ServerAccessUrl" value="https://<myserver's FQDN url>:8080" /> .

 

 

 

The Current Future of Online Mapping Applications 

Monday, February 15, 2010 3:12:00 AM

This is a pretty interesting mapping demonstration:

If the video doesn't work for you, click on this link:  http://www.ted.com/talks/blaise_aguera.html

To Save a Life 

Monday, January 25, 2010 2:01:30 AM

Check it out... a message we can all use to see and hear...

banner

SharePoint 2010 Operating System Requirements 

Saturday, January 23, 2010 12:14:01 AM

There has been a lot of confusion associated with SharePoint 2010 and what it will and won't run on.  I was particularly interested to know about its ability to run on Windows 7.  I finally found a bit more definitive information on the subject.

Windows version/edition (64 bit only)

SharePoint 2010 support

Windows Server 2008 R2 Foundation

No

Windows Server 2008 R2 Standard

Yes

Windows Server 2008 R2 Enterprise

Yes

Windows Server 2008 R2 Datacenter

Yes

Windows Web Server 2008 R2

No

Windows HPC Server 2008

No

Windows Server 2008 R2 for Itanium-based systems

No

Windows Server 2008 Standard

Yes

Windows Server 2008 Enterprise

Yes

Windows Server 2008 Datacenter

Yes

Windows Web Server 2008

No

Windows Storage Server 2008

No

Windows Small Business Server 2008

Yes*

Windows Essential Business Server 2008

Yes*

Windows Server 2008 for Itanium-based systems

No

Windows Server 2008 Foundation

No

Windows Vista

Developer-only**

Windows 7

Developer-only**

* Small and Essential Business Server editions of Windows install SharePoint as an optional component.

** Support for specific editions of Windows 7/Vista are yet to be finalized, but are likely to be 'Business'/'Professional' editions and above. 

Taken from Microsoft SharePoint Team Blog and more can be found here: http://blogs.msdn.com/sharepoint/archive/2010/01/22/operating-system-requirements-of-sharepoint-2010.aspx

C# and the XNA Framework 

Wednesday, January 06, 2010 3:34:00 AM

If you are interested in learning more about programming in C# using the semi-new XNA framework, take a look at these preview chapters from Rob Miles' new book: http://www.robmiles.com/xna-book-downloads/

 

What has Twitter Done for You Lately? 

Tuesday, January 05, 2010 1:04:00 AM

Yesterday, I mentioned that I had decided to start explaining, promoting, coaching and utilizing Social Technology and Social Networking through Social Media and Social Marketing Optomization. I have always been in that world, but decided it had much more business applications than I was originally assisting others in developing.  So, here we go.  Today, check out the over and useful tips on what Twitter can do for you and your business

The exciting world of Social Networking and Technology 

Monday, January 04, 2010 12:55:04 AM

With the coming of the New Year, I have decided that the digital world or Social Networking and all it has to offer my clients should no longer be kept to myself.  I have always been fascinated by technology, channels of distribution and relationship dynamics - whether they be personal, professional or business.  The world of Social Networking Sites, Social Media and Social Technology combine all of these in an amazing way.  This can be overwhelming or inspiring, draining or powerful, a waste or time or watershed events.  If you are new to this area or want to know the buzz, then check out the Social Tech section.  There is more to complete in the coming weeks, but I am excited for 2010 and the opportunities ahead. 

Page Permanently Moved - Status 301 vs. 302 

Friday, January 01, 2010 5:04:00 AM

Happy New Year!  Since this is the first day of the new year, I thought I would quickly talk about something new in .NET version 4.0. 

Response.Redirect() gives the browser the status code of 302.  This tells the browser that the requested resource is temporarily moved to another location.  A permanent redirect returns a status code of 301.  In this case browser, or more importantly the search engine spider, doesn’t ask for the old URL anymore.  Instead the new URL is what will be used in the future.  The other item to note is that most search engines will not follow a status code of 302 (redirect), but will follow a status code of 301 (permanently moved).  Thus, for SEO uses, when pages are moved or deleted, your system should use the status code of 302 to indicate the new location and not have the page removed from the indexing. 

In ASP.NET, prior to version 4.0, we used to have to do this in three lines:

        Response.Redirect("default.aspx", true);
        Response.StatusCode = 301;
        Response.End();

Now with ASP.NET 4.0, we can simply use the new method, which sets the status code for us.

        Response.RedirectPermanent("/about.aspx", true);
 

Native iPhone Application or Mobile Web Application 

Wednesday, December 30, 2009 3:39:00 AM

Before I start, it is important to note that the following scenario could be applied to a Native Blackberry Application or Native Palm Application, etc.  I simply used the Native iPhone Application as it is the most common question I get. 

I am often asked about developing application for the mobile world - specifically the iPhone.  The question often comes in some variation of "can you develop and iPhone application for me".  I understand the motivation as there are a ton of cool things opening up on the mobile frontier.  I always start by asking one question... have you emphatically decided that the application should be a Native iPhone Application and not a Mobile Web Application?  The differences are that one is downloaded to, installed on and used by the iPhone and the iPhone only; whereas the other is a Web Application that is specific to the mobile world, but can be used by the iPhone, Blackberry, HTC, Palm, Droid, etc.  You limit your market when you go with a Native iPhone Application, but that may be what you want. 

As a general rule, I always recommend a Mobile Web Application unless one or more of the following are true:

  1. You want and/or need to use the iPhone’s user interface and not just the web browser’s interface on the iPhone.  For example, you want to use the iPhone menuing, sliders or motion sensors outside of the capabilities provided by the Safari Web Browser (or Opera Mini/Mobile if you have installed either of those).

  2. You want and/or need to use the application when the phone is not connected to the Internet/Web.

  3. You want and/or need to store data locally and use that data when disconnected from the Internet/Web.

If any of the above are true, then you most probably need a Native iPhone application.  The big caveat is that if you go with an Native iPhone application, and later decide to expand to other mobile operating systems, you will have to write and support code for each new mobile operating system that you want to target (Palm, Blackberry, etc).  In addition, since a native application runs on the phone itself and not just over the Web, you will have to write code for each differing version of each mobile operating system you want to target (if those differences affect your application). 
 

The Courage to put the Business First 

Tuesday, December 22, 2009 4:09:13 AM

"Courage is the power to let go of the familiar." ~Raymond Lindquist

In the tech world there is always more to know than we can possibly get our minds around.  We find patterns, practices and technologies that work for us, become familiar and allow for quicker implementation.  That is great as long as we keep the business as the focus.  However, if we are not careful, instead of finding the right technical solution for the problem at hand, we start to force business processes, organizational requirements and functional needs to fit our mold.  If we are too focused on our technical familiarity, we can miss a grand opportunity to deliver a great solution for the business - outside of our comfort zone.  What areas of your professional (or even personal) life are you letting the familiar get in the way of the great?

Copyright 2009 Jamey Smith
   
Printable View © 2001 - 2010 JBC Digital, Inc. Site and Design by JBCDigital, Inc.