DCSIMG
SRL Group

SRL Group

This blog is about Team System, QA and Development methodologies and more...

VSTS Resources

Team System Bloggers

Team System 2010 Beta 2 “Microsoft Test And Lab Management” - Introduction

I have posted about the “Microsoft Test and Lab Management” (MTLB) first when the Beta 1 was introduced.

In this post I will show the changes made since Beta 1, you can read my post here.

The menu in Beta 1 was this:

SectionsMenu_thumb

In Beta 2 you can only find 2 sections:

Step_1_main_menu

The Organize section is now part of the Testing Center sub menus.

lets take a peek at the sub menus in the Beta 2:

 

Step_2_Testing_Center_Manu

Step_3_Lab_Center_Manu

If you will compare that to Beta 1 you will see that the same functionality and menus stayed the same but is reorganized in the Beta 2.

I have already published posts of how to use the Organize section and its functionality, you can still use that in Beta 2.

Related Links:
”Team System 2010 Beta 1 “Microsoft Test And Lab Management” – Introduction”
”Microsoft Test And Lab Management – Create And Manage Shared Steps (Part 1)”
”Microsoft Test And Lab Management – Create And Manage Test Cases (Part 2)”
”Microsoft Test And Lab Management – Create And Manage Configurations (Part 3)”
”Microsoft Test And Lab Management – Create Test Plans (Part 4)”

Have Fun!!!

Team System 2008 Work Items Basic User Guide Was Released

Finally it was released…

The “Team System Work Items Basic User Guide” was released and can be downloaded from the codeplex project: “Team System Guides”

The guide can educate new and advanced users to better use the Work Items section.

I have already started to work on “TFS 2010 Work Items Basic User Guide” and I will start publish its parts very soon in my personal blog.

Have Fun!!!

Team System 2010 Overview Lectures

After the grate success we add on the Team System lectures we made in the ALM user group we are about to do it again on 11 of November, it will be half a day full of lectures regarding the new features of Team System 2010.

I will talk about the MTLB (Microsoft Test and Lab Management) that a new tool for the tester.

The lecture I have planed will benefit all the roles in the development process and not only for testers.

In order to register for the event (Its free) go to the following link:

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429440&culture=he-IL

Looking forward to see you…

Have Fun!!!

Microsoft Test And Lab Management – Quick Guide

I have started to work on a Quick Guide for the “Microsoft Test And Lab Management” after a lot of users that likes to understand and try the tool.

The quick guide is posted in my personal blog here and will be spread on a few posts where the first one is published here.

There is also an introduction post here that can give a good idea on what this tool can do.

The quick guide will be published in the “Team System Guides” codeplex site here when finished, I will post on that too.

Have Fun!!!

What Am I Going To Talk About In The User Group?

I have recently announced the Team System 2010 overview lecture that will take place in the following ALM group in Microsoft, you can read more about it here.

I am about to talk about the “Testing” part of the lecture, were I will show the new tool for the testers – “Microsoft Test and Lab Manager”.

I hope you will enjoy it…

Have Fun!!!

Do We Need Testers In Agile Development Methodology?

YES WE DO!!!

You can read more on the blog post here.

Have Fun!!!

Team System 2010 Beta 1 “Microsoft Test And Lab Management” - Introduction

With the Team System 2010 Beta 1 the Manual Testers have received a great tool called “Microsoft Test And Lab Management”.

Every Microsoft tool has its code name and the “Microsoft Test And Lab Management is no different, the code name for this tool is “Camano”.

In this post I will give a brief overview of the tool, I will not show all the functionality of the tool in order to keep the post short and readable.

The tool is built of three main sections:

Sections Menu

1. Testing Center – In this section the user can see the Test Plans, Run the Test Plan, Analyze the Test Results and manage the bugs.

image

2. Lab Center – Here the user can manage the different environments, machines both Physical and Virtual and Test Settings that defines the way the tests will run on each environment.

image

3. Organize – Here the user can manage its Test Cases, Shared Steps (Steps that can be sheared between different Test Cases), Configurations (Defines the content of the test environment, example: Win XP SP3 with IE 8.0) and finally the Test Plans that will be used in the “Testing Center”.

image

So where to start?

