Archive for the ‘Uncategorized’ Category

So you’d like to standardize your computers on Windows 7…

December 24th, 2010 by Paul Sterley | No Comments | Filed in Uncategorized

So you’d like to standardize your computers on Windows 7…

That’s a great goal to have, but it may not be a simple or inexpensive process, so you have to look at it closely, and perform a cost/benefit analysis.
At a high level, you have to look at:
  1. How much am I willing to spend to realize this goal?
  2. How difficult and disruptive will this be?
  3. What real benefits will I gain from it?
The primary benefit is in support. If everyone is on the same platform, the support staff’s job is easier, and the users can support each other to some extent.
Secondarily, and closely related, is software upgrade predictability. The behavior of the workstations when upgrading line of business applications is more consistent, and aside from problem machines, success/failure can be predicted by running a test on one PC.
The final consideration is of security. Older OSes are less important to Microsoft, and are more vulnerable to viruses.

So, how do I proceed?
First, take a good look at what you have. These are the primary criteria we are looking at:

1. Hardware Compatibility:
Were most of your workstations purchased in July of 2010 or later? Windows 7 was released to manufacturing in July of 2009, and manufacturers began preparing. It hit the streets in late October of 2009. If you bought your PC after that date, it’s probably Windows 7 compatible. You could try Microsoft’s upgrade advisor, but its abilities are somewhat limited. It might not know about third party drivers that are available to support your hardware in Windows 7. Here are a few tips to help decide:
a. Is it a name-brand computer? If so, go to the manufacturer’s website and look up its serial number or service tag. Check to see if Windows 7 drivers are available for that machine. If they are, your prospects are looking good.

b. If it is a “white-box” PC, then you have a difficult task ahead of you. Look at Device Manager in the existing OS and make a list of the hardware devices you can identify. Run the MS Upgrade Advisor first to look for basic motherboard compatibility, then go to the manufacturer website for each hardware device and check for drivers. Check them off one by one, and be sure not to miss any peripherals – scanners, label makers, printers, cameras, etc. Be sure to ask yourself “Is this worth it?” if the road starts getting rocky.

1b. Software Compatibility:
We’re not just talking about whether your machines will run Windows 7. We’re also talking about whether those line of business apps you run will work on Windows 7. Did you shave your expenses by cancelling the maintenance contract on that software package? Are you a couple of years behind on version upgrades, because what you had was working just fine for you? Time to take a closer look at that.

Maybe you can find out from the manufacturer whether your version is Windows 7 compatible or not. Maybe what they tell you is 100% accurate, or maybe they’re not being entirely truthful with you. The best way to find out for sure is to load up one Windows 7 PC with all of your apps and have someone use it for a couple of weeks, and see how that goes.

2. Longevity:
How long have you had your computers? They last three or four years, tops. Maybe you had one that lasted you 5 or 6 years once, but that was a fluke. Don’t push your luck. If you take an older machine and upgrade it to Windows 7, even if it appears to work, it may fail sooner than you’d like. You’ll have wasted the effort and the money. Sure, you might be able to re-use that upgrade license on anther machine, but you’d only be repeating your mistake. If you a buy a new PC, you can’t use that upgrade license with it. The smart buyer gets the OS bundled with the computer.

OK, I’ve looked at all of the above, and it looks good for upgrade compatibility. Now what?
The next thing to do is look at how much this will cost you in labor from an outside consultant, and/or administrative effort if you’re going to do some of it yourself.
This is detailed in the sections below, but generally, it takes about 3-4 hours to build up software on a PC, and another 1-2 hours to get a new user settled into it.
An experienced consultant, multitasking with a keyboard/monitor/mouse switchbox, can cut down on the software load time significantly if doing multiple PCs at the same time.

Some example/ballpark costs for a 10-PC upgrade:
A. 2-4 hours: Consultant time for driver/compatibility discovery on existing PCs, and possibly software version compatibility testing.
B. 8-10 hours: Consultant time, multitasking with a KVM switch,  to load OS, drivers, join the domain, and install software/updates on 10 PCs.
C. 8 hours: Time to put the computers in the hands of the users and get them settled in.
D. Plan to spend another 12 hours during the following week adjusting things and educating the users about their new PCs.

