Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Make PowerShell Talk / Speak

Have you ever run a long PowerShell script, minimized it, only to realize much later that an error caused it to stop? Rather than just using a color syntax red to display the error,  I wanted to hear it so I could switch back to the PowerShell window and see the error.

So how easy is it to make PowerShell speak? It’s almost identical to the .NET code I have in VB.net and C# on Make Your Computer Talk with VB.NET Application (and Source Code) using the SAPI.SpVoice class.

Here’s the one-liner:

1
(new-object -com SAPI.SpVoice).speak("Welcome to brangle dot com")

Now, if we want to write a function to generate to use whenever needed we could do so just like below. You might notice we used a global:functionName, this will allow the function to be in the global scope. If you don’t know what the global scope is, then just use, you’ll probably want it rather than not.

1
2
3
4
5
6
function global:talk ($message)  {
   (new-object -com SAPI.SpVoice).speak($message)
}
 
$error = "There was an error pinging the webserver"
talk($error)

Leave a Reply