Start here

Keep it in Your Pocket…

Here’s a tip for travelers going through Airport Security: you are going  babe asked to empty your pockets … Everything, including wallet and car keys and passport. It all has to go in one of those plastic bins. Lots of coins? Put em in da bin. Matches? Bin em.

You also have to take off your jacket.

If you want to make your life a lot easier (not to mention faster for the people in line behind you): As you make your way to the front of the line, transfer everything from your pants pockets to the pockets of your jacket. That way when you get through you can quickly grab the jacket and go… And transfer everything back at your leisure.  It’s faster and easier for everyone involved.

Don’t have a jacket? Fine… Use a plastic (or paper) bag to achieve the same results.

Good luck and fly safe!

Drive Space Nightmares with Hyper-V

As you know, I have been using Hyper-V since before it was released, and am a huge proponent of the solution (although I am also a huge proponent of VMware).  The fact that Hyper-V is also included in Windows 10 makes my life easier – I use it on my Windows Client for several reasons.  In fact, at present I have four virtual machines on my Surface Pro 4, two of which I use on a very regular basis.

So when I notice from time to time that my C: drive is running out of space, I know immediately what the culprit is… my dynamically expanding drives have, in a word, expanded.


Not good… I need more than 3.18GB free space to be comfortable.  However when I look at the drives, I know that none of them are overly taxed… the VM I use most often (I use it to download files that I am not sure are safe so that I can ‘Sandbox’ them) is a dynamically expanding virtual disk that is as much as 80GB, but only 31GB is used.


That should be very comfortable… and yet there we see the usage.


