ROBOCOPY is an excellent command line utility that Microsoft began bundling with Windows Vista, and has since been included in Windows 7 and Server 2008 (R2 as well). It makes it incredibly simple to mirror a directory tree, and is great for batch file backups. There are a few quirks with it, however.

When using the /MIR switch, ROBOCOPY overwrites the destination path with everything in the source path. To exclude folders, you’re instructed to use the /XD switch. Below is a sample with the correct syntax:

robocopy d:\ n:\Data /MIR /Z /A-:R /R:1 /W:1 /LOG:n:\logs\data.log /XD d:\vms d:\wsus “d:\System Volume Information” d:\tmpbak d:\installs d:\RECYCLER

To break this down, we start with the ROBOCOPY command itself. Following that is the Source Path (D:) and then the Destination Path (N:Data). Next is the /MIR switch that tells ROBOCOPY to mirror the existing directory structure and copy everything. The /Z switch sets the job in Restartable Mode, and /A-:R removes any read-only attributes. /R:1 and /W:1 tell ROBOCOPY to Retry copying the file once if it encounters an error, and Wait one second between retries (I’ve set it this low as the backup runs late at night, as if someone has left a file open it doesn’t matter how many retries are attempted).

Following this, the /LOG switch dumps the full output of the copy job to n:\logs\data.log. This includes information on the number of files copied, directories excluded, etc….

Finally, we get to the /XD switch. Note that this is the last included switch – although you can technically have it where ever you want in the command, it’s cleaner, and less error-prone if you make it the last switch.

To exclude multiple directories, simply list them with spaces in between. If the path contains spaces (in the example above, I’ve excluded System Volume Information), wrap it in double-quotes (“). The most important thing, though, is DO NOT EVER, *EVER* include a trailing “\” in excluded paths!

For some reason, ROBOCOPY parses the trailing “\” in an odd way. If included in the command, the log will list all of the excluded paths, however it will still copy the data. It won’t provide any error messages or other output. For example, if you used the following command:

robocopy d: n:\Data /MIR /Z /A-:R /R:1 /W:1 /LOG:n:logsdata.log /XD d:\vms d:\wsus “d:\System Volume Information\” d:\tmpbak d:\installs d:\RECYCLER

Because there is a trailing \ on “d:\System Volume Information\”, the log will report that the excluded directories are d:\vms d:\wsus d:\System Volume Information d:\tmpbak d:\installs d:\RECYCLER, however it will still attempt to copy all of them.

However, if you simply omit the trailing \, ROBOCOPY will correctly parse the list of paths and will ignore them.

One of the things I loved about my old iPhone was the built-in Exchange sync. I could sync my email, my calendar, and even my contacts (although I only did the first two). Life was good.

After moving to the Android platform, however, I was disappointed to discover that although an Exchange email app was included, it wouldn’t allow you to directly sync an Exchanged-based calendar. A little searching provided a way, though.

  1. Make sure you’re running Office 2003 or 2007 – if you have the Office 2010 Beta installed, it won’t work. If you still want to sync, uninstall 2010 and install 2003 or 2007, then follow the Special Note at the end of the post.
  2. Download the Google Calendar Sync tool.
  3. Install, follow on-screen instructions.
  4. ???
  5. Profit!

Now it should be noted that I did this, and at first it didn’t work as I was using Office 2010 Beta 2. Even after uninstalling it and installing Office 2007, I still couldn’t sync and received this error:

Could not connect to Microsoft Outlook: error -2147319779

A little searching turned up this link, which contained a hint at the solution. When you install Office 2010, it creates the following registry key:

HKEY_CLASSES_ROOTTypeLib’{00062FFF-0000-0000-C000-000000000046}9.4

In the same key, there should also be a ’9.3′ entry. With Office 2010 uninstalled, you can safely remove the ’9.4′ key. Now, restart Google Calendar Sync, and everything should work just fine.

One major caveat with this solution is that your computer has to be up-and-running for the calendar to actually synchronize – fortunately, this isn’t much of a problem if you’re the only one updating your calendar. With any luck, though, Google will eventually support full Exchange syncing with Android.