You need to start in the “Organize’ section where you plan your Test Cases, Configurations and Test Plans, you can choose the order.

How do I do that?

How to do it will be on my next “Camano” post…

Have Fun!!!

This post was also published in my personal blog here.

Lecture Regarding Team System 2010 By SRL – Save The Date

In July 13 2009 16:30 – 20:15 we are about to present the main features and capabilities of the Team System 2010 Beta 1.

The lecture will take place at the Microsoft office in Rahanana and will be opened to everyone.

Registration to the event is required there are a limited places so hurry up and take a place, you can read more about the event and register here.

Have Fun!!!

Team Build 2010 Beta 1 Log File

This morning when I worked with the Team Build 2010 Beta 1 I found a very nice surprise.

I work a lot with the Team Build and when I have a problem with the build I go to the log file, some of you that have encountered this “Monster” log file know that it is a “killer” for the eyeballs, it is a very long notepad file that lists all the steps made by the build engine and all the errors it has encountered.

You can see very short example of such a log at the end of this post.

So what is so exciting with the new Team Build?

The new Team Build presents the log file in a way that humans can read, the log has an hierarchy of actions and it hides the details so you can keep tracking of what happened during the build process.

New build log file with out property values

What if you need the details? Just click on “Show Property Values” and you will have all the details shown in the hierarchy.

New build log file with property values

You can also navigate thru the log finding all the Errors and Warnings using the “Next Error” and “Next Warning” buttons.

Besides for the Team Build log there are many great surprises in the Team Build 2010, I will post more about it in future posts.

Have Fun!!!

This post was also published in my personal blog here.

Has promised here is the short log file example from the Team Build 2008, try to find something in it.
Tip: If you have troubles sleeping at night try to read one log file before bed time, It Works Like A Charm!!!

Build started 7/1/2009 9:32:53 AM.
Project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj" on node 0 (EndToEndIteration target(s)).
Building with tools version "3.5".
Target "CheckSettingsForEndToEndIteration" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Task "Error" skipped, due to false condition; ( '$(BuildDefinition)'=='' ) was evaluated as ( 'test build'=='' ).
Task "Error" skipped, due to false condition; ( '$(BuildDefinitionId)'=='' ) was evaluated as ( '3'=='' ).
Task "Error" skipped, due to false condition; ( '$(BuildUri)'=='' ) was evaluated as ( 'vstfs:///Build/Build/30'=='' ).
Task "Error" skipped, due to false condition; ( '$(COMPUTERNAME)'=='' ) was evaluated as ( 'TFSRTM08'=='' ).
Task "Error" skipped, due to false condition; ( '$(TeamFoundationServerUrl)'=='' ) was evaluated as ( 'http://tfsrtm08:8080/'=='' ).
Task "Error" skipped, due to false condition; ( '$(TeamProject)'=='' ) was evaluated as ( 'TicTacToe'=='' ).
Using "Message" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Message"
  BuildDefinition=test build
Done executing task "Message".
Task "Message"
  BuildDefinitionId=3
Done executing task "Message".
Task "Message"
  BuildUri=vstfs:///Build/Build/30
Done executing task "Message".
Task "Message"
  ComputerName=TFSRTM08
Done executing task "Message".
Task "Message"
  TeamFoundationServerUrl=http://tfsrtm08:8080/
Done executing task "Message".
Task "Message"
  TeamProject=TicTacToe
Done executing task "Message".
Done building target "CheckSettingsForEndToEndIteration" in project "TFSBuild.proj".
Target "InitializeBuildProperties" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Using "GetBuildProperties" task from assembly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.Build.Tasks.dll".
Task "GetBuildProperties"
  GetBuildProperties TeamFoundationServerUrl="http://tfsrtm08:8080/" BuildUri="vstfs:///Build/Build/30"
Done executing task "GetBuildProperties".
Done building target "InitializeBuildProperties" in project "TFSBuild.proj".
Target "InitializeEndToEndIteration" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Using "UpdateBuildNumberDropLocation" task from assembly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.Build.Tasks.dll".
Task "UpdateBuildNumberDropLocation"
  UpdateBuildNumberDropLocation TeamFoundationServerUrl="http://tfsrtm08:8080/" BuildUri="vstfs:///Build/Build/30" BuildNumber="test build_20090701.1" DropLocation="\\tfsrtm08\Drops\test build_20090701.1"