If you’re doing 10 PCs, but you’re doing them one or two at a time, these numbers aren’t valid. It will take much longer.
These numbers assume that you are multi-tasking effectively, everything goes smoothly, your users are smart, and they are considerate enough to let you get on with it and leave the details for later.
You can’t just divide these numbers to match your setup though. For example, if you have only two PCs to upgrade, you’re not going to be able to do it in 30 minutes for discovery, 2 hours for software load and configuration, 1 hour for getting users settled in, and 2 hours of follow-up over the next week. It’s probably going to take more than that. It gets more efficient as the numbers increase.

Keep in mind during your considerations that even if you buy brand new PCs with Windows 7 pre-loaded, you still have to do some of B, and all of C and D. You save time because you don’t have to worry about hardware compatibility and loading the OS. The time/effort you save and the hardware costs cancel each other out – but you have something to show for it if you buy new ones! Can you donate the old ones to charity and get a tax break?

How did you come up with these numbers?
Generally, it will take an experienced consultant 1-2 hours per PC to load a fresh OS on a computer and install drivers for the various hardware devices, assuming everything goes smoothly. If many are being done at the same time, a keyboard/monitor/mouse switchbox may be employed to multi-task and save some time. If you’re not an IT consultant, you’re doing this yourself, and you don’t have a lot of experience with it, plan for it to take at least 3 hours per PC.

Next up is joining the domain (if you have one), setting security, and loading the line of business software. This usually includes things like Microsoft Office, QuickBooks, some form of contact management or database software, miscellaneous utilities you use for picture viewing, PDF printing, etc. If you’re very organized (CDs, product keys, etc. all ready to go) and have a dozen or so programs to load, it might take another hour per PC. Again, a consultant employing a KVM switch to multitask might be able to cut down on this time.

Finally, after loading all of this software, there will be some updates to run. Windows updates, Office updates, Java updates, Acrobat Reader updates, etc. Sometimes there are multiple reboots involved. Figure at least another half hour per PC, assuming a fast internet connection.

After you install all of the software and configure all of the devices, now you have User Profiles to worry about. You’ll need to log in as the user who will be receiving the PC, set up the e-mail profile, add shared printers, restore their favorites and e-mail archives/address books/auto-complete lists, etc. from backup, and tweaking the line of business software as needed for that user’s role or preferences. Depending on how complicated your company’s setup is, this might take an hour per PC – maybe less if the users are smart and self-sufficient.

Add up the amount of time it will really take to do all of this, and decide whether you’re going to do these all at once, and whether you’re going to do them during business hours, or on a weekend. Keep in mind that once you hand out the first PC to the first user, your efficiency will  decrease, because that user is going to start interrupting you with questions right away. Windows 7 looks different, and maybe they’d rather just ask you than figure out for themselves how to do things – or maybe you genuinely missed something they need to be able to work.

But Microsoft’s marketing people say I can just upgrade the OS “in place” and save a lot of time. Why do I have to do all of this stuff you listed above?
If you are running Windows XP now, you might be able to load Windows 7 right on top of your existing operating system, and thereby avoid having to reinstall all of your software and devices. However, your chances of a successful OS load, and the likelihood of you being happy with the result, are drastically reduced if you go down that path. Generally, it is better to start with a blank hard drive and load it all from scratch. If you do this, I highly recommend purchasing new hard drives, and swapping out the drives before you begin, rather than formatting the old disks.

Why? Because:
a. Maybe you told the users not to keep anything important on the local hard drive (likely), and maybe they listened and understood (somewhat less likely). Or maybe not.
b. Maybe you have backups, and maybe those backups are current (somewhat unlikely) and include everything important (even less likely). Or maybe not.
c. Maybe you made a checklist and backed up or wrote down EVERY important little detail about the computers that have been in use for the last year or so (uh huh). Or maybe not.
d. Maybe, in the case of software that requires activation/deactivation (like Adobe suites), you remembered to deactivate before you started this process (I always forget). Or maybe not.