Edit: I probably should point out that this is for ROMs without official Exchange support (such as Cyanogenmod, which syncs Exchange mail, but not the calendar). Some official ROMs, like HTC’s, actually include Exchange calendar syncing out-of-box.

Update: There’s an APK floating around that gives you the Exchange (Corporate) Calendar. I won’t link it here, but a Google search for “CorpCal.apk” should give you what you need.

Further Update: Froyo will feature native Exchange Calendar sync, so CorpCal will be rendered moot when the update finally hits.

Even Further Update: Froyo, which has been released OTA for the Nexus One, does in fact feature native Calendar syncing with Exchange. This article is handy if you’re stuck on an older ROM, but if not, just use the official method.

I’m running WSUS 3.0 SP2, and it really helps to not only track the update status of my machines, but also because we’re only on a DSL connection, and the update caching is a lifesaver. My main complaint with WSUS, though, is the update filtering.

In WSUS, you can tell it what products you want to get updates for, what classification (driver, critical update, service pack, etc…), and even whether to auto-approve them or not, but for some unknown reason, WSUS doesn’t let you specify the damn architecture that you want.

Our organization doesn’t have any Intanium hardware – why doesn’t WSUS let me specifically block that architecture? I only want x86 and x86_64 updates. Is that so hard? Instead, my auto-approve rules happily let those updates download, and then sit and take up space until I run the cleanup wizard.

Come on, Microsoft. Think this one through, please? Maybe introduce it in the 4.0 update?

I’ll just sum this one up, as it’s pretty boring, but there are some important details.

1) Computer account for a Domain Controller/Global Catalogue/Exchange server (virtualized in Hyper-V) becomes corrupt, including the underlying metadata.

2) That server cannot ‘see’ the domain, with numerous errors from both Exchange and the Event Viewer stating that it cannot replicate due to DNS problems.

3) Rolling the .vhd back to a previous week results in the same issue.

4) When attempting to demote/dejoin/join/promote the server from/to the domain, the computer account is deleted, but not the metadata, and the server cannot be joined to the domain again.

Solution? Backup the Mailbox Databases from the First and Second Storage Groups, as well as their transaction logs, then create a new .vhd, reinstall the OS, join it to the domain, add the newly created computer account to the ‘Exchange Server’ and ‘Exchange Install Domain Servers’ groups, install Exchange using “setup.com /m:recoverserver” (make sure that you’ve manually installed the prerequisites, such as IIS+IIS 6 Management Console, etc… before doing this), then copy the Mailbox databases back to the default install location. After that, correct the permissions on the Mailbox folder if needed (simply inherit the permissions from the parent object) and reboot the server. When it finishes booting, open the Exchange Management Console and mount the Storage Groups (note: you may have to open the properties on both groups and uncheck the option that prevents Exchange from automatically mounting the databases on boot).

Simple, right?

Repair Complete

Yesterday afternoon, one day short of the two-week mark since I sent my console for repair, Purolator dropped off a box containing a replacement Xbox 360, a faceplate (although the Xbox I sent in didn’t have one – I’d been using an after-market one that I’d removed prior to shipping), and a one-month free Xbox LIVE gold subscription card, which makes up for the time I couldn’t play when the console was off for repair. Also included was a guide on how to restore the licenses for content purchased via the Marketplace, but that really doesn’t matter in my case as I’m the only one who uses my console anyways, so my account is always logged in.

I really have to say that I was pleasantly surprised by all of this. There are a lot of horror stories out there about people having nothing but problems with the repair process, and I was preparing for the worst, partly because of my experience with Zune support. All in all, this was probably the easiest RMA I’ve ever dealt with.

Then again, I really don’t want to test my luck and repeat it again anytime soon….

I recently purchased an iMac at work for a project that I was working on. The first thing I did was use Bootcamp so I could dual-boot with Windows 7, and for the most part never touched OS X. Then I ended up with a copy of Office 2008, and figured, “Let’s see what all the fuss is about”. I wiped my Windows partition, installed Office 2008, and told myself I’d try to go a full month with just OS X.

It’s been just over two weeks, and I’m finished with it. I’m going to install Vista on a VirtualBox VM and load up Office 2007.

The deal breaker? Entourage 2008. Why? Well, lots of reasons, actually.

To start off with, unless you install the Web Services Edition Update, say ‘bye-bye!’ to things like your To Do list and easy calendar syncing. Do you use Distributions Lists that are stored on your Exchange Server? Too bad! Entourage can’t sync them, so you’ll have to recreate them all by hand on your local system! Want a different signature for your email replies? Tough luck!

Aside from the lack of support for basic functions that Outlook has had for ages, there are also a plethora of usability issues. Randomly, Entourage will decide that dragging-and-dropping isn’t hip anymore and won’t let me move emails around unless I reboot the computer. A simple close/reopen isn’t good enough it seems. If I try to add an appointment to my Calender on the Exchange Server, there’s a 50/50 chance of it actually showing up after saving it.

The MythBusters may have proved that you can polish shit, but in the end, it’s still shit. Hopefully the announced Outlook 2010 for Mac will be a near-clone of the Windows version and the Mac BU at Microsoft burns the Entourage source code at the release party.

You can polish shit...

During my time at Zune support, there was one piece of advice I always gave to my customers who had to send their devices in.

Before you send your device in for repair, please take a few pictures of it with a digital camera, if possible. This way, if the courier accidentally damages the device while in transit, you can easily prove the device was fine when you shipped it. Also, make sure the serial number is visible in at least one picture.

And I wasn’t joking. I can’t go in to specifics due to the contract I signed, however having pictures taken just before shipping greatly increased the chance of a customer getting a replacement device in the event of a disagreement.

As such, it makes sense to follow the same advice when dealing with another segment of Microsoft’s Entertainment division. Take pictures, and high quality ones, before sending in your device! Have them ready, because if you get a call saying your device was received damaged and won’t be repaired, immediately ask to speak to a Tier 2 agent and state that you have pictures proving you didn’t damage the device.

Make sure to remove the Hard Drive and any customer decals/face plates, too. You won’t be getting the same console back, and they won’t return anything you put in the box. This goes for cables, too.

Also important is how to pack the device. Don’t skimp on packing material. Go to a UPS Store, Staples, where ever, and get an appropriately sized box and some bubble wrap. Securely wrap the console in the bubble wrap, and then place it in the box. If you have any, place foam packing material in the larger voids in the box to prevent it from sliding around during shipping. This will decrease the chances of the console being damaged during shipping.

Finally, make sure to keep a copy of the tracking number. This will let you follow the devices progress as it makes its way to the repair depot.

If you’ve read this far, look after the break for pictures of my console, ready for shipping.

More »

I’ve had my Xbox 360 for about two years now. I got it several months prior to the release of Halo 3, which was the reason I got it in the first place. I’ve read the blog posts, and see the forum trolls scream in anger and frustration as consoles have turned in to expensive paperweights, and all the while my little 360 has chugged away without a complaint. Until tonight, that is.

Lately I’ve been using the 360 more than usual. I discovered the 1v100 beta, which my wife and I play together, and I’ve been replaying the Penny Arcade games, both of which are amazingly well written and very funny. I even signed up for the preview of the new update (which went live to everyone the other day) and decked out my avatar with a steam punk outfit and an RC Warthog.

This evening, I decided I’d play some more of the first Penny Arcade game, ‘On the Rain Slick Precipice of Darkness – Episode 1′. I grabbed the controller and hit the guide button as I had so many times before, and listened for the familiar whir of the fans. When I switched my monitor to the VGA input, though, blackness greeted me.  Glancing at the console, I swore quite loudly.

>Blink< >Blink< >Blink<

Three red rings flashed before me, and I knew my console’s time was up.

First stop, xbox.com/support for a warranty check. Status? Out-of-warranty. But wait! There’s a three-year extension for red-ring issues! Following the instructions, I clicked the button to create a repair, and was prompted with a form to fill out. However, there was one small but glaring problem. Please enter a U.S. address. The country box, pre-selected with U.S.A., was grayed out. Unable to continue, I called the Xbox support number (1-800-4MY-XBOX, or 1-800-469-9269 for the text-to-number challenged).

On the phone, I was greeted with an IVR system that repeatedly instructed me to use the website for the repair. Unfortunately, voice recognition has only come so far, and my attempts to tell it to sod off were not understood. Instead, after choosing the repair options and being told to go to the website, and then not being understood when I repeatedly shouted AGENT! in to the phone, I hammered 2 and eventually got through to a person.

The agent was very nice and understanding, did not ask for repeat information, and quickly determined that the Xbox was in need of repair. After confirming my information (my email address was an old one I no longer use, and therefore needed to be updated), he created the repair order, gave me my Service Request number, and informed me I’d receive a pre-paid shipping label in my email within two-to-three hours.

So now the waiting begins. Will I have a trouble-free experience? Will everything work out in the end? Myself, I’m not so sure. You see, I spent the better (and worse) part of two-and-a-half years working for Microsoft Product Support for Windows XP, Vista, and the Zune MP3 player. I know Microsoft’s tools and processes, and I know things about their repair centres that I don’t dare post for fear of legal retribution. Suffice to say, I expect to have to go through several phone calls and quite possibly a few escalations before this gets resolved.

But things may work out. You never know.

Edit: Part 2 is now live.

A new post on the Windows Team Blog, followed by an announcement on the private Microsoft Connect newsgroups for TBT’s, confirms that Technical Beta Testers will indeed be getting a free copy of Windows 7 – there are even a limited number of boxed copies that testers can fight each other for opt in to try to get, as opposed to the strict download-only policy that Vista testers were presented with.

While some people still aren’t happy with the ‘new’ beta process, this will go a long way with a lot of testers. Cheers, Microsoft!

[Credit goes to Mary-Jo Foley for alerting the blogosphere to this]

Windows 7 has officially hit RTM status, and the finial build is apparently 7600.16385.090713-1255, which leaked in both x86 and x64 flavours just after is was compiled. The linked article includes a ‘thanks’ (“We also have had a great group of beta testers who have dedicated a great deal of their time to testing Windows 7 too. A special thank you goes out to all the people who helped test Windows 7“) – although it’s unclear as to whether they’re thanking the Test Pilots, or the Technical Beta Tests that they snubbed in this post:

For Beta Testers & Enthusiasts:

A special thank you to our beta testers is needed for their time and effort in helping make Windows 7 a solid release. The special pre-order offer we did offering Windows 7 Home Premium and Windows 7 Professional at almost 50% discount was done with our beta testers in mind. And many of you jumped at the chance to take advantage of this deal – thank you!

I know there have been some rumors going around about a “family pack” for Windows 7. We have heard a lot of feedback from beta testers and enthusiasts over the last 3 years that we need a better solution for homes with multiple PCs. I’m happy to confirm that we will indeed be offering a family pack of Windows 7 Home Premium (in select markets) which will allow installation on up to 3 PCs. As I’ve said before, stay tuned to our blog for more information on this and any other potential offers.

Beta testers will not automatically receive a free copy of Windows 7. Many beta testers are already subscribers to TechNet; those of you who fit that description will be able to download Windows 7 RTM shortly after RTM happens for free as part of your subscription.

However, if you don’t have TechNet and are waiting for GA (to either purchase Windows 7 or wait for your pre-order to arrive) you can continue to use the RC. In fact, you can continue to use it until it expires on June 1st, 2010 (expiration actually starts March 1, 2010, this is when the reboots start).

While our special pre-order offer with the near 50% has ended, Windows 7 can still be pre-ordered today from the various online retailers (including the Microsoft Store).

We are also going to release an evaluation of Windows 7 Professional for IT Professionals via the Springboard Series shortly after RTM. Over 40% of beta testers are IT Professionals and this will allow them to quickly access the RTM code and plan for deployments.

And in the earlier post that grouped Tech Beta Testers in with ‘everyone else’.

So basically, “nuts to you, TBT’s”.