Posted by The Admin Arsenal Team on Mon, Mar 01, 2010
Author: Adam Ruth
I cut my programming teeth, like most programmers my age, on a version of BASIC that came with my computer. In my case it was on an IBM PC my father bought for his accounting business back in 1982. There's something immensely pleasurable about toying around with a small program and making the computer do what you want. Even if back then it wasn't much more than playing little tunes on the internal speaker or creating a calculator, it was still a very empowering experience.
Flash forward to the present and it's not easy to find that utter simplicity. The programming tools available to Windows administrators these days can be very complex, with learning curves that make it difficult to take up programming on the side as a way to automate your world. Batch files and Visual Basic Script tended to get a lot of use because they're so simple, even if they seem like little more than "toys." But they're both getting old and somewhat obsolete, less useful than they used to be with all of the new advances in Windows and applications.
Enter
Microsoft Small Basic, a programming environment intended to make programming fun again, like it was back in the days of green screens and 128K of memory and a big imagination. It's based on .NET allowing it to interact with newer system APIs easily. While it's not really meant for any particular kind of task, I can see it taking off in the administrator community as the heir apparent to VBS. It's still not a fully released product, but you can download it in it's current state to play with, it's at version 0.8 and it's free.
One nice thing about it is that it has a direct upgrade path to Visual Basic.NET, essentially meaning that it flattens out the leading edge of the VB.NET learning curve. Admins can start using it to automate tasks and then move up to full-blown VB.NET to get some serious work done. MSDN has a number of
blog posts with a lot of good information. Go ahead and download it and give it a whirl, if for nothing else than simple fun!
Try
Admin Arsenal for 30-days free.
Posted by The Admin Arsenal Team on Mon, Feb 15, 2010

Photo by quapan
Author: Adam Ruth
There comes a time in the life of every administrator where you need to get access to an old version of a file, or get access to a file that has been deleted. I'm not talking about a user's file, but your own file. We've all got little scripts and spreadsheets and text files that we use all the time. Perhaps you have a task that sounds similar to a batch file you wrote 3 or 4 centuries ago. It'd be handy to have that batch file, but you deleted during your last frenzy of hard disk clean-up.
Introducing
Source Code Management. Most techies are familiar with the concept of source code management, but for many of us it's something just for use by software developers who have to work in teams, manage different versions of products, deal with branching, and other advanced things. In a sense this is true, SCM is a critical tool for the software developer, particularly those working on teams. But that doesn't mean that many of the advantages of SCM can't be available for everyone else, even when working alone.
There are a couple of features of SCM that are helpful for any system administrator:
- Versioning. The big strength of SCM tools are their ability to track changes in files over time. Suppose you have a text file containing the names of computers, and that you've added and removed names over the months. It's handy to quickly look over the history of the file and see when and where it was changed. Perhaps even with a note as to why it was changed.
- File Recovery. Nothing in a SCM repository is ever deleted (unless you really go out of your way to remove it.) You never need to worry about deleted files disappearing, or have to worry about keeping it around cluttering up your disk in case you may need it.
- Rollback. It's becomes a lot easier to edit files if you know that at any time you can rollback to any previous version. No need to copy files around or make copies if you just want to test something.
But aren't SCM tools just for teams working on the same files? No, there's nothing wrong with installing a SCM tool locally on your own computer and using it for your own repository. There is a bit of a learning curve but in my opinion it's well worth it, especially the first time you're able to rollback a file after you realize those changes you made 3 weeks ago broke something.
I've experimented with many systems over the years, but I've really only worked with three different SCM systems in-depth. There are
many, many to choose from, but I'll just mention those three. Listed in chronological order of my use.
- Microsoft Visual SourceSafe. This is a product that Microsoft purchased years ago and has been giving away with Visual Studio licenses for years. Most Windows developers cut their teeth on it, and speaking of teeth, it's getting long in them. It hasn't been actively maintained by Microsoft for quite a few years, and has been replaced by Visual Team System which doesn't work very well for the single user. It's got some well known problems, but it's still very widely used because it's pretty simple and was essentially "free" at a time when other solutions were either too complicated and/or expensive.
- Concurrent Versions System, or CVS. This is one of the most popular open source SCM systems, though it may now have been surpassed in popularity by Subversion. The system only has a command-line interface, but there is a whole ecosystem of add-ons and GUIs including my favorite, TortoiseCVS. I replaced SourceSafe with CVS when I started working extensively in Linux and when my repository size got too large for SourceSafe to handle.
- Perforce. This is what I currently use and I love it. The installation is dead simple and it's very light-weight. It just works and once you understand how to configure a workspace, the rest just falls into place. The nice thing is that while it can get expensive for a large team, it's free for a single user (actually, free for 2 users) making it ideal for a lone wolf. It's got a flatter learning curve than CVS and the other open-source systems, but it doesn't sacrifice any power.
Next week I'll write a quick tutorial to get you up and running with Perforce in your environment. There are also plenty of resources available online to get you started with other packages out there. If you've got some spare time (who doesn't?!?) then this is one more tool to add to your arsenal.
Posted by The Admin Arsenal Team on Mon, Jan 04, 2010

Photo by Michael | Ruiz
Author: Adam Ruth
I have the problem, which is probably pretty common among programmers and system administrators, of sitting for too long at my computer. I've been having some trouble with a stiff neck and shoulders, not to mention eye strain and other problems with not taking enough breaks. In order to alleviate this problem I went looking for software to remind me when it's time to take a break.
After some searching I settled on
MacBreakZ (which, for some reason, I keep pronouncing as "mac break zee" instead of "mac breaks" which I'm sure is correct.) I've been using it for a couple of weeks now and I'm really pleased with it. It has a number of options for when it reminds you to take a break, as well as tracking your mouse and computer use. I've got it set up for a 5 minute break after 30 minutes of computer use. During the break it shows random stretches from its collection of 42 geared toward office workers allowing you to do the stretches if you don't get away from the computer all together.
There is also a feature to track your keyboard and mouse usage and warn you when you've been typing or mousing too fast for too long, to prevent repetitive stress injuries. I had to disable this feature, however, because either I'm a superhuman typist or it's just too sensitive to work with my pace. It's configurable, but only the least sensitive setting didn't get triggered by just a couple minutes of my working.
I've found it to enhance my productivity, even though you might think it would slow you down by taking regular breaks. I highly recommend such software for anyone that spends a long time with a computer, particularly for anyone susceptible to repetitive strain injuries.
Posted by The Admin Arsenal Team on Mon, Dec 28, 2009

Photo by iLoveButter
Author: Adam Ruth
I've always been a fan of virtualization. I've been running computers in a virtual testing lab for several years now. But, as good as it was, it was never quite fast enough for me to run as my primary development workstation. That is, until now.
For the last month I've been running
VMWare Fusion 3 on one of the new
27" iMacs (with the i7 processor and 8 GB RAM.) Windows 7 running in a virtual machine on this computer is quite a bit faster than my previous workstation, which was starting to get long in the tooth. I'm certain that for the same amount of money I could have gotten a computer that would blow them both away. But, what I have now is fast enough and includes some benefits that a dedicated box doesn't.
- Being able to rapidly shift between VMs. I have several VMs, each dedicated to a different project or purpose. These were all shoehorned into a single computer before, now all I need to do is put one to sleep and start up another. I can also, in a pinch, run two side by side. I try not to do this very often, because even with 8 GB of RAM, it sometimes pushes me to swapping.
- Sharing files between VMs is easy using MacFUSE and shared folders. This removes much of the need to run two VMs concurrently.
- Sharing files and clipboard between the VMs and the host. I do my e-mail, browsing, and most of the administrative work on my Mac. Because of this, it was always a bit of a pain when I needed to share something between the Mac and my development workstation. Now, it's a breeze with shared folders, drag and drop, and the shared clipboard.
- Travelling is now much easier. I don't travel much, but when I do it's always been quite a bit of work to take my development workstation with me. It would usually entail creating a VM (only for emergencies, I try not to do much development on my five year-old laptop.) Now, though, it's a breeze. I just need to copy the VMs to an external disk and away I go. Also, I can just start the VMs on a fast machine on the other end.
- Snapshots. Being able to take a snapshot, and to rollback is a great help. If I'm installing some software to experiment with, I can just take a snapshot before I install, and rollback after I'm done with it. No need to worry about anything left behind (particularly spyware, which sometimes gets bundled.) I have my VMs set to create an auto-protect snapshot every day. This came in handy after I wanted to retrieve a file that I had deleted accidentally (this was on a "scratch" VM that doesn't have proper backup or source control, and it saved me the trouble of recreating the file.)
I think that this pretty well sums it up. Virtualization on the desktop has finally come of age for me. I'm sure it's still not fast enough for most real graphics intensive applications, such as video editing or gaming, but it has finally crossed the bar for my software development. It's a day that I've been waiting for (with every new release of VMWare Fusion or Parallels I spent a couple days trying to fit in my development only to be disappointed) and I'm glad it's here now.
Posted by Shawn Anderson on Mon, Dec 21, 2009
Our friends at HelpDeskGeek.com have provided a step-by-step to create jumplists in Windows 7 by using a free Jumplist tool (Jumplist-Launcher) from Hedgehog.
This is a great feature of Windows 7 that allows users to reduce the number of steps to certain actions. Hedgehog's tool allows you to not only customize your Jumplists, but allow provide a more dynamic approach to doing so.
The example given by HelpDeskGeek uses Firefox and Chrome browsers, and allowing you to not only launch these apps but to select from a list of frequent pages to jump to (hence the dynamic approach).
I suggest giving it a read. Don't forget to install Jumplist-Launcher.
Posted by The Admin Arsenal Team on Fri, Dec 18, 2009

I've been playing with Sunbelt Software's CounterSpy lately. I think the product does what it claims to do fairly well however the management console is somewhat lacking.
I ended up writing my own CounterSpy inventory scanner to extract CounterSpy configurations from target systems. I can use this scanner to easily determine which systems need to be updated with either a new client or new C0unterSpy definitions.
I admit that I was excited when I came across the SBAMCommandLineScanner.exe utility. I thought, "Sweet, I can just use this little guy to find out the agent version, definition version, apply new updates, etc". Unfortunately I froze the CounterSpy service on two of my lab systems when I attempted to use this utility to A) extract the definitions version, and B) apply new definitions.
Anyway, I digress. Here is an easy way to extract the following information from CounterSpy agents.
To find out which CounterSpy Policy Service Server is assigned to a target go to the Registry path HKLM\SOFTWARE\SBAMSvc. The value of "PolicyServiceMachineName" will be your CounterSpy server.
To find out the version of the CounterSpy agent go to HKLM\Software\Sunbelt Software\Sunbelt Enterprise Agent and select (no surprise) "Version". I also use this location to extract the Install path of Sunbelt.
To find out the current definitions version I append the "Definitions" directory to the InstallPath value I extracted from the registry. For most of my systems the value is
C:\Program Files\Sunbelt Software\SBEAgent\Definitions
I parse the DefVer.txt file to extract the Definitions version as well as the date the new defs were applied.
You can also run the utility "SBAMCommandLineScanner.exe" and then extract the output however, as I mentioned earlier, I ran into problems where this very simple command wouldn't return at all and within a few minutes the CounterSpy service was hanging. Since I ultimately want to have this data extracted automatically via an inventory scan the last thing I want is to run an external process (SBAMCommandlineScanner) that doesn't return control.
Here is the very simple output of my utility. (I actually have it output into XML which ultimately goes into my database however I modified the output for this example). It gives me a one stop shop for my desired data.

CounterSpy really has proven to be a great product for finding and killing Adware and Malware. I just needed to streamline the available management capabilities a little bit.
Posted by The Admin Arsenal Team on Mon, Dec 07, 2009
Did you all catch the TWiT (This Week In Tech) episode # 222 last week? I was floored by the discussion of "Web Loyalty Ripoffs". Leo Laporte, the host, was also shocked to find that Buy.com (a site that up until now I regularly used) was one of the companies involved in these apparently shady deals.
In a nutshell, many online companies (or companies with an online presence) have been selling credit card information to "web loyalty" companies like Affinion, Vertrue and Web Loyalty. These companies often employ tactics to get a customer of their "partner" companies to simply click on a link or provide their email address which, according to the purchasing agreement, can be used as authorization for recurring charges. Approximately 90% of American customers do not realize that they are being charged the usually nominal fee (often ranging from $2 to $15) per month.
As an affirmed capitalist and freedom loving fellow I am not calling for regulations or government oversite. I am going to do what millions of others are going to do: Stop making purchases with companies that do business with the three "web loyalty" companies mentioned earlier. If you do continue doing business then be careful what you click and once, just once, read the vendor's Privacy Policy.
Please listen to the TWiT episode 222 to hear Leo and John and Becky eviscerate these companies. Here is a partial list of companies who have been said to sell customers' credit card info. Gratefully (for me, anyway) Amazon is NOT on this list. You can see a more exhaustive list on on the Consumerist website.
1-800-Flowers.com
Buy.com
Classmates.com
Columbia House
Confi-Check
Expedia/Hotels.com
Fandango
FTD
Hotwire
InQ
Intelius
MovieTickets.com
Orbitz
Priceline
Redcats USA
Shutterfly
Travelocity
US Airways
VistaPrint
Thanks to the TWiT folks for bringing this to light.
Posted by The Admin Arsenal Team on Fri, Dec 04, 2009

Photo by C.H.A.R.M.
Author: Adam Ruth
I recently read an excellent pop psychology book called
Sway: The Irresistible Pull of Irrational Behavior by Ori and Rom Brafman. It's a quick read and I recommend it for anyone who has to work with people (such as administrators working with their users.)
The basic premise is that there are unconscious forces constantly trying to sway us away from rationality to make irrational decisions. As much as we try to pretend otherwise, our minds are tricked into making mistakes. Each of their stories is backed up by research, some of which is very surprising. Of particular interest to anyone hiring new employees, for example, is research showing how ineffective most interview questions are. We tend to think we're better at identifying good employees subjectively than we actually are. The only really effective way to screen employees is with object aptitude tests.
What struck me the most was how susceptible I am to "Loss Aversion" which is perceiving a potential loss to be much greater than it actually is. The problem is that it's difficult to take a guaranteed small loss now, instead of very likely large loss in the future. For example, continuing to try to get some piece of software working because of all the time already spent on it, rather than just dump it and get something that works. Our brains aren't very good weighing up the different costs.
All in all, it's a good read. There's not much practical advice, but there's enough food for thought to keep you on your toes.
Posted by The Admin Arsenal Team on Wed, Nov 25, 2009
VMWware Fusion 3 has only been released for a few days, but I wanted to give a quick first impression. I downloaded it the day after it came out and am pleased that I did. This release, on the surface, doesn't appear to be worthy of a full major version number change, but it's still a worthwhile upgrade.
The big new features are support for Snow Leopard, Windows 7, and better Aero graphics. I was already running VMWare 2 on Snow Leopard with a Windows 7 guest (though not for very long) so I assume that this is only important if you've been experiencing problems. The Aero support, though, still seems sluggish even on one of the new 3 GHz 27-inch iMacs. It's better, definitely, but it still seems to be somewhat for show.
What I do like about it is that everything seems to work just a little better. Drag/drop and copy/paste seem to work more smoothly as does the resizing of the window. Unity, in particular, seems to be better integrated. Again, not in any astounding way, just tweaked for the better. I also like that you can now cancel an accidental resume, that's bitten me more than once in the past. The new full screen menu is a nice touch, too.
The one problem I did have was with the VMWare tools. For some reason it was preventing me from left-clicking. I could right-click and the hover of the mouse worked correctly, but left-click did nothing. I fixed it by uninstalling the tools and reinstalling the tools, but it took me a couple of tries because the uninstall from within the Windows control panel didn't seem to actually uninstall. I had to use the uninstall option from the Virtual Machine menu in VMWare. This may be the normal way to uninstall the tools (I've never had to do it before) but it was still frustrating for a while.
All-in-all I say it's a good enough upgrade for the $40, even though it feels more like it's a 2.1 update. There are enough small things in there to add up to a better experience.
Now, if I can get enough time to play with the new Parallels 5 I can blog a comparison review, on paper it looks like a bigger update.
Posted by The Admin Arsenal Team on Fri, Nov 06, 2009
I'm horrible at predictions. The more that I think about something the worse my predictions become. Movies, sports, politics, even my personal life. During my wife's four pregnancies I failed to predict the gender each time.
One of my predictions made long ago (probably around '97-98) was that Microsoft would soon get into the anti-virus business. Microsoft was expanding it's core offerings with each release of Windows, be it Internet browsers or print drivers. But for some reason they were walking very gingerly around anti-virus.
When my prediction failed to come true I started wondering if Symantec and McAfee had members on the Microsoft's board. Even when some of the prolific virus' made headway (Mellisa, anyone?) Microsoft still was found in the periphery. They did make headway soon thereafter with regular patches specific to their core security, but all-in-all it became the users responsibility to purchase a 3rd party app to find any one of a gazillion viruses.
Enter MSE. Microsoft Security Essentials is working. No doubt it has the complete attention of its many competitors, as noted by The Windows Club blog.
Microsoft’s free antivirus offering, Microsoft Security Essentials downloads have crossed 2.6 million since its launch two weeks back.
And its doing well! Users of MSE are indeed very satisfied with its performance! Given this scenario, the security companies with a view to holding on to their existing users and getting new ones, have resorted to giving away free 6m/12m licenses of their paid versions.
The anti-virus community is going to watch MSE very closely. Interestingly it seems, to me at least, that AV has become a commodity. Users notice the resource requirements of daily scans more than they consider the quality of the signature base. If this is the case then MSE is in a very good position.
Still, many will be watching.