Done executing task "UpdateBuildNumberDropLocation".
Done building target "InitializeEndToEndIteration" in project "TFSBuild.proj".
Target "CoreInitializeWorkspace" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Using "DeleteWorkspaceTask" task from assembly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll".
Task "DeleteWorkspaceTask"
  DeleteWorkspaceTask TeamFoundationServerUrl="http://tfsrtm08:8080/" BuildUri="vstfs:///Build/Build/30" Name="TFSRTM08_3" DeleteLocalItems=True
  TF14061: The workspace TFSRTM08_3;TFSRTM08\tfsBuild does not exist.
Done executing task "DeleteWorkspaceTask".
Task "DeleteWorkspaceTask" skipped, due to false condition; ( '$(SkipInitializeWorkspace)'!='true' and ('$(CleanCompilationOutputOnly)' == 'true' or '$(SkipClean)' == 'true') ) was evaluated as ( 'false'!='true' and ('false' == 'true' or 'false' == 'true') ).
Using "CreateWorkspaceTask" task from assembly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll".
Task "CreateWorkspaceTask"
  CreateWorkspaceTask TeamFoundationServerUrl="http://tfsrtm08:8080/" BuildUri="vstfs:///Build/Build/30" Name="TFSRTM08_3" BuildDirectory="C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build" SourcesDirectory="C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources" Comment="Workspace created by Team Build"
Done executing task "CreateWorkspaceTask".
Done building target "CoreInitializeWorkspace" in project "TFSBuild.proj".
Target "CoreCleanAll" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Task "RemoveDir" skipped, due to false condition; (Exists('$(SolutionRoot)')) was evaluated as (Exists('C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources')).
Task "RemoveDir" skipped, due to false condition; (Exists('$(BinariesRoot)')) was evaluated as (Exists('C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Binaries')).
Task "RemoveDir" skipped, due to false condition; (Exists('$(TestResultsRoot)')) was evaluated as (Exists('C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\TestResults')).
Done building target "CoreCleanAll" in project "TFSBuild.proj".
Target "InitializeBuild" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Using "MakeDir" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "MakeDir"
  Creating directory "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources".
  Command:
  md "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources"
Done executing task "MakeDir".
Done building target "InitializeBuild" in project "TFSBuild.proj".
Target "CoreGet" in file "C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" from project "C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\BuildType\TFSBuild.proj":
Using "Get" task from assembly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Microsoft.TeamFoundation.Build.Tasks.VersionControl.dll".
Task "Get"
  Get TeamFoundationServerUrl="http://tfsrtm08:8080/" BuildUri="vstfs:///Build/Build/30" Force=True Overwrite=False PopulateOutput=False Preview=False Recursive=True Version="C236" Workspace="TFSRTM08_3"
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources;C206.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\LocalTestRun.testrunconfig;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicSolution.sln;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicSolution.vsmdi;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicSolution.vssscc;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicTest;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\Board.cs;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\Cell.cs;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\Properties;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\TicTacToeDiagram.cd;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\TicTacToeLogic.csproj;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\TicTacToeLogic.csproj.vspscc;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogic\Properties\AssemblyInfo.cs;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicTest\AuthoringTests.txt;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicTest\BoardTest.cs;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicTest\CellTest.cs;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicTest\DataDrivenTesting.sdf;C207.
  Getting C:\Documents and Settings\TFSBUILD\Local Settings\Temp\TicTacToe\test build\Sources\TicTacToeLogicSolution\TicTacToeLogicTest\Properties;C207.

What Is A Good Build Machine?

When I come to work with customers on builds first I ask where the build machine is.

Most chances that I will get one of the following three answers:

  1. It is on my Team System server.
  2. It is on my computer.
  3. It is on one of the developers computer.

All three situations are wrong when it comes to build machines.

What is a good build machine and where to install it?

My opinion is to put it on a “clean” computer that has no more then the minimum that is required for the compilation of the application and for running all the required tests.

The required tests are first all the Unit Tests made for the target application, in addition to that a team can require that more tests for example “Sanity Tests” will be executed as well.

