Webserver and RSH in PowerShell
Ever wanted to control a PowerShell session from a web browser or curl/wget on another machine? Yes? Well it surprisingly simple using PowerShell to script the System.Net.HttpListener. Here’s a working example with some genuine uses (well useful for me). I’ll leave all the security and risk concerns as an exercise…
Running pipelines in the background
In the unix world, we’re used to being able to run the different commands in a pipeline in different threads/processes. This is usually a lot more efficient when the producer/consumer rates vary, and makes use of multiple cores/cpus. For example, cmd1 | cmd2 will run the two commands in separate…
Banners
In the old days, when you printed something out, you’d have to wander down to the print room and find your output in a stack of fanfold with the job name printed as a large banner on the top. I miss those days so I wrote a banner script to…
Alternate Data Streams
NTFS has the ability to associate multiple data streams (aka forks) to a file. It’s not very well supported in most Microsoft tools and not very well known, but I use them quite a bit for associating metadata with files. Unfortunately, PowerShell (or rather .NET) doesn’t support them very well.
Pipe or no pipe?
Many built-in cmdlets take input from the pipe, but alternatively let you specify an input with the -InputObject parameter. An example is the Get-Member cmdlet. I want to be able to do this with my own functions, but as far as I can tell, there is no built-in mechanism for…
Hashes and properties
I really like the way that PowerShell handily formats pipeline objects when displaying them in the console, eg get-childitem in a file system directory returns a collection of file objects and the output is like the old DOS dir command. Additionally, I really like the way that hashes behave like…
Getting normality back
The PowerShelling that I do mostly involves messing around the console window – dimensions, colours, title, etc. I wanted an easy way to get normality back so I added this to my $PROFILE. Nothing fancy or clever, but here it is:
Space Invaders with sound!
After yesterday’s attempts to make noises, I added basic sound support to psinvaders. On my setup, it seems that I can only play one sound at a time, so a new sound stops a previous, and it crackles, but that could be because of poor sound virtualisation in Parallels Desktop…
Making noises
There are twothree ways I know of to make noises in PowerShell. 1. Simple and most boring: use the internal speaker’s beep. write-host “`a`a`a” 2. Slightly better, use the .NET console beep. This plays A above middle C for one second. [console]::beep(440,1000) Both of the above are synchronous, ie, the…
Script Updates
After receiving feedback from a few people (thanks!), I’ve updated two of the scripts posted here previously. Convert images to text (ASCII art) This had a problem where a division by zero error would occur if the specified image file wasn’t fully qualified. Fixed script is here: convert-image2text.ps1. Console screen…