WHEN (not IF) you discover that you forgot something, EVEN IF YOU HAVE A BACKUP, it is a heck of a lot easier to just swap the old hard drive back in to get that important file or check that detail than to try to pull it out of the backup.
Workstation hard drives are cheap, so you needn’t be. When you’re done, you’ll have fresh hard drives. They are one of the most common things that fail in a PC, and certainly the most expensive from a TCO perspective.
You can keep the old ones as spares, or put them in USB external cases ($25).

This all sounds like a LOT of work, and a VERY expensive process.

Yes, yes it is. I’m glad you noticed. Now you have a decision to make. Buy new PCs with Windows 7 pre-loaded, or upgrade the ones you have.

If nothing in the above article has killed the upgrade initiative for you, then consider this:

You’re going to have to go to Windows 7  eventually, and you’re going to have to spend every dime of what I listed above eventually. All you really have to decide is whether you want to do it all at once, right now, and have smooth sailing for a while, or whether you’re going to do it one at a time, as PCs fail or as your budget allows.

Upgrading  your workstations all at once is much more efficient – but yes, it’s a lot of work, and it’s a lot of money to spend all at once.

But the good news is that now you know exactly what you’re in for, and have the tools to make an informed decision.

Good luck!

New Place to Look for Startup Items in 64-bit Windows

September 22nd, 2010 by Paul Sterley | No Comments | Filed in Uncategorized

Today, while cleaning malware from a customer’s computer, I discovered a new (new to me) place to look for startup items.
You’re probably already familiar with these registry keys:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run, and
HKLM\Software\Microsoft\Windows\CurrentVersion\Run

In 64-bit Windows 7, I found a pointer to a malware DLL lurking in this one, which was new to me:

HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

Yay! Now we have three places to look when cleaning up malware, and cleaning up superfluous startup items such as Adobe Reader Speed Launch, nVidia tools we don’t need, tray icons for utilities that were installed on the PC at the factory and we’ll never use, etc.

While we’re on the subject of places to go looking for unwanted items in the registry, let’s not forget these ones:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Winlogon
   (Look for a value called “Shell”)

Some little buggers like to stick themselves in the AppInit_DLLs value in that key, so that they are executed anytime any executable file is run.

Happy hunting!

Have Tech, Will Travel

May 13th, 2010 by Paul Sterley | No Comments | Filed in Uncategorized

With the Remote Support tools available to us today, and with a little advance planning and preparation, it is usually not necessary to actually go to a remote site during an implementation project.

For example, I sent Windows 2003 domain controllers from Seattle to Australia, South Africa, Singapore, and migrated their systems from NT 4 with Exchange 5.5 to Windows and Exchange 2003, all done from a small office in Snohomish, WA, USA, with the aid of three monitors, a fast internet connection, a clock application to tell me what time/date it was in the various locations, and lots of caffiene and sugar.

However, sometimes the customer just feels better with an onsite presence. The UK office in the above-mentioned project was one such. Their systems were more involved than the other remote branches, being larger and having been in place far longer, and they were simply not comfortable with a remote migration.

So I packed up and went to Bournemouth, U.K. for a week to finish that project.

That was an extreme example, for an extreme migration. Certainly the largest one of my career thus far. I’ve done smaller trips to New York, and to California for similar purposes. I’m interested in doing more of those.

So now we have arrived at my point:

I have Tech, and I will travel.

Maybe you run a consulting company, and one of your customers has a branch office in a remote location such as Butte, Montana, US, or possibly even New York.
The customer’s environment is a complicated one with lots of fiddly bits and hands-on requirements.
You can’t spare one of your techs to send to the customer’s remote location; they’re too busy, and separating them from their daily customers is not good for business.

Or, maybe you’re the IT manager of a customer that is managing their own migration for the most part, but need some hands-on help in another site.

I’m your guy.

I have a flexible schedule, and do most of my customer support remotely. My customer are flexible and understanding, and are willing to wait a little bit for the stuff that is not time sensitive when I have something else going on, because most of the time they get prompt, undivided attention.

So if you need someone to drive or fly to a remote site and slam out a remote network upgrade/migration project, drop me a line. We’ll talk about your project, how my qualifications and availability matches up, and work out the particulars.

You can be assured of fast, competent work, and 100% compliance with non-disclosure and non-competition concerns. I don’t want to take your customers. YOU are my customer.

For more information about my background, experience, and some customer feedback, check out my company website.

Tags: , ,

How to set the logon background in Vista and Windows 7

April 25th, 2010 by Paul Sterley | No Comments | Filed in Uncategorized

Want pretty pictures to go with your instructions?
Check this out.

Want a portable executable to do the job for you?
Here you go.

Want to rotate the background so you don’t get bored with it?
This will do the trick.

History Lesson:
In Windows versions before Vista and 7, using a custom default wallpaper was pretty straightforward. You would simply point a registry key to the file, and Windows would use it. Things are a little tricker than that now, but it’s still do-able.

Caveats:
The image files must be .jpg files, must be less than 256 KB, and should match your screen resolution (they’ll be stretched or skewed if they do not). The following resolutions are supported:

768×1280
900×1440
960×1280
1024×1280
1024×768
1280×1024
1280×768
1280×960
1360×768
1440×900
1600×1200
1920×1200

The process requires elevated permissions (you must be running as an administrative account and may have to answer some User Account Control prompts) because you are changing system settings.

Here’s how to do it manually:

1. Create your image:
Either create your own image with the appropriate size and dimensions, or find an image you like (and that isn’t copyrighted), and adjust it in an image editor to fit your screen resolution. Make sure it is less than 256 KB, using JPG compression.
If you think you might change resolutions at some point, make more than one (one for each reoslution you might use). Including the resolution in the filenames of yor stored copies is a good idea.

2. Set the registry key:
Navigate to the following registry key:
HKLM:\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background
Set the “OEMBackground” REG_DWORD value to “1″.

3. Create the folder:
Navigate to your Windows folder (usually c:\windows).
Go into the “System32″ subfolder.
Go into the “oobe” subfolder of System32.
Create a folder under oobe called “info”, and under that, one called “backgrounds”.

4. Put the files in place:
Copy your image file into the system32\oobe\info\backgrounds folder, and rename it to “backgroundDefault.jpg”.

Do a CTRL-ALT-DEL and admire your handiwork!

How to Test MS SQL Connectivity

September 24th, 2009 by Paul Sterley | No Comments | Filed in Uncategorized

This is a fairly complicated subject, as SQL is a fairly complicated application.

 

Maybe you need to test connectivity to your SQL server as part of preparations for a failover.

Maybe you’re having some problems with getting a client application to connect and you want to make sure your SQL server is responding.

Maybe it seems to work locally but not remotely, and you want to gather more information on where you can connect from and where you cannot.

 

There’s no really simple methodology for testing this, because MS SQL can be configured in many different ways – using Windows authentication, using SA authentication, using TCP/IP, or Named Pipes, on different ports, even on dynamic ports.

 

So rather than present a step-by-step approach that will only work for one specific configuration, I’ll point you to some articles that will help you determine which way SQL is configured first – and then how to test it using that information.

 

 

This one is about enabling remote connections, but in the process it tells us where to look for the actual port number being used:

http://blogs.msdn.com/sqlexpress/archive/2005/05/05/415084.aspx

 

This one helps us figure out whether the server is using TCP/IP or Named Pipes, whether or not Dynamic Ports are bring used, etc:

http://support.microsoft.com/default.aspx/kb/265808

 

This one helps us use SQLCMD to connect to x instance with y port, giving a number of syntax examples:

http://msdn.microsoft.com/en-us/library/ms188247.aspx

 

If any of these links go missing, please send me a comment so I can replace them.

Tags: ,