So what is the minimum that is required for this “clean” computer?

The minimum is all the applications, DLLs, Compilers etc. when it comes to software and the minimum hardware that is required for the compilation.
When it comes to tests you will need to have the “Test Engine” installed on the build machine too.

It is important to keep the build machine has clean as possible, so when the build fails you will know that the cause doesn’t lies in something that is installed on the computer.

Back to the answers I get, it is now obvious why all three situations are wrong, all three situations are build machines that runs on a computer with a different purpose.
The first one is a server that runs the TFS and all its additions, and the other two are development computers.

What do you think?

Have Fun!!!

This post was also published in my personal blog here.

Error: TFS55030 When Running RenameDT Command

“ERROR: TF55030: Rename Data Tier failed.  Please verify that the supplied Data Tier name is a valid Team Foundation Data Tier name, that the Data Tier can be accessed on the network and that you have administrative rights.”

Most chances that the problem is because you have shutdown your old TFS.

In order to fix the problem just load your old TFS and rerun the command.

In case that doesn’t help run the following command line:

Set TfsDetailedErrors=1

Rerun the RenameDT command, now you will get more details on the error so you can troubleshot the problem.

Have Fun!!!

This post was also published in my personal blog here.

How To Create A Branch In Team System 2008

Before I start with the how to create a branch step by step guide, I like to remind that creating a branch should be done by a SCM (Software Configuration Management) plan and not when ever you “feel” like creating a branch. It is very important to manage your branches or else you will have a big pile of branches that no one knows there purpose.

After saying that here is the step by step guide:

The demonstration will be for a demo project called "Web Sites".

Step 1: Right click the source folder that is candidate for Branch.

Step 2: Choose the Branch option

clip_image002

Step 3: Change the "Target" field to contain the Source Control path for the new branch.
By the SCM (Software Configuration Management) plan of this demo the path should contain the version number of the branch and it should be located in the "Test" folder.

Step 4: Make sure that the "Branch from version" field shows "Latest Version" in order to "branch" from the latest available version of code.

Step 5: Click the "OK" button.

clip_image004

Note: The “Create local working copies for the new branch” checkbox is optional, if checked it will automatically creates a new folder for the branch locally.

Step 6: Now you have the branch ready in the "Test" folder with the name "3.0 Web Sites" but it is a local copy and will not be shown by other users until you will check in the changes. Right Click the new Branch and choose the "Check In Pending Changes…" option.

clip_image006

Step 7: Add your comment and click the "Check-In" button

That is all, you have a new branch.

Have Fun!!!

This post was also published in my personal blog here.

New Blog Announcement

I like to announce a new blog I have.

Until now I have posted to the SRL Blog, now I have just opened a new blog, you can see it here.

The topics I will post there are the same topics, the blog is about Team System, QA methodologies, Development methodologies and more...

I hope you will keep enjoying my posts.

Have Fun!!!

WMI Scripts For Changing Physical Path Of IIS Virtual Directory

A customer asked me to write him a script that will set physical directories for his IIS virtual directories.

What was the motivation for that?

  • The customer worked with none dynamic URLs.
  • The customer started to work with SCM (Software Configuration management) plan.
  • Part of the SCM plan is a way to manage versions.
  • The customer is working with source control as a result he gets to situations where developers works on different versions simultaneously.

In simple words you get to a situation where you work on the same web project from different locations on your hard drive.

The problem is that you can have only one virtual directory for each URL in IIS.

Now that the motivation is clear lets look at the solution: I needed to create a batch file that will automatically change the physical mapping of the virtual directories.

In order to get the job done I used a WMI scripts.

The first thing I did was to search for a solution in Google just to find out there are many results and none to fit what I needed.

After a few phone calls to good friends of mine: Leon Lengleyben and Roy Elimelech we got to the solution.

  • To get all the parameters we used the sample in here.
strComputer = "LocalHost"
Set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1/ROOT/[Virtual Directory Name]")
 
Wscript.Echo "Access Flags: " & objIIS.AccessFlags
Wscript.Echo "ASP Errors to NT Log: " & objIIS.AspErrorsToNTLog
Wscript.Echo "Access SSL Flags: " & objIIS.AccessSSLFlags
Wscript.Echo "ASP Exception Catch Enabled: " & _
    objIIS.AspExceptionCatchEnable
Wscript.Echo "Anonymous Password Sync: " & objIIS.AnonymousPasswordSync
Wscript.Echo "ASP Log Error Requests: " & objIIS.AspLogErrorRequests
Wscript.Echo "Anonymous User name: " & objIIS.AnonymousUserName
Wscript.Echo "ASP Processor Thread MAximum: " & _
    objIIS.AspProcessorThreadMax
Wscript.Echo "Anonymous User Password: " & objIIS.AnonymousUserPass
Wscript.Echo "ASP Queue Connection Test Time: " & _
    objIIS.AspQueueConnectionTestTime
Wscript.Echo "Application Allow Client Debugging: " & _
    objIIS.AppAllowClientDebug
Wscript.Echo "ASP Queue Timeout: " & objIIS.AspQueueTimeout
Wscript.Echo "Application Allow Debugging: " & objIIS.AppAllowDebugging
Wscript.Echo "ASP Request Queue Maximum: " & objIIS.AspRequestQueueMax
Wscript.Echo "Application Friendly Name: " & objIIS.AppFriendlyName
Wscript.Echo "ASP Script Engine Cache Maximum: " & _
    objIIS.AspScriptEngineCacheMax
Wscript.Echo "Application Isolated: " & objIIS.AppIsolated
Wscript.Echo "ASP Script Error Message: " & objIIS.AspScriptErrorMessage
Wscript.Echo "Application OOP Recover Limit: " & _
    objIIS.AppOopRecoverLimit
Wscript.Echo "ASP Script Error Sent to Browser: " & _
    objIIS.AspScriptErrorSentToBrowser
Wscript.Echo "Application Package ID: " & objIIS.AppPackageID
Wscript.Echo "ASP Script File Cache Size: " & objIIS.AspScriptFileCacheSize
Wscript.Echo "Application Package Name: " & objIIS.AppPackageName
Wscript.Echo "ASP Script Language: " & objIIS.AspScriptLanguage
Wscript.Echo "Application Root: " & objIIS.AppRoot
Wscript.Echo "ASP Script Timeout: " & objIIS.AspScriptTimeout
Wscript.Echo "Application WAM Clsid: " & objIIS.AppWamClsid
Wscript.Echo "ASP Session Maximum: " & objIIS.AspSessionMax
Wscript.Echo "ASP Allow Out-of-Process Components: " & _
    objIIS.AspAllowOutOfProcComponents
Wscript.Echo "ASP Session Timeout: " & objIIS.AspSessionTimeout
Wscript.Echo "ASP Allow Session State: " & objIIS.AspAllowSessionState
Wscript.Echo "ASP Buffering On: " & objIIS.AspBufferingOn
Wscript.Echo "ASP Codepage: " & objIIS.AspCodepage
Wscript.Echo "ASP Enable Application Restart: " & _
    objIIS.AspEnableApplicationRestart
Wscript.Echo "ASP Enable ASP HTML Fallback: " & _
    objIIS.AspEnableAspHtmlFallback
Wscript.Echo "ASP Enable Chunked Encoding: " & objIIS.AspEnableChunkedEncoding
Wscript.Echo "ASP Enabled Parent Paths: " & objIIS.AspEnableParentPaths
Wscript.Echo "ASP Track Threading Model: " & objIIS.AspTrackThreadingModel
Wscript.Echo "ASP Enable Typelib Cache: " & objIIS.AspEnableTypelibCache
Wscript.Echo "Authentication Flags: " & objIIS.AuthFlags
For Each strError in objIIS.HttpErrors
    Wscript.Echo "HTTP Error: " & strError
Next
Wscript.Echo "Authentication Persistence: " & objIIS.AuthPersistence
Wscript.Echo "HTTP Expires: " & objIIS.HttpExpires
Wscript.Echo "Cache Control Custom: " & objIIS.CacheControlCustom
For Each strPics in objIIS.HttpPics
    Wscript.Echo "HTTP Pic: " & strPics
