Home » Posts tagged 'Article'

Tag Archives: Article

An Open Letter to Application Developers

Dear Developers,

I want to thank you for continuing to build applications and programs and other software that makes my life better.  As an Infrastructure Specialist I feel my kind and your kind have developed a nice symbiosis over the years – I build the environments on which your solutions run, and you make my infrastructure more than just a pretty face.  This has allowed us (in collaboration with our good friends, the DBA types) to deliver solutions to our users that make their lives easier.

We have come a long way from the time when WordPerfect consisted of a single file, and that all of what we did ran off individual floppy disks.  As the solutions get bigger, it is understandable that, at least under the hood, they are going to become more complex. So I get why I have had to step up my game in a lot of aspects.  My environment will be as complex as you need it to be, while remaining as simple as it can be.

There are times though when I think you are taking a simple path, and that path of yours can complicate my life.  I will give you an example:

I have been testing a particular monitoring solution for one of my customers.  It is a solution that I suspect will make my life easier, so I decided to install it.  Okay so far.

And then I needed to uninstall it.  It wasn’t that I didn’t like the product, it was that I hadn’t checked on some of the requirements, and rather than trying to adjust them later on (or live with them).  I opened the Uninstall or change a program window, and poof… there were suddenly 25 ‘programs’ that I needed to uninstall… one by one.

Before you say it I know… some applications have an Uninstall program which will clean your system of every last remnant of its installation.  Most don’t.  So when I uninstall one component, I have to uninstall all of them, lest the installation program see that the remnants are still there, and not re-install properly later on.

I understand you think I am asking a lot of you.  After all, what is 20 minutes of my pressing ‘Uninstall’ over and over again in the grand scheme of things?  Well here’s the thing… when I have to do it five or ten times (whether I am testing it or writing about it or whatever) it can really add up.  With that said, how difficult would it really be for you to create an installation log that an Uninstall application can follow?

What about Snapshots and Checkpoints Mitch?

Ah, that is a good point… Virtual Machine Snapshots (and Checkpoints) do give me the ability to go forward and then back out to that point… but I have to know in advance that I am going to go through the uninstall-reinstall dance… and when your application links to an external database on a different machine they are often rendered useless.

So if you feel I am being unreasonable, please understand that is not my intention.  I just feel that a little extra effort from you could go a long way to making my life a little easier.

But we don’t want you uninstalling our applications!  Use them!

That is another great point… but I assure you that if I create a server specifically for your application (as I did in this case), if I decide to NOT use your application then uninstalling it will not be an issue, I will simply blow the server away.  I want to use your applications, that is what makes my environment shine.  This will just help me a little bit more.

Thank you!

Communications – I’m talking to you, IT guy!

Let’s face it… most technical people did not get into their fields because of their love of communicating.  It is not uncommon to see IT pros (and developers) avoid communications with non-technical people, often shying away from any human contact whatsoever.  The ultimate portrayal of this was Sandra Bullock’s character in the 1995 movie The Net.  Angela Bennett went away on vacation, then came home to an extreme case of identity theft… and nobody could vouch for her because as a shut-in nobody could really identify her.

Of course, that is an extreme case, and most of us are not like that.  However if you were to ask one hundred IT professionals to list the three most important skills they need in their jobs, communications would likely not rank in the top ten.  The problem is, most of them would be wrong.

We communicate with others in myriad ways, and in a lot of jobs where good communications may not seem important they really could make our jobs easier.  Imagine the following scenario:

You are the systems administrator for a small company with 30 users.  You have to apply a server patch that will bring the company’s primary systems down for twenty minutes, and it cannot be done outside of business hours.  It can go two ways:

1) You say nothing.  When the systems go down people start complaining, and you tell them that the systems will go back up in twenty minutes.  You spend the entire twenty minutes fielding these calls, getting yelled at, and being told that you are preventing important work from getting done.  It reflects poorly on your co-workers’ impressions of you… and on your job performance.

2) In preparation for the outage you send a company-wide e-mail apologizing for the predicted downtime, and tell your co-workers that between the hours of 12:00 and 12:20 the systems will be down, and if there is any critical reason that this time slot needs to be changed, please reply.  As it happens the Sales Manager is hosting a group of potential customers for a lunch, and will need to demonstrate the company’s abilities during that time frame, so you reschedule it (communicated) to 3:00 to 3:20.  At 2:45 you send out another e-mail reminded.  At 3:00 the entire company seems to be congregating in the cafeteria for their snack break, and are chatting about… anything, but not about you.

Do you see the difference?  The quick e-mail prevented you from looking like a bum.  Don’t get me wrong, nobody is going to see you as a hero – that is seldom how sysadmins are seen – but it is better that they don’t see you as the enemy.

In the first scenario you are at risk of losing your job.  Imagine if the company brought in those clients, and because of you the Sales Manager only had ‘Server Not Available’ to show?  Imagine the Sales Manager then going to the president of the company and telling him that the company lost a major sale because of you.  If you don’t think that is going to reflect poorly on you then you are just wrong.  And by the way, this is when the Sales Manager says to the president something like ‘You know, I have a cousin who graduated from ITT Technical Institute, and just finished an internship at a company a lot like ours… He would be a great replacement for your current guy.’

