Last month Jeffrey Snover had an excellent post on his Philosophy of Automation. I’d like to add my 2 cents to the discussion. This is a concept I’ve espoused my entire career. I’m always looking for ways to get more done faster with less. I expect many of you are interested in this as well or you wouldn’t be here.
Category: Windows PowerShell
PowerShell Goodies
It’s easy not to notice all the great things that are available for extending PowerShell. For example, here are a couple of CodePlex projects that add PSDrives to PowerShell, allowing you to treat external storage systems as if they were a file system (like you can do with the registry).
http://www.codeplex.com/PSSharePoint connects to SharePoint Portal Server 2003, http://www.codeplex.com/PSBizTalk works with …
Taking Shortcuts in PowerShell
Last month I wrote a blog entry about re-discovering DOSKey. I have to say it has been very useful and I feel much more efficient. With only a few keystrokes I can kick off programs or complex command expressions. This was easy to do since I always have a CMD window open. However, there are times when I’m in PowerShell and find myself reaching for a keyboard shortcut. While it is possible to access CMD from within Powershell, it takes too many steps. What I want is to use the same shortcut in PowerShell that I do in CMD. The solution is customizing my PowerShell profile with functions and aliases.
Make-A-Cmdlet: Part 4… Crud.
Well, my Ping-Computer cmdlet didn’t work. Dang. But this is a useful opportunity to cover some debugging techniques! I’ve got a lot of places where things COULD be going wrong. When I run Ping-Computer, no matter what name I provide, I get no output – no result at all. That’s bad. So, I want to change something to see what the problem is. I want to change the cmdlet so that, no matter WHAT happens, SOME output gets created. Here’s my code revision:
PowerQuest: The Windows PowerShell Game
Okay… I got a little creative over the holidays. Anyone rememebr the old, old, text-based computer adventure game, “Collosal Caves?” Well, I’ve created a Windows PowerShell-based “homage” to that original game. It’s packaged as a PowerShell snap-in, meaning you play by running cmdlets in PowerShell. It’s in the attached ZIP file, along with instructions.
I want to stress that this …
Write Scripts – Win Prizes! Including a pass to TechEd 2007!
ScriptingAnswers.com and SAPIEN Technologies announce the ScriptingAnswers.com Automation Challenge 2007! This is your chance to submit your Windows administrative scripts – in any Windows-based scripting language – and win some great prizes.
All your script needs to do is accomplish some Windows administrative task. Our contest page at www.ScriptingAnswers.com/contest.asp includes some tips for writing the best script possible (one sure …
Make-A-Cmdlet: Part 3, The Code
Okay, without further ado, here’s the next evolution of my code. I want to point out that I’m blogging as I’m going – if you follow along with this step and things don’t work… well, maybe they didn’t work for me, either. Learning process! Stay tuned, if that’s the case :), and we’ll explore my mistakes together.
I’m going to …
More fun with scheduled PowerShell
Earlier, I gave you a VBScript wrapper that you could use to run PowerShell scripts as scheduled tasks and be completely hidden from the user. If you want to run a PowerShell cmdlet expression instead of a .ps1 script, you need to take a slightly different approach.
Make-A-Cmdlet: Part 2, Getting Underway
One trick: If you’re using Visual Studio 2005 (or an Express edition), you can get a jump-start by downloading some templates for PowerShell development from http://channel9.msdn.com/ShowPost.aspx?PostID=256835 (click the [Save] link near the bottom of the post; the ZIP file contains templates for VB.NET and C# – unzip the one you want and double-click it to […]
PowerShell Makes Beautiful Music
Ok, maybe not beautiful. It’s not Handel’s Messiah but sure is fun. Some of the guys on the Microsoft PowerShell must have too much time on their hands 🙂 They have put together a PowerShell script that you just have to try.