Share This Post

Taking your Remote Desktops MMC to Task

OK, on to the third part of creating a remote desktops MMC console to manage small Windows Virtual PC labs. I’ve already covered the loopback adapter, creating the basic Remote Desktops MMC console for your VM connections, and in this post I’ll dig into what makes the MMC more than just a pretty face to organize some remote desktop connections.

The first thing you probably thought when I said, “MMC console to manage small Windows Virtual PC labs” was…why would I want to manage Virtual PC operations using Virtual PC and then have to flip over to this MMC just to view them? If that’s not the first thing you thought of, then please bear with me and go along for the ride. The reason for using an MMC to manage Windows Virtual PC connections, other than it’s just a lot more organized looking when doing demos, is that it turns out that you can manage those same Windows Virtual PC settings and operations, plus do much, much more—and as a special bonus I’ll even show you how!

First things first though. Whenever I attempt to run a bunch of VMs on one computer, I always seem to end up asking myself the same questions. You know, things like: “do I have enough RAM to actually start this VM successfully without turning my laptop into an abacus?” and “what was that IP address that my loopback adapter is set to?” and “do I have free disk space to create a new VM?” and… on and on ad nauseam. So what’s a guy gotta do to keep a handle on all of these things without minimizing the MMC? I mean, no one at a demo really wants to see my laptop’s cluttered desktop while I maniacally flip around through VM and command prompt windows like a ninnyhammer right?

Creating a Taskpad View

Wouldn’t it be great if the MMC allowed you to put all the applications and commands that you use when operating your lab within easy reach? Oh wait…it does. To make your demo lab administration life easier, just create a taskpad in the MMC containing shortcuts to the programs and applications that you use when poking around in your lab. Things like command prompt, performance monitor, network and sharing center…you get the idea, and if you don’t, here’s a screen shot:

clip_image008[4]

The Command Prompt and Network and Sharing Center are pretty self-explanatory, but I end up using Performance Monitor a lot more than I’d like to admit just because RAM on my laptop can become a pretty hot commodity with some of the setups I try to run. Need proof? Just ask anyone that was at the NEASMSUG meeting when my laptop puketh mid-demo and I had to tap dance for a bit…anyway, I digress. Whenever you have a bunch of VMs running and want to check how your system is handling the strain, just click the Performance Monitor link in your trusty MMC taskpad and there you go:

clip_image010[4]

Sure, sure, easy enough to do those things, but you still have to use standard Windows Virtual PC commands to create new VMs, start them up, and other things like create new virtual hard disks right? Wrong. Check it out:

clip_image012[4]

What’s that? You don’t see commands for individual VMs? This is all pretty useless unless you can start up the VMs, connect/disconnect from them, view/modify individual VM settings, and edit VHDs, that kind of stuff you say? Glad, I took a lot of screen shots. The commands above are at the top-level Remote Desktops node and are pretty general actions, but I’ve also created additional taskpads with individual commands for each node (VM) in my Remote Desktops tree:

clip_image014[4]

If you don’t want to see all the extra commands while using the VM, just click over to the Standard tab:

clip_image016[4]

Pretty handy eh? Here’s how to do it.

Create a New Taskpad View

  1. Start the process either by clicking Action in the top MMC toolbar or the More Actions option in the Actions pane to get at the New Taskpad View… Selecting this option will start the New Taskpad View Wizard.
  2. Click Next on the New Taskpad View Wizard Welcome Page.
  3. On the Taskpad Style page, select the Vertical List option and de-select the Hide Standard tab checkbox. Click Next.
    Note: I usually do hide the Standard tab at the top-level node because it’s fairly redundant, but if you hide the Standard tab on the VM nodes you won’t be able to see your remote desktop session with the VM!
  4. On the Taskpad Reuse page, use the Selected tree item option. This enables you to customize the commands for each specific MMC node (top-level and VMs).
  5. Give your taskpad view a name and optional description on the Name and Description page. This name is what is shown at the bottom of the MMC when you select the VM.
  6. Leave the Add new tasks to this taskpad after the wizard closes option selected and click Finish to close the wizard.

Taskpad view finished, now you need to add some tasks to it! There are three different types of tasks that you can add to your taskpad view: menu commands, shell commands, and navigation.

clip_image018[4]

In this case, menu commands refer to the basic remote desktops MMC commands, shell commands are how you run specific applications, and navigation commands take you to some favorite place in the MMC. With a console this small, navigation commands are just overkill, and while menu commands are useful, it’s really the shell commands that make it all worthwhile.

Add Menu Tasks to the Taskpad View

  1. As usual, click Next on the The New Task Wizard Welcome Page (the New Task Wizard opens when you exit the New Taskpad View Wizard).
  2. Select the Menu command option on the Command Type page.
  3. Select the Node in the tree option from the Command source drop-down list.
  4. Ensure that the correct tree node is selected (the VM name you’re creating the custom taskpad view for) and then choose from the available commands under Available commands: and then click Next. The only standard menu commands I generally ever use are the Connect and Disconnect commands. By the way if you use those two commands, you’ll only see the Connect command when you’re disconnected and vice versa.
  5. On the Name and Description page, give your task a name and optional description and click Next.
  6. Give the task an icon on the Task Icon page by either choosing from the default MMC icon options or selecting the Custom icon command to browse to a different icon.
  7. Next you’ll need to add some custom shell command tasks so ensure the When I click Finish, run this wizard again checkbox is checked and click Finish. If you want to add another command later, you’ll need to just edit the taskpad view to add it.

 

Add Shell Commands to the Taskpad View

  1. Click Next on the New Task Wizard Welcome Page.
  2. Select the Shell command option on the Command Type page.
  3. On the Command Line page, click the Browse button next to the Command input box and browse to the applicable .exe. Next, in the Parameters textbox, enter any command line switches or necessary file paths and click Next(example command and parameters below).
  4. On the Name and Description page, give your task a name and optional description and click Next.
  5. Give the task an icon on the Task Icon page by either choosing from the default MMC icon options or selecting the Custom icon command to browse to a different icon. You’ll have to click Browse and then Browse again to actually browse for anything. I usually select the .exe itself and grab an icon from there.
  6. If you want to add another command, then ensure the When I click Finish, run this wizard again checkbox is checked and click Finish. If you want to add another command later, all you have to do is right-click the node and select Edit Taskpad View… to add it.

Shell Command Information

So now you know how to do it, here are the juicy bits you’ve been waiting on—the actual shell commands and parameters that I used for my taskpad views. I think you can figure the menu commands out on your own, so here are the shell commands that I use:

Top-level remote desktops node

Command or Application Command Line Parameters
Command Prompt C:\Windows\System32\cmd.exe <none>
Performance Monitor (More Info) C:\Windows\System32\perfmon.exe /res
Network and Sharing Center (More Info) C:\Windows\System32\control.exe /name Microsoft.NetworkAndSharingCenter
Virtual PC C:\Windows\System32\VMWindow.exe <none>
New Virtual Machine Wizard C:\Windows\System32\VPCWizard.exe –type VM
New Virtual Hard Disk Wizard C:\Windows\System32\VPCWizard.exe –type VHD

For each VM node

Command or Application Command Line Parameters
Start Virtual Machine (More Info) C:\Windows\System32\VMWindow.exe -file “<full path to .vmc>
Virtual Machine Settings C:\Windows\System32\VPCSettings.exe -file “<full path to .vmc>
New Virtual Hard Disk Wizard C:\Windows\System32\VPCWizard.exe -type EVHD -filepath “<full path to .vhd>

Here’s an example of what I mean by <full path to .vmc>. My “Start Virtual Machine” parameter for my DC VM looks like this:
-file “C:\Users\jeffgilb\Virtual Machines\MDOPDEMO\MDOPDEMO_DC.vmc”

And that’s all there is to it. Now that you know how I set up my lab remote desktops MMC console, I can eventually get to showing you what I do with it!

 

Share This Post

MDOP Content Publishing Manager @Microsoft. This posting is provided 'as is' with no warranties, and confers no rights :-) Follow me and my team on Twitter and FaceBook! www.twitter.com/jeffgilb www.twitter.com/mdopix www.facebook.com/mdopix

Leave a Reply