If you think those conversations don’t happen then you are fooling yourself.  We live in a cutthroat world and everyone is trying to get ahead.  Sending that e-mail could in some cases save your bacon… even though you don’t think communications are important.

There was a time when we were seen as wizards, and everything we did behind the curtains was secretive and magical.  Guess what: our profession has become demystified, and nobody thinks we are irreplaceable and nobody thinks that we are magical.  Smart? Yes, we still have that going for us.  But everyone knows someone smarter… or smart enough.

I have been blogging for a decade and was a writer for a decade before that… but I still used to belong to the ‘let them eat cake’ school of IT administration.  And then I got wise… the five minutes it takes to send that e-mail – at the possible cost of having to reschedule whatever it is that I am doing – has probably saved my job or contract on several occasions.  Remember it… because e-mails are easy and job hunting sucks.

Sad Times for an Industry

I used to say to my audiences that while the number of jobs in IT will go down, the best will always be in demand.  I then spent several months essentially unemployed.

The IT field has changed dramatically over the course of the last few years.  I suppose it is natural for an industry as young as ours to evolve drastically and violently… but I didn’t expect it would happen to me.  When I did find a job I was relieved to say the least.

During the time when I was looking I noticed that a lot of people turned their backs on me.  I thought for a while it was personal, but I have realized that people in our field are becoming a lot less secure than they were even a year or two ago… yes, some of the people who disappointed me did it out of malice or jealousy, but I have realized that there are also a lot of people who have realized that if they are not protective of what they have, someone else might get it.

I am not naming names… but one of the people who didn’t turn his back on me – someone who commiserated, and did everything that he could to help me – pinged me this morning telling me that he had been let go.  I know that a few months ago I had counselled him on a position at Microsoft, but realized before I even replied (because of time zones it was the first message I saw this morning) I realized that while I remembered him telling me that he found something, I had no idea where it was.  I suppose now it doesn’t matter… he’s not there anymore, and through no fault of his own.

There are a lot of reasons for someone to leave their company… often they will leave because of a better job offer elsewhere (I e-mailed a friend at VMware Canada last week and the message bounced… he turned up at Microsoft Canada this Monday).  Sometimes we are just fed up, and we leave of our own accord.  Of course there is also the termination for cause, and we all hope to avoid that.

All of those are reasons we could have done something about… but when the company simply cannot afford to pay us anymore – they don’t need five IT guys and are downsizing to three, or the project we were hired for was cancelled – it can come as a shock… we did nothing wrong, and there was nothing we could have done to prevent it.  We’re just… gone.  This is a lousy situation.

A few years ago when I went to the US border to apply for my TN visa so that I could work in that country.  Please remember that US border agents are quite loyal, and very protective of their country.  I was trying to explain to the agent what I did as an IT Pro helping companies to virtualize did.  After a few minutes he said to me ‘Let me get this straight: you want me to let you come into my country to teach companies how they can become more efficient and need fewer American workers.’  I could feel his eyes boring into me like lasers.  But the truth is I always felt that the students who learned from me would always be safe, because I was helping to prepare them for the inevitable shift in the industry.  And yet there I was, looking for work… for a long time.

The friend who pinged me this morning was one of those students… I taught him virtualization and System Center, and those are two very important skills to know.  But how do you prepare yourself for the company canceling the project?  It’s not easy.