Next
Wscript.Echo "Cache Control Maximum Age: " & objIIS.CacheControlMaxAge
Wscript.Echo "HTTP Redirect: " & objIIS.HttpRedirect
Wscript.Echo "Cache Control No Cache: " & objIIS.CacheControlNoCache
Wscript.Echo "Cache ISAPI: " & objIIS.CacheISAPI
Wscript.Echo "Logon Method: " & objIIS.LogonMethod
Wscript.Echo "Content Indexed: " & objIIS.ContentIndexed
For Each strMap in objIIS.MimeMap
    Wscript.Echo "MIME Map: " & strMao
Next
Wscript.Echo "Create CGI with New Console: " & _
    objIIS.CreateCGIWithNewConsole
Wscript.Echo "Path: " & objIIS.Path
Wscript.Echo "Create Process as User: " & objIIS.CreateProcessAsUser
Wscript.Echo "Pool IDC Timeout: " & objIIS.PoolIdcTimeout
Wscript.Echo "Default Document: " & objIIS.DefaultDoc
Wscript.Echo "Default Document Footer: " & objIIS.DefaultDocFooter
Wscript.Echo "Realm: " & objIIS.Realm
Wscript.Echo "Default Logon Domain: " & objIIS.DefaultLogonDomain
For Each strHeader in objIIS.RedirectHeaders
    Wscript.Echo "Redirect Header: " & strHeader
Next
Wscript.Echo "Directory Browse Flags: " & objIIS.DirBrowseFlags
For Each strScriptMap in objIIS.ScriptMaps
    Wscript.Echo "Script Map: " & strScriptMap
Next
Wscript.Echo "Don't Log: " & objIIS.DontLog
Wscript.Echo "SSI Exec Disable: " & objIIS.SSIExecDisable
Wscript.Echo "Enable Document Footer: " & objIIS.EnableDocFooter
Wscript.Echo "Enable Reverse DNS: " & objIIS.EnableReverseDns
Wscript.Echo "UNC Password: " & objIIS.UNCPassword
For Each strHeader in objIIS.HttpCustomHeaders
    Wscript.Echo "HTTP Custom Header: " & strHeader
Next
Wscript.Echo "UNC User Name: " & objIIS.UNCUserName
Wscript.Echo "Upload Read-Ahead Size: " & objIIS.UploadReadAheadSize
  • To change a parameter we used the sample from here.
strComputer = "LocalHost"
Set objIIS = GetObject("IIS://" & strComputer & "/W3SVC/1/ROOT/[Virtual Directory Name]")

objIIS.[Parameter Name] = [New Value]
objIIS.SetInfo

Have Fun!!!

How To Get A File History In TFS Source Control Using Code

A project I am doing these days requires me to get file history changesets using the API.

Sounds like a simple task right?

Apparently there is not a lot of reference to that in Google, so after almost throwing my computer out of the window (More than once I most admit) I found the answer.

Add the following references to your using list:

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using System.Collections;
using System.Windows.Forms;

The example function is very simple it gets a change and shows message boxes of all the changesets that have a change for the specified file up to the change transferred to the method.

Note: Change the [Server Name] with your TFS name.

public void GetChangesetsOfFile(Change theChange)

    {  

      //Query History parameters

      TeamFoundationServer tfs new TeamFoundationServer
                   
("[Server Name]");

     
VersionControlServer VCServer =
                    (VersionControlServer)tfs.GetService
                    (typeof(VersionControlServer));
 

      int changeId = (theChange.Item.DeletionId != 0) ?
                   
theChange.Item.ChangesetId - 1 : 
                     theChange.Item.ChangesetId;

      ChangesetVersionSpec version = new 
                            ChangesetVersionSpec(changeId);

      ChangesetVersionSpec versionFrom = new
                          
 ChangesetVersionSpec(1);

      string path = theChange.Item.ServerItem;

 

      //Query History Command

      IEnumerable changesets = VCServer.QueryHistory(path,
               version, 0, RecursionType.None, null,
               versionFrom, LatestVersionSpec.Latest,
               int
.MaxValue, true, false);

 

      foreach (Changeset cSet in changesets) 
     
        MessageBox.Show(cSet.Changes
            [0].Item.ChangesetId.ToString()); 
     
    }

I hope I could help.

Have Fun!!!

More Posts Next page »