
I have been working on a ZERO touch build script for IIS on and off for a few weeks,
One of the last stepping stone for formating the “data” drive prior to setting everything up
“FORMAT H: /FS:NTFS /V:ASG” will prompt for “do you want to erase all yoiu data”, and again if the disk is in use !
So enter WMI, after only 20 mins of digging around the the internet I found some code to do a defrag, a few tweaks, and I have some VBS code that will format a DRIVE, NO questions, even if the drive is in use, and it is ONLY 7 lines
strComputer = “.”
Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2″)
Set colVolumes = objWMIService.ExecQuery (“Select * from Win32_Volume Where Name = ‘H:\\’”)
For Each objVolume in colVolumes
errResult = objvolume.dismount(1,0)
errResult = objVolume.format(“NTFS”, 1, 4096, “ASG”, 0)
Next

I am heavily involved in designing, building some large intranet and internet Microsoft based web hosting platforms. Many of these platforms are designed to allow consolidation of existing applications on to a load balanced web farm. As the quality of the source code is unknown , and many employ file upload techniques I extensively use a CIFS backend for web content, once you get past all the smoke and mirrors with IIS connecting to content on the UNC share. You have to consider how this UNC path is managed. To reduce any future implications of file server changes DFS provides an excellent way to alias in the REAL UNC path in a manner which is understood by all of the modern windows operating systems. But then you have to create and possibly destroy DFS links on the fly , as part of your automated site creation processes.
Version 1 of my automation scripts, used a SHELL to call DFSCMD.exe, while this works it is less than ideal,
After many hour of internet searching, I came across http://pinvoke.net and a few articles on calling netapi32.dll from c#
http://jkhines.com/blogs/code/archive/2007/12/15/access-dfs-from-net-posted.aspx
http://msdn.microsoft.com/en-us/library/bb524805(VS.85).aspx
A FEW hours later I have a working .net 3.5 assembly to add and remove DFS links, Sorted
Download the source here

After going the full duration, 3 interviews and an assessment day over 3months
I had “the Call” from Microsoft HR consultants this morning
Unfortunately it is a “NO Hire” that makes it the first job (ever) I have applied for that I have not got ! BUM
Got some good feedback, no surprises for me though
Good points
- General Technical knowledge is good, particularly in web services area
- Presentation content was well researched and has ALL of the appropriate points
Bad points
- Technical knowledge not deep enough in some areas AD GPO, and high end security got tripped up in duel vendor firewalls, I may have even been tripped up on SQL log shipping recovery process (I need to check), I also struggled to explain some of the decision points when I have built HUGE intranet platforms
- Some of the business stuff is outside my comfort zone , which limits my ability to talk to business people
- Presentation style. In hind sight (the wonderful tool that it is) I spent too long researching the content, and not enough time rehearsing, end result is I will TOO reliant on my notes and came across as reading a script,
Just not quite what they are looking for at in a consultant at the moment
I can’t help feeling, the presentation delivery is totally my fault , and I KNOW I can do better
It is not my normal style to be dependent on notes, and running out of time to prior to the event rehearse is totally my fault and in excusable
I will now be wondering if I would have been better missing a few points and get the delivery right

One of the most hotly requested features for IIS is now available! Yesterday Microsoft shipped the first technical preview of a new URLrewrite module for IIS7. It is free for all IIS7 users and available for download x86 and x64
May be Time to POC WordPress MU on IIS7

I am busy designing and building infrastructure for various “as a Service” service offerings
Web as a Service (IIS)
Data as a Service (SQL and Oracle)
Middleware as a Service
So I thought I would float a few questions
What is High Availability?
When do you need it?
How do you create it?
How do you measure it?
DISCUSS !!
[UPDATE]
Here is my two penneth,

Historically many bespoke application are developed on the same servers the prodcution application runs on. Often this server was built by the developers with little regards for consistancy. After all developers develop applications for a living, not build server infrastructure.
Developing an application on the production server can lead to many problems, particularly if that server build is not quite right or the developer is a little wet behind the ears and does not considure scaling issues and hard coded resource refernces. Then of course it is always possible to cripple the production server by testing rogue application code at the whim a developer. I could witter on for ages about this, bit i want to get on towards what needs to be done to consolidate these applications to central managed infrastructure. Putting to one side the issues of supporting the, often extremely large, consolidation platform, many problems need to be over come to ensure the successful migration / consolidation of bespoke applications in the enterprise.
<UPDATE>
It is worth pointing out that these applications should be consolidated to a well defined, well managed platform, where each appliaction exists in a logical container where ALL interfaces and features are defined and controlled by the infrastructure. Hopeful reducing or even eliminating many of the future gotchas
It should also be noted the technology is only a small part of the battle. Accurate recording of succesfull migration, ownership, and reporting of KPIs also need to be considered. i am not talking a few spreadsheets, it needs to be a fully operation CMDB. spreadsheets are not searchable on MASS, so without a proper CMDB you still only have a huge quantity of unstructure data which is be out of data before you can use it
</UPDATE>
So this is my list of check points and Gotchas
Read the rest of this entry »

For a while now many Cold Fusion app have been doing LDAP auth using a JRUN Call.
ntauth = createObject(“java”, “jrun.security.NTAuth”);
As Blue Dragon Runs on J# and .NET a JRUN call fails
After refereing to the BlueDragon Deploying CFML on .net Guide and a Microsoft article on AD Authenication,
I created a ADAuth DLL (an assembly which goes in the bin folder) from the MS code, and used the following CFML Component code to call it
<cftry>
<cfscript>
//create the object
ntauth = createObject(“.net”, “FormsAuth.LdapAuthentication”);
//Call the contructor
ntauth.init(“LDAP://DC=xxxx,DC=yyyy,DC=zzzzz,DC=com”);
//do the Auth
ntauth.IsAuthenticated(arguments.domain, arguments.userid, arguments.passwd);
auth = true;
</cfscript>
<cfcatch>
<cfset auth = false>
</cfcatch>
</cftry>
Now to write a CFML Component which detects the CFML engine and call the correct method !

Due to the fact it is on my task list, I have been pondering the decision points for deploying a new web based application and supporting infrastructure. At a first stab there must be 400 questions which may be in the mix. The trick is to work out which ones are Critical to success, which ones have no impact, which ones can be linked and therefore become a single decision with many results. Does the implementation mean some of these decisions can be made after Go live (VMware lets you add extra resource to a guest operating system)
How much input can the business customer provide?
How much input can the application developer provider?
What assumptions can you make?
Read the rest of this entry »

Guess who has just been had by the date format thing between the Queens English and Microsoft English
Query Error: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated. Datasource: PINBACK Native Error Code: 242 Executing SQL:
Data was ’14/05/2008 13:47:30′
the Fix was the Language for the SQL user
