When you wake up with Powershell in your head for things which are not scripting tasks, as I did this morning, you being to thing I need a holiday, or perhaps “Get-Vacation -days 7”
It stated with the thought that Waiting for Godot could be one line of PowerShell
$characters=get-tramps -count 2 ; while ($characters -notContains “Godot”) { Start-sleep 1000}
Which is all very well. But it’s gone too far when you find you can do MacBeth in one screen of PowerShell
$Sisters = Get-Witch
$Duncan = Get-King
$Macbeth = Get-Noble | where{$_.titles -contains “Thane of Glamis”}
$Banquo = $Macbeth.Friends[0]
$Battle1 = New-Rebellion -leader (get-noble | where{$_.name -eq “MacDonwald”})
$Battle1.add $Macbeth, $Banquo
$Battle1.Leader | kill
$Macbeth.Kills ++
$Battle1 | stop-process -passthru | out-King
$Battle2 = new-rebellion -leader (get-noble | where{$_.titles -contains “Thane of Cawdor”} )
$Battle2.add $Macbeth, $Banquo
$Battle2 | stop-process -passthru | out-King
Get-Noble | where {$_.titles -contains “Thane of Cawdor”} | Kill
Set-location heath:
$sisters | forEach {$MacBeth.FutureStates += $_.prophecy() }
$sisters | forEach {$Banquo.FutureStates += $_.prophecy() }
$Macbeth.Titles += “Thane of Cawdor”
$Macbeth.State = “Amazed”
Set-location Hill:Dunsinane\Castle
$MacBeth.FutureStates | out-Hostess
$Macbeth.Wife.CreatePlot $Duncan $MacBeth [Weapon]”Dagger” Hill:Dunsinane\Castle\BedChamber
$MacDuff = Get-nobles where {$_.titles -contains “Thane of Fife”}
$Malcolm = $Duncan.Sons[0]
$Malcolm.Titles += “Price of Cumberland”
$Duncan.State = “Sleeping”
$Duncan | kill
Move $MacDuff Hill:Dunsinane\Castle\BedChamber
$Duncan.state | out-hostess
$MacBeth.wife.state = “Fainted”
$Duncan.sons | foreach {$_.visible = $false }
$MacDuff.Visible = $false
New-King $MacBeth
$Assassins = Get-Murderer
$Assassins.targets += $Banquo
$Assassins.targets += $Banquo.sons
$Banquo | kill -passthru
$Banquo.sons[0].visible = $false
$Banquo.visible = $True
$MacBeth.State = “Terrified”
$Banquo.visible = $False
$Sisters | forEach {$MacBeth.FutureStates += $_.prophecy() }
$MacDuff.Wife | kill
$MacDuff.sons | foreach {kill $_}
$MacDuff.daughters | foreach {kill $_}
$MacBeth.wife.State = “Mad”
$MacBeth.wife.terminate
Move-item Wood:Birnam -Destination Hill:Dunsinane
$MacDuff.Visible = $True
$Battle3 = New-Rebellion -leader $MacDuff,$Malcolm
$MacDuff.NaturalChildBirth = $False
$MacBeth | Kill
New-king $Malcolm
Richard, Jonathan, Jeffrey, Dmitry what else can you come up with ? Actually I’ll offer a “Heroes Happen Here” book* to anyone who doesn’t have one who can post a decent stab at this – doesn’t have to be Shakespeare (War and Peace might be a bit much)
What next Oscar Wilde in Perl ? Star-Wars in VBscript ?
(*While Stocks last. One Per house hold. Void where prohibitted. May contain nuts).
Technorati Tags:
PowerShell
This post originally appeared on my technet blog.