A Windows PowerShell Carol: Ebenezer Script Sees the Future


  Summary: A Windows PowerShell Carol in which Ebenezer Script sees the future of scripting.    Hey, Scripting Guy! QuestionHey, Scripting Guy! Is it really possible to see the future with Windows PowerShell?

— SK    Hey, Scripting Guy! AnswerHello SK, Microsoft Scripting Guy Ed Wilson here. It is almost the end of the year and we have decided to devote some posts to the holiday season. We even have guest bloggers from around the world to share some holiday spirit. This week we have Sean Kearney. You can learn more about Sean in Monday’s blog introduction. Be sure to check out Sean’s theme song for this week’s PowerShell Carol posts.

    Ebenezer looked up. He was back in his bed again. He pulled his covers, an old Partner Gold program flag, about him to keep warm. It did not help. A cold breeze filled the room as it began to glow blue.

He found himself looking up at the largest console session he had ever seen.

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation.  All rights reserved.


It stared at Ebenezer from eyes made of pure ASCII on a blue background. 

He looked up with both fear and admiration in his eyes.

“Are you the spirit of scripting Future?” he voice shook as he looked up.

The spirit only flashed a cursor in response with two quick lines.

$FUTURE=(GET-DATE).adddays((GET-RANDOM 10000))



Ebenezer looked on at the presented content. Somehow, without knowing how, he was looking into Bob Snipit’s future. The place in Canada had a FOR RENT sign on it. The yard was covered in yellow sheets with old bits of script on it and “Frowny Faces.” The window had a “Leafs Rule” flag. It was truly a sad sight.

The video fast-forwarded to a small dark building. In it, all you could see was Bob Snipit, tears flowing. “He had such promise! Why did he do that! No more! It’s all over!” he cried into his cup of Tim Horton’s coffee, gnawing on his old laptop, “I can’t believe he turned down such a dark path! What a wasted life! Ruin!”

“Spirit? What is this sight before me? What brings sadness to a man who held such joy?”

(GET-CHILDITEM C:TinyShim -include *.JPG) | FOREACH { INVOKE-ITEM $_.Name }


Poor Ebenezer stared helplessly at pictures displaying Tiny Shim watching his father return from work, a little less happy each day. Dragged down by the unhappy attitude Mr. Script thrust upon him, poor Bob began to bring it home. Years later, photos showed Tiny Shim finally deciding upon a route far from his gift; a job still yielding his intelligence, but far, far duller.

Tiny Shim had turned to… Chartered Accountancy!

“Spirit! Please tell me this isn’t so!” whined Ebenezer.

SEND-ANSWER –user ‘Ebenezer Script’ –response ‘All Your Fault Dummy’


Was the only response he received. It was quiet and chilling.

A tear fell from Ebenezer. A brilliant coder, young and talented, lost to something without his passion to drive him. He remembered passion.

It was his fault. How could he have been so bitter?

Ebenezer watched the Spirit as yet another Cmdlet formed in front of him in a chilling blue.

GET-CONTENT C:ArticleNews-Ebenezer.txt | MORE


It was the content of emails between two employers, discussing the new hire. They were chuckling amongst each other how this fool had chosen the new path instead of IT. A former master scripter, Tiny Shim had become bitter. The conversation laughed of how they obtained a genius for such a simple task. 

“What a fool” was the final line of the conversation.

Ebenezer stared up the Spirit with a trembling look. “Spirit of who is this poor fiend? What job was he doomed to?”

WRITE-HOST “Would You Like Fries With That?”


The Spirit of Windows PowerShell blinked at him coldly with the Cursor, reading his response.

“Oh no! Spirit not a … a Burger Flipper!” Realization hit him like an Osborne Executive dropped on his head. “The poor soul was making hamburgers. Was that soul me?”

A grim ASCII art face formed in the console as the following Cmdlet appeared.

DO { WRITE-HOST “Muah hah hah!! ” -nonewline; Start-Sleep -milliseconds 50 } until ( $FALSE)


“Spirit! Please I beg of thee! I remember the joy I held. I see the light in Tiny Shim’s eyes! I will learn from the joy Bob sees in code! I will dive into scripting with a passion no one has ever seen before! I will even sing “Friday Funny” songs! Oh, please Spirit, no more! I beg of thee. please! Stop the endless looping! I BEG of you!”

Only one thing could be seen on the Spirit’s console. A single answer appeared with a clear dark magenta screen and a single line of code.


Ebenezer vanished into the night.


Panic! Did the Spirit of Scripting Future permanently End Ebenezer as a Process? If it didn’t, did he learn? Is Chartered Accountancy just a made up job? Did anybody order fries with this? Stay tuned tomorrow for the exciting conclusion of A Windows PowerShell Carol.


SK, that is all there is to using Windows PowerShell. Thank you Sean, holiday guest blogger week will continue tomorrow when Sean will bring to us another day of A Windows PowerShell Carol .

I invite you to follow me on Twitter or Facebook. If you have any questions, send email to me at scripter@microsoft.com or post them on the Official Scripting Guys Forum. See you tomorrow. Until then, keep cool.


Ed Wilson, Microsoft Scripting Guy


Discussion is closed.

Feedback usabilla icon