I have said for years that one of the worst advancements in IT with regard to the IT Pro field was the advent of Microsoft Windows.  In the days of DOS, Novell, and AccPac computers were a mystery to most people, and it was only the real IT Pros who could make sense of everything for the masses.  With Windows `Press Here, Dummy!’ interface myriad people figured it out, and started calling themselves IT Pros.  Some of those people would eventually learn what was really under the hood, get certified, and thrive… but a lot of them did a lot of our customers a disservice and made those people and companies distrust the entire profession.  I see that coming back to haunt us even worse, in a time when automation and virtualization are making thing easier for the fewer IT Pros needed, we are living through the worst of times for the profession.

What is the solution?  I don’t know… but I do know that we can’t put the genie back into the bottle, and it is going to get worse before it gets better.  I hope we are all able to weather the storm.

Cloning with Customization Specifications

Being back in a VMware environment, there are a few differences I need to remember from Hyper-V and System Center.  It is not that one is better or worse than the other, but they are certainly different.

Customization Specifications are a great addition in vCenter to Cloning virtual machines.  They allow you to name the VM, join domains, in short set the OOBE (Out of Box Experience) of Windows.  They just make life easier.

The problem is, they do a lot of the same things as Microsoft’s deployment tools… but they do them differently.  We have to remember that Microsoft owns the OS, so when you use the deployment tools from Microsoft, they inject a lot of the information into the OS for first boot.  Customization Specifications work just like answer files… they require a boot-up (or two) to perform the scripts… and while those boots are interactive sessions, you should be careful about what you do in them.  They will allow you to do all sorts of things, but then when they are ready they will perform the next step – a reboot.

I am not saying that you shouldn’t use Customization Specifications… I love the way they work, and will continue to use them.  Just watch out for those little hiccoughs before you go 🙂

Goodbye TechNet… But not quite.


Microsoft is retiring the TechNet Subscription service.

September 1st came and went… most of us in North America enjoyed the long Labour Day weekend, whether we were with family, at the cottage, enjoying the CNE, or doing whatever people who don’t live in Toronto do for Labour Day.

What most of us did not feel was the hard stop of all of our TechNet Plus Subscriptions.  By all rights we should have, but last year, shortly after the TechNet team announced that they would be ending the benefit availability, they announced an extension.  So if you had purchased a valid subscription by August 31, 2013 you would get a 90 day extension… in other words, you can continue to access your benefits until November 30, 2014.

There was a huge outcry last year, and I was not part of it… partly because I was on contract to Microsoft, and partly because I will still enjoy my MSDN Subscription as an MCT and MVP.  However for the people who relied on TechNet, this is a sad end.  Fortunately you will still be able to use evaluation versions of the software… but we all know it’s not the same.

Even though we have another day, I will still say my fond farewell to the TechNet Subscription.

Troubleshooting MDT Scripts

I have a Windows 7 Deployment Point DVD that I created using the Microsoft Deployment Toolkit 2010 for a client, and it has been a godsend during the past ten days.  Because the client wants to make copies to send to their remote locations around the country, I spent a couple of hours scripting as much as I could so that the process would be as simple as possible for the end-users, and so that the corporate computers around the country would all meet my (their) guidelines.  I tested the deployment media on physical hardware and there were absolutely no problems.  Now all that was left was for me to create a document to go with it.  To do this, I created a virtual machine within my Hyper-V laptop so that I could use TechSmith’s SnagIt tool to capture my screen shots.

…and I started getting an error telling me that ‘Windows could not parse or process unattend answer file [C:\Windows\Panther\unattend.xml] for pass [specialize]. The answer file is invalid.’



What am I to do?

Why did it work on physical hardware, and is not working in the virtual machine?

What’s different?

During my Troubleshooting LiteTouch Deployment using MDT session at TechDays Canada I remind my audience that if they get an error they shouldn’t close down the system when they get an error… there is so much to be learned from the files that might simply disappear if they are on the RAMDrive.  I pressed <Shift-F10> and looked for the guilty file, and sure enough, under the Specialize Pass section there was the error… the ComputerName field was FAR too long!

When scripting the deployment point one of the rules I included was the following lines to script the computer name to be the same as the serial number:


The serial number for the Vostro laptops that the company bought is an 8 character Asset Tag.  This works perfectly because the maximum computer name can be is 15 characters.  Unfortunately the serial number of my Hyper-V virtual machine was much longer – in this case the string read:


Because of that the deployment was failing. 32 characters!  Of course this is not going to be limited to virtual machines.  Some vendors have longer serial numbers than others.  If you created a deployment point that works fine with your HPs that you want to use to deploy Windows 7 on a white-box PC, you may encounter the same issue.  If you have many systems that you are going to encounter the problem on then you probably will want to go back and recreate your deployment point, whether that be a USB key or (as was the case here) the ISO file.  However if you have a one-off machine that is outside the norm – say, a lab PC that you use to test applications – then for those of you who are adventurous, the following will work, and will save you doing all of that:

  1. Restart the machine as you did previously, initiating the deployment.
  2. Go through all of your screens until you get the ‘Ready to Begin’ screen, and click Begin.  The Task Sequence will start, and will go through the first few tasks pretty quickly.  When the Installing Windows… window comes up, your screen should look like the screenshot below.  At this point the Unattend.xml file that the deployment uses will have been generated and copied to the C Drive, into two distinct locations.
  3. image
  4. Press F8 to open a command prompt.
  5. Navigate to the first file location (C:\$Windows.~BT\Sources\Panther).
  6. type notepad Unattend.xml.
  7. In the Notepad window search for the string <ComputerName>.
  8. Change the string between <ComputerName> and </ComputerName> to an acceptable name (fewer than 15 characters).
  9. Save the file and exit from Notepad.
  10. Navigate to the second file location (C:\MININT)
  11. Repeat steps 6-9
  12. Type exit.

(NOTE: Typing EXIT is crucial, as the open command prompt window will prevent the Windows Installation from rebooting the system.)

Now: In the event that you get an error that the deployment is suspended, you might have to wipe the disk first… use these steps only in a clean install scenario, because it will wipe any data on the drive!

  1. Restart the virtual machine from the DVD.
  2. When Windows PE comes up, press F8.  When the command prompt (will you people finally realize this is NOT DOS!!) comes up type diskpart to start the Disk Partition tool.
  3. Within the Disk Partition tool type list disk.
  4. Make sure you pick the disk that you are installing Windows on and type Select Disk # (where # is the number of the disk).
  5. Type CLEAN

As soon as the partition is wiped you can reboot the computer and restart your deployment.

I hope this helps… now go forth and deploy, and script-sin no more!

%d bloggers like this: