Scripting the Task Scheduler to Create System Restore Points

I ran into an interesting situation the other day: I had a hard drive that was going bad, and thankfully I had most of my data backed up on a schedule. However, before I removed the old hard drive, I wanted to log into the system to double-check a few settings. Unfortunately, several of the operating system files had become corrupted and the system wouldn't boot.

I didn't think that was a big deal, because I could try a system restore. However, I had forgotten that Windows 10 creates far less restore points than previously, so I had fewer to work with. In the end, I wasn't able to boot the system that final time.

Now that I have my newly rebuilt computer up and going, I set out to create a scheduled task that will create system restore points on a schedule. However, I wasn't content to create the task; I wanted to create the task using a batch file script so I could easily run the script to create the same task on any new systems that I might build.

It took me a while to get the script parameters the way that I wanted them, but the following one-line script achieves everything that I wanted to do. Note that you need run this script in an elevated command prompt, otherwise it might fail with an access denied error.

schtasks.exe /create /tn "Create Restore Point (MONTHLY)" /sc MONTHLY /d SUN /mo FIRST /st 05:00 /rl HIGHEST /ru "NT AUTHORITY\SYSTEM" /tr "PowerShell.exe -ExecutionPolicy Bypass -Command \"Checkpoint-Computer\" -Description \"AUTOMATIC-$(Get-Date -Format \"yyyyMMddHHmmss\")\" -RestorePointType \"MODIFY_SETTINGS\""

Here are the different parts of that script in detail, so you can modify them for your situation:

schtasks.exe This is Windows' command line application for managing scheduled tasks.
/create Specifies that we will be creating a scheduled task.
/tn "Create Restore Point (MONTHLY)" Specifies the name for the scheduled task.
/sc MONTHLY Specifies the schedule type, which could be MONTHLY, WEEKLY, DAILY, HOURLY, etc.
/d SUN These two parameters work together to specify how often the task runs, and the options for these values will depend on the schedule type. In this example, it is specifying the FIRST SUNDAY of each month.
/mo FIRST
/st 05:00 Specifies the starting time in 24-hour format.
/rl HIGHEST Specifies the "run level," which in this example is the highest level.
/ru "NT AUTHORITY\SYSTEM" Specifies the user account to run the task as, which in this case is "NT AUTHORITY\SYSTEM".
/tr "<<SEE BELOW>>" Specifies the command to run inside the task. The actual command in this example is somewhat complex, so I've broken it down in the following table. Note that this command needs to be within a pair of quotation marks; if you need to include quotation marks for the values inside this script, you will need to escape those characters as I have done in this example.

And here are the parameters for the task that is going to run as part of the task:

PowerShell.exe The application that we're running in this application is PowerShell.exe, because PowerShell has a cmdlet to create a restore point.
-ExecutionPolicy Bypass Specifies the execution policy, which in this example specifies that nothing will be blocked and there are no warnings or prompts.
-Command "Checkpoint-Computer" Specifies the PowerShell cmdlet that creates a system restore point, which takes the following two parameters.
-Description "AUTOMATIC-$(Get-Date -Format \"yyyyMMddHHmmss\")"

Specifies the description of the system restore point, which in this example invokes another PowerShell cmdlet to specify a date/time stamp that will show when the restore point was created. The restore points created by this task will look like "AUTOMATIC-20211201015150."

-RestorePointType "MODIFY_SETTINGS" Specifies the type of restore point, which could be APPLICATION_INSTALL, APPLICATION_UNINSTALL, DEVICE_DRIVER_INSTALL, MODIFY_SETTINGS, or CANCELLED_OPERATION.

That's about all there is to it. In a sense, this task is a bit of a script hack by invoking PowerShell cmdlets via the command line, but it works. And at the end of the day, that's all that matters.

Here are a few additional resources that provide more detail on the commands that I was using to create this script:

I hope this helps!

Recovering a Mirror Set on Windows 10

I run a mirror on the C drive for one of my Windows 10 systems, and a few nights ago that system wouldn't boot; I kept getting errors like "VOLMGRX internal error" and "A recently serviced boot binary is corrupt". I tried a few of the automatic Windows 10 recovery options while my system was rebooting, but nothing seemed to work. Skipping past the steps it took to get there, I also tried using the "bootrec /fixmbr" and "bootrec /fixboot" commands, with no luck, either.

However, since I was using a mirror set for the primary drive, I was able to do the following:

When I rebooted my system, I chose Troubleshoot for my startup option.

windows_10_recover_mirror_set_1

Step 2 - On the Troubleshoot screen, I chose Advanced options.

windows_10_recover_mirror_set_2

On the Advanced options screen, I chose Command prompt.

windows_10_recover_mirror_set_3

When the Command prompt opened, I typed the following commands:

diskpart
list volume

This returned a table like the following illustration, and I looked for the volume which showed status as "Failed Rd":

Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 C C-DRIVE NTFS Partition 1848 GB Failed Rd Boot
Volume 1 ESP FAT32 Partition 500 MB Healthy System  
Volume 2 WINRETOOLS NTFS Partition 454 MB Healthy Hidden  
Volume 3 Image NTFS Partition 12 GB Healthy Hidden  
Volume 4 DELLSUPPORT NTFS Partition 1087 MB Healthy Hidden  

Once I knew the volume that was having the issue, I was able to run the following commands to recover the mirror set:

select volume 0
recover

I knew that the recovery was going to take a long to complete, and I could have used "detail volume" command every few minutes to check the status, (which will show "Rebuild" in the status column). But the truth is - it was already way past midnight, so I simply went to sleep for the night. When I got up the following morning, everything was fine and I was able to reboot successfully.


FYI - The following article has all the information you need about using the Windows DiskPart command, although be forewarned - you can really screw up your system if you do something wrong.

DiskPart Command-Line Options

This Scammer Picked the Wrong Geek to Mess With

What a great way to start my day. I just received a call on my work phone from an anonymous number where a guy with a thick accent on the other end of the line began his pitch by claiming, "This is Windows Technical Support. I am calling you today because we have been receiving a bunch of messages from your computer which are telling us that..."

lg_nortel_phones_ip_phones_8540_big

Hehe... seriously? This clueless dude had no idea he was dealing with a Microsoft employee. But then again, I had a busy day planned, so I had no time for squabbling.

I quickly cut him off and said, "Look, I can save us both a bunch of time. Do you know who I work for?"

The would-be con man was immediately taken aback and momentarily at a loss for words, but he managed to eke out a hesitant "No" as a reply.

I continued by saying, "I work for Microsoft."

The scammer attempted to regain his composure and started to reply with, "Oh, then you must know..."

I cut him off again and I asserted, "Yes, I do know. I have worked for Microsoft for over 20 years, and I know that Microsoft does not call customers like you are doing. You are a liar. And what you're doing is illegal."

Predator had turned to prey, and the hapless dolt on the opposite end of the phone began to mumble, "Honestly, sir, I... uh..."

And then I heard nothing but dial tone.

Yup, that was a great way to start my day.

Adventures With Proxy Servers

One of the things about being an ubergeek is setting up a full Active Directory Domain to manage all of the computers in my house and running my own proxy server to provide Internet access for our home network. I am currently using Microsoft's Threat Management Gateway (TMG), and before that I was using Microsoft's Internet Security and Acceleration (ISA) Server - both of which have allowed me to do some fun things.

For example, for one whole year I intercepted all requests for the Google website and sent them to a website which I had created that looked and acted like Google but used the Bing API to provide the results. (No one could tell the difference, and I eventually wrote a blog about my experiment called Fun with Search Engines.)

At other times I would intercept my kids' Internet requests and send them to a "Your Internet is Turned Off" page when they failed to complete their chores; this was often met with much grumbling on their part. (Although one of my daughters learned how to pirate a neighbor's unsecured WiFi connection, and I was too proud of her ingenuity to get upset at her for skirting around the house rules.)

Running my own proxy server was good for accountability, too: I created a program which crawled all of the proxy server logs and created detailed reports that were dumped in a public share so everyone in the family could see where everyone else was browsing. (I'm a parent - so there is no such thing as "Private Browsing" in my house.)

That being said, I recently ran into a situation where I felt it necessary to interfere with the Internet for a few days. I had seen too many people post spoilers on Facebook about who died on The Walking Dead, and my wife saw too many spoilers about what was happening on Downton Abbey. With that in mind, when Star Wars VII  was hitting the theaters, I decided that I needed to block Facebook for a few days.

But I couldn't just "block" Facebook, I needed to have fun with it... so I did this - I sent all requests for Facebook to the following page until my wife and I had a chance to see Star Wars:

http://www.geekybob.com/star-wars-warning.htm

Yeah, it's a really simple script - but it did the trick. ;-)

Some Thoughts About My 20th Anniversary At Microsoft

At the risk of gratuitous self-aggrandizement - today is my actual 20th anniversary. My 20th anniversary crystal arrived the other day, so I added to the collection on a bookcase in my office. (Although to be honest, they didn't hand out anniversary crystals when I reached my 5th and 10th anniversaries, so I had to buy those after the fact.)

20thAnniversaryCrystal

Things I'm Most-Proud Of...

Disclaimer: Yeah, I realize that I'm definitely bragging here; hence why I labeled this section "Things I'm Most-Proud Of."

  • IIS Express - I came up with the idea for IIS Express one afternoon after writing an SDK sample where I showed that it was possible to create a mini version of IIS that could be used for self-hosting applications and debugging. After I proved that it could work, I faced a huge uphill battle trying to sell the idea for a miniature version of IIS to my bosses, (e.g. ThomasD, VijayS, Mai-lanB, BillS, etc.) Once I had convinced all of them, then I had to convince the Visual Studio team to dump Cassini in favor of IIS Express. (That was no small task, believe me.) Shortly after I had everyone on board, Vijay took over the project while I changed teams for the next year, and Vijay grew my rather simple idea into a full-fledged application. (Kudos to Vijay - I had more modest plans originally.) A few years later I changed teams again and I took over IIS Express, where I added some more cool features to it. Now IIS Express ships everywhere, so it's pretty cool to see how far you can take an SDK sample. Smile
  • Being a PM on the IIS team - This was a dream come true for me. Oh sure, that dream was more of a nightmare in the days before shipping a product, but being a PM for IIS was pretty much everything I thought it would be. By way of nostalgia, here's what the IIS Product team looked like in 2009. (Note: I took the picture, so I'm not in the picture. I prefer it that way.)
    IISTEAM2009
  • RFC 7151 - It took me eight years to get this Internet Standard published, and I wrote most of it as part of my IIS PM work. As I have mentioned before, I get to honestly say that I helped create part of the Internet. (It's a very small part of the Internet, but I still get bragging rights.)
  • Technical Writing - Between my ten years in product support and my years as a writer in this organization, I have written thousands of how-to articles, samples, walkthroughs, blogs, reference topics, and KB articles. It has never ceased to amaze me how much of what I have written has been used by customers; I love seeing code that I wrote in an article show up in customers' blogs or forum posts. It's especially amusing to me when they're passing it off as their code even though it's 100% copied from my samples. (Hey, I always can tell.) If I combined every article that I have written during my tenure at Microsoft, I could create a whole series of books. (Although that would be a really boring books series.)
  • FTP Service for IIS 7 & IIS 8 - There's lots of good stuff in there; our feature team discarded the old FTP service (which no one wanted to use) and we created a first-class service from scratch, for which we received a lot of positive feedback.
  • Being a Customer Advocate - I started in technical support, where I spent 10 years speaking with customers, and I have always hosted my own websites and run my own servers so that I could face many of their same frustrations. For instance, I run a full Windows domain in my house, where family members have individual accounts, and all Internet access goes through my proxy server, and I could use group policy to set restrictions for my kids when they were younger, etc. By using Microsoft's products as a customer, I made countless discoveries from a customer-point-of-view. But that being said, some of the people with whom I have had to work still don't understand their customers; I ran into that situation a lot when I was a PM. For example, when you make something easier for you that is harder for the customer, you have just failed your customer. (Sigh.Sad smile)
  • WebDAV for IIS 7 & IIS 8 - I loved this technology and I was a huge advocate for it. I hated the old version of WebDAV on IIS 6 and earlier, so when I was a PM on the IIS team I helped create a version from scratch that customers would like. Most people don't realize that Windows ships both a WebDAV service and WebDAV client, so you can map dives and share files over HTTP thanks to WebDAV.
  • MetaEdit - This utility was like Regedit for IIS settings and shipped with the Windows Resource Kits. This was a very popular tool in its day, and it was cool to see classes being taught at ATECs for something that I had created. Eventually MetaEdit was replaced by another tool, and IIS 7 made both tools obsolete, but in its day MetaEdit reigned supreme.
  • FrontPage Server Extensions (FPSE) - Customers both loved and hated FPSE, and I knew FPSE inside and out from my days in technical support; for years I was arguably the most-knowledgeable person about FPSE the company. (No exaggeration.) So when I became a PM for IIS, I was able to get them to work in all sorts of scenarios where they weren't designed to work, which helped to create new versions of FPSE that resolved thousands of customer problems for Visual Studio and other Enterprise-level customers. (Seriously - the lack of FPSE was an adoption blocker for thousands of Windows Server 2008 customers.) Then a few years later I got to be the PM who finally killed FPSE as far as Microsoft was concerned. (Or as one customer gratefully remarked as he reached to shake my hand, "So you're the guy who's driving the stake through the heart of FPSE!")

Embarrassing Microsoft Moments...

Here is a collection of amusing stories with which I have been involved over the years:

  • Due to a simple programming error, (which wasn't my error - I swear), one of my servers managed to register "localhost" in the company's name servers, and it started responding to all TCP/IP requests for "localhost" across the entire network. Within a few hours, this mishap had taken down several mission-critical services across the company, so my office was kicked off the network and I received a call from a corporate president asking me to never turn my server back on. (Note - I found the error and fixed it. But I swear it was in someone else's code. Really. Why would I lie about something like that? Smile)
  • I mentioned MetaEdit earlier, and one of my greatest embarrassments was when I famously messed up the version checking dialog box.
  • When I designed the extensibility APIs for the IIS 7 FTP service, I realized later that should have added an extra parameter to one of the method prototypes. I couldn't get approval to change the method in subsequent versions of the FTP service, so I have to live with that for the rest of my life. (Darn. Darn. Darn.)
  • I didn't cause this error, but I helped diagnose it back in my technical support days: Windows has several built-in reserved filenames that all go back to the DOS days, such as PRN, CON, NUL, LPT1, COM2, etc. Back in the earliest days of IIS, most companies only had one server for everything - domain, web server, proxy server, file shares, print sharing, etc. So you could connect to the FTP service and start uploading a text file filled with nothing but page feed commands while using a destination filename of LPT1; if the company had a printer attached to their server, it would spit out all the paper and then pop up a dialog message asking the user to reload the printer. However, this was a modal dialog box, so IIS would hang until the user had completed the task. We called this the "Denial of Paper" attack. Smile

Weird Microsoft Traditions...

We have done some silly things over the years at Microsoft; some of these traditions are still in practice, while others are long-gone. For example:

  • Togas - Believe it or not, employees used to wear togas to work whenever our stock split. (Yeah, it's been years since that happened. Sad smile)
  • "Fire Me" Emails - Locking one's workstation used to be policed by the community, so if you found someone's desktop computer unlocked, you were supposed to send an email to the team that contained the words "FIRE MY LAME @$$!!!" (Eventually this practice was heavily frowned upon.)
  • April Fool's Websites - Okay, this is mostly just me, but over the years I have created several internal-only websites for April Fool's Day - for example:
    • People for the Ethical Treatment of Software (PETS) - this was a take off on PETA that was advocating for the abolition of the cruel conditions under which software is tested
    • Buugle - It looked and acted like Google, but it wasn't...
    • Technical Support Trading Cards - this website looked like baseball cards, but listed off all the stats for technical support employees, (e.g. SDFC = "Solution Delivered First Contact," MPI = "Minutes Per Incident," etc.)
    • Virtual Tech Lead - I created Virtual Tech Lead back when I was a Tech Lead in technical support, and I populated it with a bunch of innocuous statements that most Tech Leads often said. I sent it out to my team on April Fool's Day with the caveat that it was "90% as effective as a real Tech Lead," and it took off across the company's tech support divisions like wildfire. Pretty soon my poor internal-only webserver couldn't keep up with the web traffic so it rolled over and died; I had caused a denial-of-service on myself.
  • Office Pranks - We used to trash people's offices when they went on vacation. I realize that open space offices have put a dent in certain gags like filling an office with balloons, but how hard is it to wrap someone's desk in saran wrap? Smile
  • Anniversary Goodies - Usually people bring in one pound of M&M's for each year on their anniversary. Once I hit my 10-year anniversary I decided that 10 (or more) pounds of M&M's were simply too many for any team to eat, so I started bringing in rum cakes from the Caribbean. Since I work remotely I don't do that now, but my wife surprised me with 20 rum cakes on my desk this morning:
    20thAnniversaryRumCakes

A Few of the Hardest Things for Me at 20 Years...

  • The Demise of IIS - It has been difficult for me to watch IIS slowly get killed off as a product in an effort to encourage customers to host their websites on Azure. I started working with IIS in early 1996, so it's sad for me to see a product wither away and perish ignominiously after I have I spent thousands of hours designing, developing, and documenting it. But time and tide wait for no man, so the wheels of progress soldier on. However, if you want to see what IIS looked like way back in 1996, see http://www.geekybob.com/iis-legacy-screenshots/.
  • Kenny King - I was hired at Microsoft on the same day as Kenny; we were hired within the same hour, to be exact. We quickly became friends and we worked together for years; we bought houses down the street from each other in Texas where our kids grew up together and our wives were like sisters. Kenny was always a rock star with everything he did at Microsoft, and he should be here celebrating his 20th anniversary along with me, but sadly he passed away from cancer shortly before our 19th anniversary with the company.

A Few Manager Anecdotes...

I worked with some great first-level managers at Microsoft - too many to recall - and I worked with some great skip-level managers, too. That being said, here is a list with some of my all-time favorite first-level managers (many of whom are no longer with the company): NancyL, SibhonO, MicheleP, JayV, StaceyC, TerryM, SharonM, BillS, Mai-lanB, EricD, ThomasD, AndrewL, TomW, WonY, and of course - WadeP.

Here are a few small managerial anecdotes - I don't have stories about everyone, so anyone left off the list is not meant as a slight:

  • NancyL was my first manager at Microsoft, and she was on my interview loop when I was originally hired in Arizona. There had been 8,000 job applicants for 100 jobs, so after I was hired I naively asked Nancy why she wanted to hire me when there were so many great people to choose from, to which she replied, "You scared me; I was afraid that someone else would hire you and we would have to compete against you."
  • JayV was one of the best "Big Picture" managers with whom I ever worked; Jay could take a scenario and see how it applied to the company at every level. Yet Jay never lost touch with his individual team members; he would always grab two or three team members and head out to lunch where we'd talk about how things were going. Whenever I have been in a position of leadership during my time at Microsoft, I have actively tried to emulate several of Jay's great qualities.
  • StaceyC was one of my all-time favorite managers; I worked for Stacey on two different teams for a total of six years. Stacey was one of the best "people-persons" with whom I have worked. Even in the hardest of time she had a great attitude, and I watched her successfully manage several teams through some extremely traumatic times.
  • EricD had not had many direct reports when he became my manager, so he called me into his office one day and said, "Look, I'm the guy who makes sure that IIS ships, so I'm usually pretty difficult to work with. So I want you to be my guinea pig - I want to try not to be jerk for you." Despite the ominous sound of that proposal, Eric turned out to be a great manager.
  • JeffH was a really good guy who was in a really difficult position when I worked for him in Technical Support; I had pitched an idea for creating a specialty team of escalation engineers to several managers, and they liked my idea. However, once the team was created my original idea was quickly transformed into something that was entirely different than what I had proposed, so I no longer wanted to work on the team that I had just helped to create. Nevertheless, Jeff really needed the headcount, so he asked me to please stay on the team for six months in order to help get the team started - so I reluctantly agreed. In the end I worked on the team for a year and a half; I hated every minute of it, but I stayed because of Jeff. That was some good leadership on his part.
  • Mai-lanB doubled as my mentor at times; she gave me a lot of great advice on how to manage my career as a PM during our 1:1 meetings, which were often over lunch somewhere off campus. However, Mai-lan's primary weakness was that she was a workaholic like me, so she worried some of her direct reports because she would email them at any time during the day or night with a question. Many people thought they had to have an answer right then, so a lot of her reports spent some restless nights until they figured out that it was okay to answer the next day. But that being said, I also had an unpredictable schedule, so Mai-lan was amazed that I seemed to answer all of her emails 24 hours a day. She eventually asked if I ever slept, to which I replied, "Only when you're on vacation." (Perhaps it takes a workaholic to understand a workaholic.Smile) When Mai-lan's position was unexpectedly cut from the IIS team, she and I had found out immediately before we were scheduled to attend a team meeting, and when I sat next to her, I risked an HR violation by hugging her and saying, "I'm so sorry - I really liked working for you, and you will be sorely missed." Mai-lan simply cried as a response. Sad smile
  • I reported to WonY when I was an IIS PM, and he sat down the hall from me. Won had a laugh that was infectious; you could always tell whenever he had a meeting with someone because sooner or later something would make him laugh, and you could hear it everywhere in the building.
  • It would seem inappropriate to expound upon WadeP's great qualities since I currently report to him and we have a review meeting coming up soon. Smile So I'll just say that I have probably worked for Wade longer than any other manager, and the same can be said about most of Wade's reports. Any manager with a team of faithful, long-term employees and a zero attrition rate must be doing something right.

Windows Versions during my Tenure...

I thought it would be fun to take a look back at all the version of Windows that have existed during my time at Microsoft, with a few of my thoughts about each version. (Note: you should also see Windows turns 30: a visual history, which is a pretty amusing look back at the history of Windows.)

  • Windows 3.1 - Believe it or not, this OS was still widely-used when I was hired, and I had to take tech support calls for it. (How many of you ever knew that there was a 32-bit version of Win31? I did - and I talked customers through getting it up and working.) Win31 wasn't bad, and I knew all sorts of really cool tweaks for customizing ProgMan that were soon to be obsolete. But in its day it was great.
  • Windows NT 3.51 - This was the only viable Windows client and server product at the time that I was hired. Before I started at Microsoft, I was working in the IT department of a small college, and we had used WinNT351 for one of our servers. After I was hired by Microsoft I had to take tech support calls for WinNT351, which were an adventure. In terms of productivity, WinNT351 beat the crap out of Novell, which was far-too-cumbersome for most people, and that is why WinNT eventually took over the server market from Novell.
  • Windows 95 - This was released shortly before I was hired, and Win95 quickly dominated the home PC market. That said, I had a love/hate relationship with Win95; some things were great, others weren't quite where they needed to be. But the built-in networking was great, and it eventually supplanted every other PC-based peer-to-peer networking technology. (Anyone remember LANtastic? ARCnet? Of course not.)
  • Windows NT 4.0 - This was released shortly after I was hired - it was a great OS, and it had lots of stability (unlike its predecessor); both the client and server versions were fantastic. I earned my first MCSE certification on this OS.
  • Windows 98 - I loved this OS, and believe it or not I still run the Win98 core OS (non-GUI) on a legacy machine where I need pure DOS-level functionality for some old MIDI stuff that needs unrestricted physical access to drive hardware.
  • Windows NT Option Pack - This wasn't really a separate OS, but NTOP added amazing Internet-hosting features to Windows NT 4.0.
  • Windows ME - A lot of people hated this OS; I only put it on one computer, and I didn't have any problems with it, so I never understood what the griping was all about.
  • Windows 2000 - This was a good OS, both the client and server versions. That said, I never liked using Win2000 Pro for a desktop machine because it had crappy support for audio/video/MIDI processing, which was an intentional decision from the Windows product team. (Their argument was, "This is a business machine; watch videos and create music on your home PC." Of course, that decision alienated anyone who wanted to use Win2000 Pro as the OS on their home PC. It also helped Apple to take over the recording industry. I earned my second MCSE on this OS.
  • Windows XP - As everyone is well-aware, WinXP was a fantastic product; in many ways it was too amazing for its own good so millions of people still refuse to upgrade from it. WinXP was clearly one of the greatest operating systems ever created, although there is some funny irony here: Microsoft received a lot of bad press about WinXP when it was first released - some people didn't like having to upgrade their systems for a few of the new product requirements. (Of course, Apple users had always forced to do that for years.) In any event, when Vista and Win7 came along a few years later, they also received bad press from people who didn't like having to upgrade, which made me start ignoring early reviews of operating systems.
  • Windows Server 2003/R2 - This OS had some amazing security features, and certainly the best "Old School" version of IIS.
  • Windows Vista - This wasn't a bad OS, although it got lots of bad press because it required more video/memory resources than were typical for many legacy systems, so millions of users were forced to upgrade their systems if they wanted to use it. It never worked correctly on my wife's laptop, which was cause for many unhappy conversations in our house. (e.g. My Wife: "Why did you upgrade my computer to this OS? I hate Vista!")
  • Windows Server 2008/R2 - These were great server operating systems; lots of killer features, and amazing versions of a completely-redesigned IIS.
  • Windows 7 - This is still my favorite OS of all time; it was so amazing that during the beta time frame I reformatted every machine that I had (including my home PCs) and installed the Win7 beta. It was pretty, it was fast, and it did everything right (or so it seemed). Microsoft hit an amazing home run with this OS. One of the least-actualized features of Windows 7 was Windows Media Center (WMC), which should have taken off and dominated the home theater and HTPC markets, but whoever was in charge of that product did not follow through with the right people in the right places to make that happen. WMC on a Windows 7 computer is still the centerpiece of our home entertainment system; it's our DVR, video library, music player, etc.
  • Windows Server 2012/R2 - Once again, these were two great server operating systems, with amazing versions of IIS.
  • Windows 8 - I am almost embarrassed to admit this publicly, but I really wasn't fond of this OS, even though I tried very, very hard to like it. I could wax poetic about my reasons for this decision, but I'll just leave this as it stands.
  • Windows 8.1 - This OS fixed a few of the clunkers in Win8, but unfortunately Microsoft showed off additional fixes (like a replacement Start Menu) that were promised for a Win8.1 update, and that update never happened. The Windows product team decided to hold off and ship those features in Windows 10, and this was a seriously bad decision, for which I heard a great deal of end-user grumbling at Microsoft's expense. (Which may have been was well-deserved.)
  • Windows 10 - I upgraded a couple of computers to Win10 during the beta: one physical computer (which stayed on a particular stable build) and one virtual computer (which I updated when new customer previews were available). I've continued to run Win10 on a few computers since its release, and so far it's much better than the Windows 8 versions. Of course, we completely killed Windows Media Center in Win10, so I'm unhappy about that. (Time to look into running XBMC on a Raspberry Pi? Smile)

That about wraps it up for me. So if anyone is still reading by now, here is my statement that I have always used to summarize how I feel about working at Microsoft: "To me, working for Microsoft is like working for Santa Claus; we make all the coolest toys, and we get to play with them before anyone else."

With that in mind, who wouldn't want to spend 20 years working for Microsoft?

Still More Examples of Bad Technical Support

Here is another entry in my on-going list of examples for both good and bad technical support experiences. For this situation, I will show an example of bad technical support as provided by the Microsoft Outlook Support Team.

Here is the scenario: about two months ago one of my Hotmail accounts stopped working with Windows Live Mail. When I attempted to sync that particular email account, I received an error message that was similar to the following example:

Bear in mind, however, that I made no changes to my Windows Live Mail settings, and I have several other Hotmail accounts which are working perfectly with the same settings on the same computer.

So I started a support issue with the the Microsoft Outlook Support Team, and over the next several weeks I went back and forth with several people on that team who were clearly uninterested in working on this issue. (In fact, at one point they simply closed the case without notifying me!) As of today the issue is still not resolved, and I have not heard from anyone at Microsoft within the past month.

As I said before, this is an example of really bad technical support.

With that in mind, listed below is the full thread from my support case in order of the events. Note that I have substituted the following variables where necessary to hide my actual account name, email address, and support number:

  • %ACCOUNT_NAME% is my Hotmail account name
  • %EMAIL_ACCOUNT% is my email address for my Hotmail account
  • %TICKET_NUMBER% is my ticket number for my Microsoft support case (e.g. SRX12345678ID)

So without further narrative, here are all of the notes from the support case.

04/18/2015 15:14

Service: General Issue

What type of problem do you have?

  • Selected Product
    • Outlook
  • Selected Issue
    • Your account has been temporarily blocked

Enter a short description of your issue: Cannot Sync Email from Windows Live Mail

Enter the email address (Microsoft account) affected by this issue: %EMAIL_ACCOUNT%

Enter your contact email address: %EMAIL_ACCOUNT%

Enter a detailed description of your issue:

I was able to sync my %EMAIL_ACCOUNT% account in Windows Live Mail until a week or so ago, and now I receive the following error message:

Unable to send or receive messages for the Hotmail (%ACCOUNT_NAME%) account.
Server Error: 3219
Server: 'https://mail.services.live.com/DeltaSync_v2.0.0/Sync.aspx'
Windows Live Mail Error ID: 0x8DE00005


For reasons that are completely unrelated to this issue, I completely reinstalled Windows 7 Ultimate on this computer, and yet after reinstalling Windows and Windows Live Mail on this computer I still see the same error. In addition, I have a couple of other Hotmail accounts that I use with Windows Live Mail on the same computer and they work without any errors.

With that in mind, the problem should not be caused by any settings on my computer. However, I did not make any changes to my account settings at Hotmail before I started seeing this problem.

There is one thing that I have noticed, though - when I log into the Hotmail.com website, when I use one of my other Hotmail accounts the title bar says Outlook.com, whereas the title bar for my %EMAIL_ACCOUNT% account says Outlook Mail (Preview).

04/18/2015 15:18

From: Microsoft Support

We are writing to let you know that we have received your request for support and will reply within 24 hours.

If you don't see a message from us within 24 hours, check to see if email from @css.one.microsoft.com is in your junk mail folder. You can check the status of your request on the Microsoft Support site.

https://support.microsoft.com/oas/default.aspx?tp=il&tenant=WOL&sd=winlive&incno=%TICKET_NUMBER%

Thank you,
The Microsoft Support team

04/19/2015 22:51

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hi,

Thank you for contacting Outlook.com support.

My name is Therese and I'm glad you have reached us today. I have read your description and I understand that you are getting an error message when syncing your account at Windows Live Mail. Let me see what I can do for you.

To start off, we appreciate your efforts in isolating the case by uninstalling and reinstalling your Operating System and Windows Live Mail on your computer. You also mentioned that other Microsoft accounts are working fine on Windows Live Mail which tells us that this is not an issue with the mail client but can be an account-related issue.

With that, I would like you to know that I have escalated this case to our Support Specialist for further evaluation. We will get back to you as soon as we have a resolution or if we need more information.

Your patience is highly appreciated.

Regards,
Therese

04/21/2015 11:12

Subject: RE: %TICKET_NUMBER%
From: %ACCOUNT_NAME%

Has there been any progress on this issue?

FWIW - I have included a screen shot of the error message in Windows Live Mail.

Thanks.
--------------------
Attachments:
0x8DE00005.png

04/21/2015 13:17

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hello,

Good to hear from you again. This is John from Outlook.com support.

We appreciate the screenshot that you have provided us. I have checked your service request and found out that your issue is still being handled by our Support specialists and the investigation is still ongoing. Once we got any developments or if there is anything that our Support specialist would need from you, we'll inform you right away.

Thank you for your cooperation and patience on this matter.

Regards,
John

PS: Please do not delete the first email notification from us. If you did not receive another notification in 24 hours, please check the link on the first email notification to see the case progress.

04/25/2015 12:33

Subject: %TICKET_NUMBER% (Reopen)
From: %ACCOUNT_NAME%

It has been a week since I first opened this support case, and from what I could tell - nothing was ever done. So imagine my surprise when I logged in today and I discovered that this support case had been closed without a single notification from Microsoft. This is terrible customer service, and I AM A VERY DISSATISFIED CUSTOMER!!!

At this point I expect three things:

1. I demand that this issue be escalated to someone who can actually work on the issue and resolve it; I no longer want to suffer through working with incompetent 1st-tier support people.

2. I expect to hear from someone within the next 24 hours with an actual update on this issue; I do not want to hear another blasé response which says "the investigation is still ongoing," because it very clearly was not being investigated.

3. I expect to hear from a manager within the next 48 hours as to why this issue was never worked, never resolved, and closed without contacting me.

If I do not hear from anyone within the times that I have put forth, I will escalate this issue through appropriate channels on my own, which will reflect even more poorly on those who have been doing a terrible job thus far.

04/25/2015 16:52

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hi %ACCOUNT_NAME%,

Thank you for your response and for sharing your feelings with us. I'm Froilan, at your service.

We apologize for taking your valuable time in trying to resolve your issue with the error message when syncing your account in Windows Live mail. I fully understand how you feel about the inconvenience this has brought you. Please be informed that I will get back to our Support Specialist to get update about the status of your case. We understand the urgency of this issue; however, we cannot provide you with the time when a reply will be available. Rest assured that this post is being tracked and we will inform you immediately once we get any updates from them.

We appreciate your continued patience in going through this issue.

IMPORTANT REMINDERS:

Please save and keep the first email notification you received after submitting this request. That notification contains the link for this service request. If you did not receive another notification in 24 hours after your reply, you can check the status of this case and view our response by clicking the link on the first notification.

Best regards.

05/01/2015 09:54

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hello %ACCOUNT_NAME%,

How is it going? We received an update coming from our Escalations Engineer and based from what we've observed, it seems the issue is encountered when the server settings for IMAP is not selected.

What you need to do is to make sure that you've selected and followed the Manual Server Settings for IMAP. This should allow the syncing of your accounts.

For more information about this setting, please refer to the IMAP setting that can be found in the link below.

http://windows.microsoft.com/en-US/windows/outlook/send-receive-from-app

Kindly share us the outcome afterwards.

Regards,
Microsoft Support Team

05/03/2015 22:22

Subject: RE: %TICKET_NUMBER%
From: %ACCOUNT_NAME%

This simply does not make sense; I have several other Hotmail accounts which I simply add them to Windows Live Mail and they automatically work. In the Properties dialog for each of my other accounts, the Server Information tab lists "My mail server is an HTTP server" with the following URL:

https://mail.services.live.com/DeltaSync_v2.0.0/sync.aspx

These are the EXACT same settings as the %EMAIL_ACCOUNT% email account. So why would this one account require custom IMAP settings?

Also, this account was working fine until a few weeks ago when I started seeing the errors. I made no changes to my settings, so it would seem that Microsoft has changed something about this specific Hotmail account. As I pointed out before, the web page banner when I am using this account reads "Outlook Mail (Preview)", which leads me to believe that this account was only partially migrated to the new Outlook Mail servers. With that in mind, I would theorize that the problem is due to a failed attempt on Microsoft's behalf when trying migrate my account from the old Hotmail.com servers to the new Outlook.com servers.

05/03/2015 22:23

Subject: %TICKET_NUMBER%
From: %ACCOUNT_NAME%

By the way, while I sincerely appreciate the assistance of the escalation engineer, I still have not heard back from a manager with an answer as to why my support case was closed by the initial support engineer after no work was completed and no attempts were made to contact me.

05/03/2015 23:56

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hi %ACCOUNT_NAME%,

Thank you for providing us additional details. I'm Hyver from Outlook.com Support and I have reviewed the exchange of responses that you had with my colleagues. I'm truly sorry if the issue still persists after a week of communicating with us. I understand the displeasure that you've expressed for the support that you experienced. We're still here to help you on your issue.

I really apologize for the inconvenience that you've faced. I know you're expecting an email from a manager explaining why the support ticket was closed without someone trying to attempt to contact you. I'd like to let you k now that we are actively monitoring cases that are being reviewed by the Escalations Team and we do not close cases with open escalations. So we would like to ask for a copy of the email notification that indicates that the case was closed. I will include this to my reports as this could be an honest mistake or a system glitch,

I totally recognize that you deserve a valid explanation about what happened and we are not letting our customers to be upset at any point of our investigation. We don't like to see our customers upset and inconvenienced and we always strive to create a positive customer experience. With that being said, this should be reviewed again by our Escalations Team and should be taken care with utmost urgency. Please do not lost faith in us as we are doing our best to resolve this issue the soonest possible time.

As we speak, this support request is in our Escalations Team queue and should be treated with immediate attention. We appreciate your cooperation and understanding.

Should you have other questions or clarifications, please do not hesitate to contact us back.

Sincerely,
Hyver

05/05/2015 18:04

Subject: RE: %TICKET_NUMBER%
From: %ACCOUNT_NAME%

Hello Hyver,

There was never an email when the case was closed, which was part of my complaint. If you look at the case notes, you will see that I had to reopen the case on 04/25/2105 when I discovered that the case had been closed when I logged into this support website to check on the status.

05/05/2015 19:47

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hello,

Thank you for letting us know that there was no email with regard to this case that was closed. We will report this to our higher support team and we'll get back to you immediately once we have the latest update from them.

Again, your patience and understanding are much appreciated.

Kindest regards,
Glenda

05/12/2015 22:46

Subject: %TICKET_NUMBER%
From: %ACCOUNT_NAME%

Another week has passed by, and yet I still have not heard anything, which leads me to believe that no one at Microsoft is actually doing nothing with this case. From my perspective, it seems that the "Escalation Agents" with whom I am working are simply stalling for time and hoping that either the problem will go away or I will quit trying and give up.

With that in mind, I will keep everyone up-to-date: the problem is still there - which should be expected since no one at Microsoft appears to be doing anything to fix the problem.

So let me recap the past week or so: I have heard nothing from Microsoft since the last time that I requested an update, my issue is not resolved, and I never heard from a manager at Microsoft with an explanation as to why the front-line engineers closed the case without contacting me or to discuss a plan of action to resolve this issue.

All of this reflects very poorly on the support engineers with whom I am working. As such, I want to work with someone else. Someone who knows what they're doing. Someone who can actually resolve an issue.

05/13/2015 03:37

Subject: %TICKET_NUMBER%
From: Escalation Agent

Note: To check the status of your request, kindly refrain from deleting our email notification. If you haven't received another notification in 24 hours, you can view the agent's response on URL link provided on the notification email.

Hi,

This is Audrey and we apologizer if this case has been going on for so long without any results. Upon checking your concern is still under investigation by our support specialist. We will be making a follow up regarding this and once we have received a word from them it will be immediately relayed to you.

Rest assured that we are exhausting our resources to resolve this matter as soon as possible.

Thank you,
Outlook.com Support Team

05/19/2015 13:36

Subject: %TICKET_NUMBER%
From: Escalation Agent

Hello %ACCOUNT_NAME%,

Sorry for the wait. We received an update coming from our Escalations Team and there's a possibility that your account's server settings were changed. With this, configuring your account to Windows Live Mail using this server "Windows Live Hotmail" will not work.

We are still working on your issue but what you can do is to use IMAP as your server type if you want to sync your emails.

Thank you for consideration and cooperation.

Regards,
Microsoft Support Team

05/29/2015 13:19

Subject: RE: %TICKET_NUMBER%
From: %ACCOUNT_NAME%

I do not wish to use IMAP; I have used that before and it has presented me with a separate series of issues. I will continue to wait for you to fix the problem with the server settings.


To be honest, at this point I have little faith that the Microsoft Outlook Support Team will do anything to resolve this issue. It is abundantly clear to me that the support team is ignoring my support case and simply waiting for me to close it, which I refuse to do since my problem is not resolved.

So once again I reiterate the obvious - this is a perfect example of truly awful technical support, and it demonstrates why many people eventually give up on Hotmail and switch to Gmail.

Why I Don't Like Macs

I freely admit that I am fiercely loyal where my employer is concerned, but my loyalty pre-dates my employment. I was a big fan of Microsoft long before I went to work for them, which was one of the reasons why I was so thrilled when they offered me a job.

My affection for Microsoft goes back to when they were the "Little Guy" standing up to "Big Bad IBM," and at the time everyone loved Microsoft for that reason. (At that time, Macs were still pretty much toys.) But I became a huge fan of Microsoft when I started working in IT departments in the early to mid-1990s. At the time, the licensing fees for WordPerfect, Lotus 1-2-3, Ashton Tate's dBASE, etc., were astronomical, and our little IT budgets spent more on those licensing fees than we did on hardware, so our PCs were sub-par due to price-gouging. Then Microsoft came along and offered all of Microsoft Office with per-seat licensing that was 50% less than any other single software application, so we suddenly had software for every PC and budget to buy more hardware. This cannot be understated - Microsoft made it possible for us to actually focus on having great computers. To us, Microsoft was the greatest company on the planet.

MetroLogo

By way of contrast, let's take a look at what Macs were like. In each place where I worked, we had some Macs, and the experiences were nowhere near similar. First of all, the Macs were hideously over-priced. (And they still are.) When a PC died, the data was nearly-always recoverable, and usually the majority of a PC could be salvaged as well. (It was usually only a single part that failed.) Not so with a Mac - when a Mac died (which was just as often as a PC), the user's data was gone, and we couldn't fix the computer because we couldn't walk into a store and buy over-the-counter parts for a Mac. When a brand-name PC failed, its manufacturer was generally helpful with troubleshooting and repairs, whereas Apple had one answer - send us the Mac and we'll get to it when we can. Seriously. Apple was so unwilling to help their users that we grew tired of even bothering to try. We just boxed up dead Macs and sent them (at our expense) back to Apple and forgot about them until Apple got around to shipping something back to us.

To be perfectly honest, I really tried to like Macs - and I used one for quite a while. I had heard that "Macs are better for [this reason]" or "Macs are better for [that reason]," but in my actual experience most of those claims had little basis in reality (with a few exceptions). Macs simply had a loyal fanbase of apologists who ignored the bad parts of their user experience and evangelized the good parts of their user experience. (Which is pretty much what I do for PCs, right? ;-] ) But after months of using a Mac and wrangling with what I still think is a terrible user interface, coupled with the realization that I could be doing my work considerably faster on a PC, it was my actual use of a Mac that turned me off to Macs in general.

no_apple

I realize that a lot of time has gone by, and both Apple and their products have gotten better, but years of abuse are not easily forgotten by me. There was a time when Apple could have won me over, but their sub-par products and crappy customer service lost me. (Probably forever.) And make no mistake, for all of the blogosphere regurgitation that Microsoft is a "monopoly," Apple is one of the most-closed and highly-controlled architectures on the planet. What's more, prior to the release of OSX, Macs were a tiny niche, but for the most part they were a social experiment masquerading as a computer company that failed to reach more than 5% of the desktop computer market. In short, Apple was a sinking ship until Steve Jobs returned and Apple saved itself through iPod and iTunes sales. This gave Apple enough capital to abandon their failing computer design and rebuild the Mac as a pretty user interface on top of a UNIX operating system. This was a stroke of genius on someone's part, but you have to admit - when your 15-year-old computer business drives your company to the point of bankruptcy and you have to save your company by selling music players, that's pretty pathetic.

Ultimately, Apple users are a cult, Steve Jobs is their prophet (even though Woz is the real hero), and Apple products have always had half the features at twice the price. And that is why I don't like Macs. ;-]

More Examples of Bad Technical Support

A few years ago I wrote my Why I Won't Buy Another HP Computer blog, wherein I detailed several terrible support experiences that I had to endure with Hewlett Packard's technical support people. In order to show that not everyone has terrible technical support people, I recently wrote my Why I Will Buy Another Dell Computer blog, where I described a great experience that I had with Dell's technical support people. That being said, not everyone can be a good as Dell, so in this blog I will illustrate another bad support example - this time it's from Microsoft's Technical Support.

Here's the situation: I recently purchased a Dell 8700 computer, which came with Windows 8.1 installed. Since I run a full Windows domain on my home network, I would rather run the professional version of Windows 8.1 on my computers, so I purchased a Windows 8.1 Pro Pack from Microsoft in order to upgrade my system. The upgrade process is supposed to be painless; Microsoft sends you a little box with a product key that you use to perform the upgrade.

Well, at least that's the way that it should have worked, but I kept getting an error message when I tried to use the key. So after a few attempts I decided that it was time to contact Microsoft's Technical support to resolve the issue. I figured that it was probably some minor problem with the key, and it would be an easy issue to resolve. With that in mind, I browsed to http://support.microsoft.com and started a support chat session, which I have included in its entirety below:

Answer Desk online chat
Vince P: 5:12:37 PM Hi, thanks for visiting Answer Desk. I'm Vince P.
Welcome to Answer Desk, how may I help you?
You: 5:13:09 PM I just purchased a Windows 8.1 Pro Pack Product key from Microsoft for my Dell 8700 computer, but I get an error message that the key does not work.
Here is the key: nnnnn-nnnnn-nnnnn-nnnnn-nnnn
Vince P: 5:13:43 PM I'll be happy to sort this out for you.
For documentation purposes, may I please have your phone number?
You: 5:14:02 PM nnn-nnn-nnnn
Vince P: 5:14:38 PM Thank you, give me a moment please.
As I understand, you cannot install Windows Media Center using the key that you have, is that correct?
You: 5:17:53 PM Yes, I am trying to upgrade from Windows 8.1 to Windows 8.1 Pro with Media Center
Vince P: 5:18:12 PM First, allow me to set expectations that Answer Desk is a paid support service. We have a couple of paid premium support options should your issue prove complex and require advanced resources. Before we discuss those further, I need to ask some questions to determine if your problem can be handled by our paid support or if it's something really easy that we can fix at no charge today.
I will remotely access your computer to check the root cause of this issue.
[Note: Vince sends me a URL and code to initialize a remote session to my computer using a 3rd-party application.]
You: 5:19:40 PM Why is a remote session necessary?
Vince P: 5:21:19 PM Yes, I need to check the root cause of this issue.
Or I can send you some helpful links if you want.
You: 5:21:52 PM Or you can ask me to check anything for you
What do you need to check?
Vince P: 5:22:38 PM http://windows.microsoft.com/en-US/windows-8/feature-packs
If this link doesn't work, there might be some third party application that are blocking the upgrade.
It is much faster if I remotely access your computer, if it's okay with you.
You: 5:24:34 PM I have gone through the steps in that article, they did not work, which is why I contacted support
Vince P: 5:25:06 PM I need to remotely access your computer.
You: 5:25:11 PM The exact error message is "This key won't work. Check it and try again, or try a different key."
Vince P: 5:25:16 PM Please click on the link and enter the code.
You: 5:25:46 PM Or - you can tell me what I need to check for you and I will give you the answers you need.
Vince P: 5:26:51 PM http://answers.microsoft.com/en-us/windows/forum/windows_8-pictures/upgrade-to-windows-8-media-center/6060f338-900f-437f-a981-c2ae36ec0fd8?page=~pagenum~
I'm sorry, but I have not received a response from you in the last few minutes. If you're busy or pre-occupied, we can continue this chat session when you have more time. If I do not hear from you in the next minute, I will disconnect this session.
It was a real pleasure working with you today. For now, thank you for contacting Microsoft Answer Desk. Again, my name is Vince and you do have a wonderful day.
Your Answer Tech has ended your chat session. Thanks for visiting Answer Desk.

Unbeknownst to "Vince", I worked in Microsoft Technical Support for ten years, so I know the way that the system is supposed to work and how Microsoft's support engineers are supposed to behave. Vince was condescending and extremely uncooperative - he simply wanted to log into my machine, but no one gets to log into my computers except me. I know my way around my computer well enough to answer any questions that Vince might have had, but Vince didn't even try. What's more, when Vince sent me a long support thread to read, he took that as his opportunity to simply end the chat session a few moments later. Very bad behavior, dude.

Unfortunately, Microsoft's chat application crashed after the session had ended, so I wasn't able to provide negative feedback about my support experience, so this blog will have to suffice. If I had a way to contact Vince's boss, I would have no problem pointing out that Vince desperately needs remedial training in basic technical support behavior, and he shouldn't be allowed to work with customers until he's shown that he can talk a customer through a support scenario without a remote session. If he can't do that, then he shouldn't be in technical support.

By the way - just in case someone else runs into this issue - all that I had to do in order to resolve the issue was reboot my computer. Seriously. Despite the error message, apparently Windows had actually accepted the upgrade key, so when I rebooted the computer it upgraded my system to Windows 8.1 Professional. (Go figure.)

Why I Will Buy Another Dell Computer

Several years ago I wrote a blog post that was titled Why I Won't Buy Another HP Computer, in which I described (in detail) a series of awful customer support experiences that I had with Hewlett-Packard (HP) when I purchased an HP desktop computer.

I would now like to offer the details of an entirely different customer support experience that I recently had with what is probably my favorite computer manufacturer: Dell.

logo-dell

Why I Like Dell

To start things off, I need to point out that I am a huge fan of Dell computers, and I have been for years. The reason for my admiration is simply this: Dell's computers have always worked for me. I have never had an experience where the hardware in a Dell computer has failed, even in extremely bad conditions. For example, I used to manage the network for a small church which had somewhere around 15 to 20 desktop computers and three Dell PowerEdge servers. During a particularly bad thunderstorm, a nearby lightning strike took out the hard drives on nearly all of the computers, including the servers. Fortunately everything on the network had multiple redundant backups, but as it turns out - I didn't need to use the backups. Only the hard drives were bad - all of the computers survived the damage, and I was able to use a combination of Symantec Ghost and Runtime Software's GetDataBack to restore all of the data on the failed drives to new drives. Despite the wide swath of destruction, all of the computers were up-and-running in less than a weekend.

In addition to having lived through that situation, I have been nothing but impressed with all of the Dell computers that I have owned both personally and professionally, and I have owned a lot. My currently laptop is from Dell, as is my wife's laptop, my son's laptop, my daughters' laptops, my Windows Media Center computer, my tablet PC, and several of my work-related computers. In fact, the only non-Dell computing devices in my house right now are my home-built rackmounted server, my wife's Microsoft Surface, and the HP computer from my earlier blog - which is what led me to my recent experience.

Shopping for a New PC

The single HP computer in my household is several years old, and it was time for me to start thinking about upgrading. I had been doing a little shopping, but nothing serious. Since I am taking some graduate courses at the University of Arizona, I have found myself on the receiving end of spam that various companies throw at college students. (Dear Spammers: if you are reading this, I do not need another credit card, or back-to-school attire, or a summer internship, or student housing, etc.) But one piece of spam caught my eye: Dell had sent me an email advertising a free tablet computer with the purchase of a new computer. Since I was already in the market for a new computer, I thought that I would check out their deals.

I followed the link from the email to Dell's website, where I quickly learned that Dell's offer was for an Android-based tablet. I could care less about an Android device, but I was curious if Dell had a deal for a Windows-based device. With that in mind, I clicked a link to start a chat session with a sales representative. I don't want to give out full names for privacy reasons, so I'll just say that I wound up with a guy whose initials are "N.A." He informed me that Dell did have a deal where I could get a Windows tablet instead of the Android tablet, although it would cost more. That was perfectly acceptable to me, so I said that I was interested, but I had more questions. Our chat session wound up lasting 45 minutes, all of which was entirely due to me because I spent much of the chat session looking at various products on Dell's website and asking N.A. lots of questions about this option or that.

Bad News and Good News

I eventually decided on a deal that I liked, and I gave all of my contact information to N.A. so he could call me to get my credit card information. N.A. sent me the full text of the chat session, and he promised to call me within five minutes. But he never called. I remembered from the chat session that I had mentioned that I might want to wait 24 hours since it was the day before payday, so after 20 minutes I decided that N.A. might have misunderstood what I had meant, and I decided to wait until the next day to see if Dell would call me back.

By the following afternoon I still hadn't heard anything, so I decided to call Dell's 1-800 number to see what the deal was. I was routed through to a sales representative with the initials W.P., and I explained the situation. He did a little checking, and he informed me of two interesting pieces of information: first of all, the Dell deal for a Windows-based tablet had ended the day before, and much worse - apparently N.A. had quoted me the wrong tablet PC anyway.

Giving credit where it was due, W.P. was great throughout the call - I was understandably disappointed at the situation, and I kind of felt like I was being forced into a "Bait-and-Switch" scenario based on mistakes over which I had no control. W.P. checked with his manager, J.H., who said that he would try to contact N.A.'s department to see if they would stand behind their misquoted pricing. With that, W.P. and I ended the call.

I hadn't heard anything by the following afternoon, so I sent an email to J.H. and W.P. to ask what the status was with my situation, and I forwarded N.A.'s email with the original chat session. I also mentioned that I am a big Dell fan, and this situation was not reflecting well on Dell's ability to make a sale. Shortly after I sent out my email, J.H. called me to say that he couldn't contact the right person in N.A.'s department, so he was taking responsibility for the situation on Dell's behalf and was going to honor the deal. Very cool.

Closing Remarks

This entire experience reinforced my appreciation for Dell - not because I wound up getting a good deal, but primarily because a series of people took responsibility for someone else's mistake and worked to make things right.

Ultimately these people's actions made their company look great, and that's why I will buy another Dell computer.

 

FYI - The computer and the tablet both arrived and they're great. ;-]

Cleaning Up Your Windows System When QuickTime Has Screwed Up Your Media Settings

So here's the deal: I don't use anything from Apple. I have no iPod, no iPhone, no Mac, etc. I buy all of my MP3s through Xbox Music and Amazon. :-] Because of this, I have had no real need to install iTunes or QuickTime in years.

But unfortunately it seemed that I had to install either iTunes or QuickTime at one time or other, mainly because some of my digital cameras recorded video in QuickTime *.MOV format. But over the years I learned to detest both iTunes and QuickTime because of the undesirable ways in which they modified my system; both iTunes and QuickTime would remap all of media settings to open in their @#$% player, which I didn't really want in the first place.

Now that Windows supports the *.MOV format natively, and I can easily convert *.MOV files into something infinitely more useful and universal like *.MP4 format, I really never see the need for installing either iTunes or QuickTime.

However, just the other day I installed a new video editor (which shall remain nameless) and it quietly installed QuickTime on my system. I presume that this was to make it easier to import files in *.MOV format into the video editor, but I was pretty upset when I discovered that QuickTime had been installed. What's more, I was angry when I discovered that QuickTime had once again messed up all of my media settings.

In all of this misery is one saving grace: QuickTime has the decency to preserve your original settings. I am assuming that the backups are for when you uninstall QuickTime and attempt to reclaim your system from being hijacked by Apple, but just the same - that little nicety allowed me to fix my system with a little bit of scripting.

So without further introduction - first the script, and then the explanation:

Const HKEY_CLASSES_ROOT = &H80000000
Const strQuickTimeBAK = "QuickTime.bak"

Set objRegistry = GetObject("winmgmts:" & _
  "{impersonationLevel=impersonate}" & _
  "!\\.\root\default:StdRegProv")
 
objRegistry.EnumKey HKEY_CLASSES_ROOT, "", arrSubKeys

For Each objSubkey in arrSubKeys
  If Len(objSubkey)>2 Then
    If Left(objSubkey,1)="." Then
      objRegistry.EnumValues HKEY_CLASSES_ROOT, _
        objSubkey, arrEntryNames, arrValueTypes
      If IsArray(arrEntryNames) Then
        For i = 0 To UBound(arrEntryNames)
          If StrComp(arrEntryNames(i), strQuickTimeBAK, vbTextCompare)=0 Then
            intReturnValue = objRegistry.GetStringValue( _
              HKEY_CLASSES_ROOT, objSubkey, strQuickTimeBAK, strEntryValue)
            If intReturnValue = 0 Then
              intReturnValue = objRegistry.SetStringValue( _
                HKEY_CLASSES_ROOT, objSubkey, "", strEntryValue)
            End If
          End If
        Next
      End If
    End If
  End If
Next

Here's what this script does: first the script enumerates all of the keys under HKEY_CLASSES_ROOT and looks for file extension mappings, then it looks for mappings which have been modified and backed up by QuickTime. When it locates file extensions which have been modified, it copies the value which was backed up into the default location where it belongs.

All-in-all, it's a pretty straight-forward script, but it sucks that I had to write it.