Geek of All Trades: Meter your zombie applications

Clearing zombie applications from your environment isn’t unlike what you see heroes doing in the movies, but you need the right tools.

Greg Shields

Your average zombie doesn’t die easily. Getting rid of them requires careful dismemberment. These undead inconveniences have a tendency to replicate as well. Turn your back for barely a minute and you’ll find more have appeared. You’re sure to find them in groups, huddled away from the casual observer’s immediate view.

Lately it seems the world has developed this odd fascination with zombies. They eat brains, and lots of them. Consequently, they burn up a lot of time for a lot of people. Most well-adjusted humans want them nowhere near, even as a peculiar few find them to be fascinating specimens. It’s usually the well-meaning but misunderstood zombie aficionado whose actions create work for others in the ensuing conflict.

You might think this refers to some undead horde of flesh-eating post-humans. It doesn’t. While those zombies are pretty bad, they’re the stuff of fantasy. I’m referring to applications—zombie applications. These zombies are real, and they lurk in the darkest corners of your Windows desktop environment. You know the ones I’m talking about.

Zombie applications must die

Every environment suffers a few applications that have outlived their usefulness. Some organizations agonize under the weight of dozens, or even hundreds of them. One city government couldn’t pry an ancient Dewey Decimal application out of their library department’s cold, dead fingers. A defense contractor once paid good money in an attempt to legislate a long-past-supported Failure Mode and Effects Analysis tool out of the hands of a determined engineer.

Those are two examples of aged software in limited use that just won’t die. Zombie applications exist in all forms, though. Other common specimens are Microsoft Project and Microsoft Visio. The case here isn’t so much an application long past its prime, but one whose actual use in comparison with its perceived need are radically misaligned.

The problem is one of licensing. While many Windows environments enjoy some form of volume license for common Office applications such as Word, Excel and PowerPoint, that special licensing doesn’t often extend to the less-common ones like Visio and Project.

Project and Visio are excellent examples of the infectious nature of zombie applications. Once a single copy appears within a cube farm, it isn’t long before everyone’s demanding it. Those licenses get expensive, particularly when they aren’t actually being used.

While similar in many ways, zombies and zombie applications differ in the justification for their removal. Zombie applications require greater finesse. Their users are often your environment’s most-vocal problem children. After all, they’ve managed to keep using their half-dead applications because they’re vocal about them. You can’t simply remove an app like that without irrefutable evidence that the zombie isn’t being used. Going uninstall commando on zombie applications is rarely a lasting solution.

The best cure for a zombie application infestation is data, and specifically metering data. Such data clearly tells the tale of an application’s usage. It becomes the highly regarded chainsaw or shotgun whose presence effectively—and permanently—eliminates your zombie application problem.

So where do you get that data? For getting rid of zombie applications, System Center 2012 Configuration Manager SP1 software metering may be your weapon of choice.

Never give away your position

Software metering has been a function of Configuration Manager since its days as Systems Management Server (SMS). With this version, software metering gets its own node in the Configuration Manager console’s Assets and Compliance pane.

By default, Configuration Manager also automatically creates disabled metering rules from recent usage inventory data. The checkbox shown in Figure 1 tells Configuration Manager to automatically create the long list of applications worthy of your attention. You can tune how many instances of an application must exist in the Configuration Manager hierarchy before it generates an automatic metering rule.

You can adjust the software metering properties.

Figure 1 You can adjust the software metering properties.

Not every zombie application is a widespread infection. Sometimes, you have to create custom software metering rules to point Configuration Manager in the right direction. Figure 2 shows an example of a custom rule created and enabled in the Configuration Manager console. Add applications to the monitoring list by file name and version. The software metering functions support version number wildcards to ensure data is captured even as applications are updated.

Set the software metering rules to meet your needs.

Figure 2 Set the software metering rules to meet your needs.

The brilliance of the Microsoft metering approach is in its simplicity. Once you set software metering properties and create rules, the rest is little more than wait-and-see. Configured software metering rules capture a small but useful amount of data. The intent is to answer the question, “When is a metered application running?” By simply measuring that information, you can extrapolate a variety of useful results via any of 13 standard reports (see Figure 3).

There are 13 default metering reports.

Figure 3 There are 13 default metering reports.

Application usage monitoring is one of those activities best done quietly. For eliminating unnecessary and outdated software, your goal is to catch users hoarding these inactive apps. Each Configuration Manager client captures data in the background without notifying users. Software metering data is kept for a default of 90 days and a maximum of 180 days, plenty of time for you to get an idea of the scope of an application’s usage. In simpler terms, the data becomes the justification. Apps that haven’t been used in 90 to 180 days are probably zombies that must be removed.

Aim before firing

Like the fictional zombies that slowly drag themselves down abandoned streets, Configuration Manager software metering is gifted with a slow, methodical approach. It, too, gains strength in numbers.

While metering is an always-on, always-watching service, the data it delivers gets value from longevity. The more data you collect over a longer period of time, the better justification you’ll have for removing the applications. By default, clients schedule a metering data collection every seven days. You can adjust that setting in the software metering client settings screen (see Figure 4).

The software metering client setting is adjustable.

Figure 4 The software metering client setting is adjustable.

As with most things Configuration Manager watches, IT pros skilled with SQL queries can generate custom reports with the raw data within the Configuration Manager database. There are five views that document your software metering settings, as well as the data the Configuration Manager agents send back:

  • dbo.v_MeterData
  • dbo.v_MeteredFiles
  • dbo.v_MeteredProductRule
  • dbo.v_MeteredUser
  • dbo.v_MeterRuleInstallBase

Of these, the dbo.v_MeterData view is the heart of software metering’s app-killing data. This view documents the instances where a configured rule’s executable has been launched, exited or otherwise used. These 14 columns show how just a little bit of collected data is all you need to maintain situational awareness of application usage (see Figure 5).

The Configuration Manager dbo.v_MeterData SQL view is among the more useful.

Figure 5 The Configuration Manager dbo.v_MeterData SQL view is among the more useful.

Armed with this information and no small amount of bravery, you’re ready to take on those aged and unused zombie apps. You can almost see the sun rising in the distance.

Shotgun, chainsaw, Configuration Manager

When it comes to overall zombie elimination, the shotgun and chainsaw are the mainstays of the adventurer’s quiver. They’re loud, in-your-face and perfect for quickly clearing a room. While zombie applications share a lot with fictional zombies, clearing their equivalent from a Windows environment requires tools with a bit more precision.

Software metering in Configuration Manager provides a perfect way to quietly monitor the actual usage levels of apps you’re preparing to eliminate. Keep this information close at hand, because you’ll need it when the battle begins.

Greg Shields

Greg Shields, MVP, is a partner at Concentrated Technology. Get more of Shields’ Geek of All Trades tips and tricks at ConcentratedTech.com.