A Geek's Guide To Motivating Your Employees - PowerShell Style

I'm sure you've heard of stories about folks who work day after day receiving insults from their bosses.  You know, in some peoples minds, insulting others is a way to keep them "in line".  If the common folk get too much encouragement, they might start thinking that they aren't replaceable.

I remember reading that it's been shown that positive motivation is no way to provide a healthy work environment for your employees but unfortunately in today's world, there just isn't enough training for managers to spread this knowledge around.

So, if you find yourself continuously being praised for your great work by your higher-ups, this is a disservice to your organization.  Training managers to properly insult you will take time and cost a lot of money.  I've got a solution for you that will cost you nada and will give you all the self-loathing that it takes to bring your company into financial success.

There are already several insult generators out there on the Internet, but that requires the user to actively go out and look for that insult.  Automatic emails don't work well either as that requires that the employee actually reads his/her email.  What you really need is a background process that runs on all of your employees computers that will randomly let them know what you think of them. 

Enter the Sling-Insults PowerShell script.

Sling-Insults.ps1

$rand = New-Object System.Random;
$voice = New-Object -comObject SAPI.SpVoice;

$insults = @(
    "Hey! Get back to work!",
    "Who do you think you are anyway!",
    "Get off of that stinkin InterWeb",
    "I'll Twitter YOU mister!",
    "Facebook is for dorks, so you must be one!",
    "What's that funny orange icon you keep looking at?",
    "blogs, splogs.  Do something productive you idiot!",
    "I don't care how many followers you have"
);

While ($true)
{
    Start-Sleep ($rand.next(60, 300))
    [void]$voice.Speak($insults[$rand.next(0, $insults.Count)]);
}

Just run this baby in the background and your employees machines and every 1-5 minutes, one of the random quotes will be spoken to them allowing you to sit back and relax with the knowledge that your workers are being kept in their places.

Now, I understand that there are those who would argue with the benefits of constantly demoralizing workers.  For those of you that are into this kind of backwards-thinking, I've got a solution for you as well.  With quotes taken from the self-help show "Daily Affirmation With Stuart Smalley", I've got the Give-Praises script as well.

Give-Praises.ps1

$rand = New-Object System.Random;
$voice = New-Object -comObject SAPI.SpVoice;

$insults = @(
    "I'm good enough, I'm smart enough, and doggone it, people like me.",
    "I am a worthy human being.",
    "Denial ain't just a river in Egypt!",
    "That's just stinkin' thinkin!",
    "You're should-ing all over yourself.",
    "Hello little child, I'm going to protect you and no one will ever hurt you again.",
    "...and that's...okay.",
    "Whining is anger through a small opening.",
    "It's easier to put on slippers than to carpet the whole world."
);

While ($true)
{
    Start-Sleep ($rand.next(60, 300))
    [void]$voice.Speak($insults[$rand.next(0, $insults.Count)]);
}

So, there you have it.  Whether your are into insulting or encouraging your employees, this blog post has something for you.  I'd love to hear feedback on which of the two scripts provide better results.

Disclaimer: For those that didn't get the humor in this post, it in no means represents the opinion of my employer F5 Networks - nor myself for that matter.  Just having a little fun!

Published Feb 11, 2009
Version 1.0