A 53GB vhdx file for about 31GB of information.  It is easily explained of course… With a dynamically-expanding virtual hard disk the file gets bigger when you write to it, but when you then delete files and clean it up the file does not get smaller… or at least not automatically.  So what you have to do is this:

  • Shut down the virtual machine.  You cannot edit the disk while the VM is running.
  • In the Action Pane of Hyper-V Manager Select Edit Disk…
  • Click Next on the Before you Begin page.
  • In the Locate Virtual Hard Disk page navigate to the ‘offending’ vhdx file then click Next.
  • On the Choose Action page click the Compact radio and click Next.
  • On the Complete the Edit the Virtual Disk Wizard click Finish.
  • At this point the process will begin, and when it is done you should be good to go.


    Yes, I know… you can do everything you want in the wizard… but let’s try a quick PowerShell cmdlet anyways Smile

    Optimize-VHD -Path C:\Hyper-V\Sandbox-PC\Sandbox-PC.vhdx -ComputerName MDG-SP4

    It only took a couple of minutes, and here are the results:


    Almost 10GB freed up.  That makes life so much more comfortable.  Of course, since I use that virtual PC for these purposes a lot, I will want to keep an eye out for this creep and perform this script on a regular basis.  Hence why you might want to use PowerShell over the GUI.

    The (Solar) WInds of Change…

    I used to love System Center.  Simply put, if you were a systems administrator / engineer / architect it did… everything.  It monitors, automates, protects, virtualizes, scripts, patches, deploys, integrates… everything in your environment.  It is, in a word, comprehensive.

    It is also big.  There was a time (prior to System Center 2012) when you could pick and choose the components you wanted to buy – if you only wanted monitoring then all you bought was System Center Operations Manager (SCOM).  If all you wanted was the virtualization management than all you bought was System Center Virtual Machine Manager (SCVMM).

    When Microsoft announced in 2012 that all of the pieces would now be sold as a single package I thought it was a good decision for Microsoft, but not necessarily a good one for the customer.  Certainly it would increase their market share for components such as System Center Data Protection Manager (DPM) – which was probably from a 0.1% market share to something somewhat higher – but that was not what the customers wanted.  I want a reasonably simple monitoring tool that could be deployed (and purchased) independent of everything else; I could then use the backup tool that I want, the deployment tools that I want, the anti-malware tools that I want.

    So when I got an e-mail from representative of SolarWinds asking if I would try out their product (Server & Application Monitor) I decided to give it a try.  After all, I knew SolarWinds by reputation, and due to the non-invasive nature of the tool I could easily deploy it along side my existing SCOM environment and monitor the same servers without risk.

    The Good

    The first thing I noticed about SolarWinds was the ease with which it installed.  Compared to SCOM (which even to simply install it was a bit of an ordeal (See article) it was a simple install – it did not take long, and was pretty straight-forward.

    While the terminology was a little different that SCOM it was easy to understand the differences, and I suspect for a junior sys admin would be pretty easy to understand.  At the top of the Main Settings & Administration page the first option is Discovery Central, which allows SAM to search your entire environment for servers.

    The Alerts & Reports option helps you set up your mail account that sends alert & notification e-mails to the admins based on the current environment and issues.  It is just as easy to send these e-mails to individuals as to groups, and configuring what is sent to whom is relatively simple.

    Fortunately SAM is completely Active Directory integrated, so I can just authorize my Domain Admins and other groups to access what data they need in SAM, and to grant individuals and groups granular permissions to see and/or change what they are allowed to.

    The dashboard is easy to read and understand, as well as customize.  I want my graphs to be at the top, and I want to know anything critical up front.  As with any good monitoring tool, Green=Good, Red=Bad.  All of my alerts are hyper-linked so if I see something Red I can just click and go right to it.


    Actions, not words… If this happens then do that is a requirement in this day and age… Of course, if my monitoring tool can notify me that a service is down it is great… but how much better that it can bring it back up for me at the same time.  That can be as simple or complicated as you need, but the fact that certain conditions can trigger actions and not just alerts is key for me.  This was a simple task in SAM.

    Of course it is important to realize that some system admins will not be as comfortable learning a tool this powerful on their own, and the fact that SolarWinds offers scores of free training resources is key.  The Customer Portal has more than just videos; they offer live classes and expert sessions with their engineers and experts which you can attend live or watch later.  They have on-demand recordings of everything you might want to learn.  Their Virtual Classroom is an amazing resource for customers who need help – whether that is learning a simple tidbit in a few minutes, or going from zero to hero over the course of a few days.

    My initial impression of SolarWinds SAM was that it would be a great tool for smaller businesses; that impression changed drastically reasonably quickly.  Yes, I installed SAM in one of my 100 server environments in Q3 2015, and it performed brilliantly.  However as I learned about it and got to know the product I was convinced it was definitely Enterprise-Class, and by the end Q1 2016 I also had it installed at a client with 19,000 users and thousands of servers.

    The Bad and the Ugly…

    There is really only one aspect of SolarWinds that irked me, and that is the licensing model.  With some monitoring tools if you have 200 servers you know you need 200 licenses.  With SolarWinds a single server may require 100 licenses, depending on what you are monitoring.  That is not to say that SAM will be more expensive than other tools… it is just a different way of looking at the calculations that I needed to wrap my head around.  A small thing to be sure, but it is certainly an issue for me.


    I was offered a trial period with SAM to try it out in my environment, and when that trial period ended I decided to renew.  SolarWinds has a great tool here, but more important to me is the support that I have been able to get from the company, which has extended beyond simple ‘how do I…’ questions.  Their engineers have gotten on-line with me to help solve a couple of custom issues that arose, and they were happy to do it.

    The product offering is a home run for system admins who want a monitoring and reporting tool and do not want to break the bank… or change out all of their other management tools to drink Microsoft’s Kool-Aid.

    Small environment or large, SolarWinds is worth it.  Contact them at for more information, and a demo of their offerings!

    Rules: Why are they Client-Side only?

    For several of my clients I use a great monitoring tool called SolarWinds Server & Application Monitor (SAM).  It does a spectacular job of monitoring my environments and letting me know when there are issues.  What I like to do is set up the mail alerts to let me know everything that is going on in my customers’ environments.

    Of course, there are different levels of importance to the messages.  Yes, it is important for me to know when servers are using more memory than usual, but when a server is DOWN I want to know immediately.  No… I need to know immediately.

    So what I do is I set up a couple of e-mail rules.  The first (rather, the second) rule essentially says that ‘…any e-mail from my monitoring e-mail account is filtered to a specific folder.’  This is great… I can see everything that is going on in one place.

    However because I usually see my e-mail on my smartphone this rule would necessarily only let me know things are happening when I actually go into my e-mail client and navigate to the Customer SolarWinds folder.  Not very efficient.

    The way I get around this for critical issues (e.g.: SERVER DOWN) is simple: I created another e-mail rule in my Outlook that states ‘…if the e-mail is received from my monitoring e-mail account has the words is Down in it then a) Leave it in my Inbox and b) mark it as HIGH IMPORTANCE.

    Great, it’s done, right?  Wrong… Whether or not I get the warning when I create the rule, I notice that following the name of the rule the words client-only are annoyingly prominent. 


    In other words, as long as Outlook is running I am fine, but if I shut down my laptop the rule will not apply.

    The issue is simple… there are certain rule settings that are applied in our mail server, and some that are not.  For example, the ‘mark it as high importance’  is not done by Exchange but by Outlook.

    If I clear that one rule setting, my rule will apply at the mail server level, and not at the client level.


    This means that I will receive my notifications the way I want, whether my computer is on or not… and that is how my customers can rest assured they are getting the monitoring they need to be productive.

    Smoke ‘Em While You Got ‘Em!

    Okay, as many of you know I am stuck at home with pneumonia, so I am not smoking anything this week.  With that said, many of you know that I am a cigar lover, and have over the past couple of years accumulated a decent collection of them.

    The thing is, whenever I speak to someone about cigars (which seems to happen more often than I would have thought) I seem to have a lot to say, and a lot of people who enjoy cigars do not know a lot about them.  Those people (especially the ones who enjoy but do not really know) really appreciate learning from me, and I have found myself reading and ‘studying’ to learn more about them.

    My question is this: Would you, my readers, be interested in reading a series of articles on the subject?  Routines, brands, reviews, opinions?  Please let me know… It’s something I have been swirling around in my mind for a while.


    Saying Goodbye to My Best Friend

    I have sat down several times over the past fortnight to write a goodbye to my best friend, but have not found the words.  Jacob-pup was the best friend a man can have.  He was not always well behaved, but he was fiercely loyal to me and to his family.

    Jacob joined our home when he was only seven weeks old, and he stole my heart that day.  It was funny… nobody thought I could be soft and kind.  A friend of mine visited from Montreal and after spending an evening with us at the house he told me he came up with a new equation:


    That stuck with me… I’ve spent nearly the last decade trying to be a nicer Mitch, and it has been a tough road… I don’t know how much of my success can be attributed to Jacob (and Bailey and Gingit and Gunter), but I think I am a much better person today than I was in 2006.

    My initial plan to get a puppy was really as a way for me to bond with Aaron.  I was dating his mother and things were getting pretty serious between us, and I thought that if I got a puppy I could share it with Aaron… the dog would live with them during the week when I was traveling and with me at the condo on the week-ends when I was home.  I guess the intent was to adopt a means to an end. 

    The week before the Saturday when we adopted him I was in Omaha teaching for Microsoft, and during my down time I would skim Craig’s List and Kijiji for puppies.  I did not know then that adopting from the Humane Society was the more humane way, but that is a different story.  Theresa and I exchanged several ads for puppies throughout the week, and we narrowed it down to three that we would go to see on Saturday.

    Saturday morning I drove to Oakville to collect them, and realized I had not written down the addresses of any of the dogs we were going to see.  I went down to her computer room and logged onto Craig’s List.  The first ad I clicked by accident because I had bookmarked all three that we were going to see… and I saw Jacob.  Of course, Jacob wasn’t his name yet… He was just the oldest of a litter that was birthed on August 31 (which made him about seven weeks old).  He was a Boston Terrier/Beagle cross, and he was the cutest ball of fur I had ever seen.  ‘That’s my puppy!’ 

    Theresa and Aaron fell in love too, but being the practical woman Theresa is we decided to go look at one other puppy first – a Jack Russell/Pug cross if I remember correctly.  It didn’t matter, we would go look but I knew that our last stop would be in Hamilton where Jacob was.

    Jacob ready to blow out the candle

    Jacob was definitely a family dog… but from the very beginning it was clear that he was my buddy.  When I was in town he was attached to me… When I was on the road he missed me terribly.  There were a couple of longer trips when I would get an e-mail telling me to call home because Jacob wouldn’t stop crying.  As soon as he heard my voice he would calm down and be happy again.  Theresa would bring Jacob to the airport to pick me up, and he would be so happy he would go nuts… until he was in my arms, and then he would just snuggle in.  That is where he learned his favourite trick… Whenever we said Puppy Power he would start licking my face.  He did that right up until the end… when I went to visit him in the hospital.

    Mitch & Jacob 4

    I came home from Asia sick as a dog, and I needed to essentially sequester myself in the bathroom. Jacob would not move from his spot outside where he sat vigil crying for me.

    From the very beginning, Jacob seemed to take it as his primary job to lick my legs dry after I got out of the shower.  He did it as a little puppy… he did it last week.  If he was in the house (and later the condo) when I showered, he was ready to fulfill his duties.  My legs would not leave the bathroom wet if he had anything to say about it!

    Because we were always cognizant that a new puppy coming into the house would disturb the balance, we took Bailey (our Wheaton terrier) to Hamilton with us to meet Jacob before we brought him home, and Bailey approved.  The two would later fight for dominance, but they loved each other from the beginning.  When we said goodbye to Bailey a few years ago Jacob was very sad.

    Jacob 6

    Just like we had brought Bailey to meet Jacob, six months later we took Jacob to the same house in Hamilton to meet Gingit.  He approved of her right away, and they became lifelong friends… but it did not take us a month to realize who was dominant in that relationship.  Gingit never backed down from any dog, he always stood his ground; but Gingit could walk all over him… and did from the very beginning.  He loved her, and just like we took Jacob to meet her, I took Gingit with me to the hospital to say goodbye to Jacob.  She was very sad… and still is, and I suspect she will be for quite some time.

    Jacob & Gingit 2Jacob was not always the best behaved dog… but he was always my best friend.  He was always happy to be as active or lazy as I wanted.  When I took up jogging a few years ago he was always excited to see me put my runners on, and would go nuts because he knew where we were going.  He even learned to behave on our runs… and it didn’t matter if we ran 2km or 15km, he was just as happy.  The only difference would be how much water he would drink when we got home… and how long he would nap.

    The outpouring of support from friends far and wide has been amazing, and I want to thank every one of you who reached out.  Some have been dog lovers who understand exactly what I am feeling; others are people who may not understand why, but know nonetheless that a dog is a member of your family, not a possession.

    Aaron & Jacob (Couch) 6

    I have spent the last two weeks telling people stories about my beloved Jacob, and yesterday for the first time I was able to tell some of those stories with a smile and no tears.  I have looked at all of the pictures and videos, many of them that much harder to watch because they showed me happily married to Theresa, reminded me how young Aaron was (and how much he has grown!), reminded me how much I still miss Bailey and what life was like before all of the changes. 

    Yesterday evening my friend Dimitrios came over for a chat.  We were sitting at my kitchen table talking about this and that, but as we chatted I saw a picture pop up on my screen saver… It was one taken of Jacob the day he came into our lives.  Dimitrios always joked that whenever Jacob would see him he would greet him by jumping at his groin.  Of course

     Jacob3this was an exaggeration, Jacob was just jumping up looking for affection… but it reminded me of the not-so-well-behaved dog who Jacob was perceived to be.  Like many of my friends, Dimitrios met Jacob after his second birthday… a grown dog.  I showed him the picture that displayed on my screen, and his face changed in a heartbeat.  ‘Mitch, now I know why you fell in love with that dog.  What a gorgeous puppy he was.  I wish I had met him at that young age as well… I would probably have fallen in love the way that you did.

    That’s what it was… Pure love.  But as with my sons, Jacob did not remain small.  I loved him every day of his life, and even when he misbehaved (also like my sons) that love never diminished.  My period of mourning Jacob is over… but I will remember him forever.

    Goodbye my friend.

    Jacob Face

    Since When…?

    Those of us who have been in the IT industry for a while remember the heady days of never having to reboot a server… otherwise known as ‘The days before Windows Server.’  Those days are long gone, and even non-Windows servers need to be patched and restarted.

    But how do you know when it last happened?  If you have a proper management and monitoring infrastructure then you can simply pull up a report… but many smaller companies do not have that, and even in larger environments you may want to figure out up-time without having to go through the entire rigmarole of pulling up your reports. So here it is:

    1. Open a Command Prompt
    2. Type in net statistics server

    There will be a line that says Statistics since m/dd/yyyy… That is when your server last rebooted.

    If you want to shorten it, you can also just type Net Stats SRV.  It provides the same results.


    Incidentally, while the command specifically states Server, it works for workstations too.

    …And now you know.


    %d bloggers like this: