TimeTag fork away!

I finally got around to posting the TimeTag source code up on Google Code GitHub this afternoon. You can find the project here.

Whilst I’ve no intention of working on TimeTag, I figured that it would be useful for people learning PowerShell development to have a reasonably large sample available, and useful for someone to have a help up if they wanted to implement something similar and don’t fancy starting from scratch.

Feel free to fork…

Update June 2013: moved the code over to GitHub to make things easier to fork.

Windows based dynamic systems management update

As a follow up to the Windows based structured systems management post, I have found a network monitor that does have some dynamic abilities.

PolyMon is an open source network monitor written for the .NET environment. Steven Murawski has written PoSHMon, a series of PowerShell cmdlets for interacting with PolyMon dynamically. Whilst neither PolyMon or PoShMon are particularly full featured or mature, they do at least show what is possible.

If anybody knows of any commercial network management tools with PowerShell support for dynamic structured systems management, I’d love to hear about it. 😉

Windows based structured systems management

Found a post whilst reading a post by the Standalone Sysadmin… and it is a beauty. Michael Janke has a post comparing ad-hoc versus structured systems management.

One of the items that Michael says is essential for structuring your systems management is automation. As Matt Simmons says:

“Remember, if you can script it, script it. If you can’t script it, make a checklist”

In the Windows world automation has been a pretty tough ask until Windows PowerShell came onto the scene. Whilst it was possible to script Windows with VBScript, it wasn’t easy or quick. If it isn’t easy and quick it probably won’t happen.

I still haven’t noticed any network management tools supporting PowerShell yet. Shame. Given that nearly everything seems to be sprouting PowerShell support it is a shame that network and systems management vendors are slow supporting a technology designed to help sys admins do their job more easily.

The world is becoming a lot more dynamic with virtual & cloud computing coming to the fore. Management tools need to be equally dynamic and yet, so far, they’ve been pretty un-dynamic. If I have a script that provisions a new virtual machine it would be nice to tell the management platform to start monitoring its performance from the same script. If I have a script that takes down a service, it would be nice to tell the management platform to put that particular service into maintenance mode so I don’t get deluged with alerts.

Powershell as Lisp

One of the interesting things about Lisp is the ability to use macros to effectively create your own language. Instead of using Lisp to solve your problem, write a language in which your problem can be solved and then solve it using your own mini-language.

When I heard of the new features in Powershell v2, the one that stood out for me was the ease with which you can create cmdlets using the Powershell scripting language rather than being forced to use C# or VB.NET.

One side effect of easing the ability to create cmdlets is that building your own mini-language will become very easy because you’ll have the whole .NET library at your disposal and you’ll also be able to utilise all other cmdlets and providers as well.

Resources for learning Windows Powershell

I am currently in the process of broadening my knowledge of Windows Powershell and I thought I’d post some of the excellent resources I’ve found. Many are available for free online, some you’ll have to shell out money for. The book, Windows Powershell in Action, is well worth buying if you want to gain an understanding of how Powershell works.

Tutorials

Community

Books

Blogs

PowerTime now on Google Code

PowerTime is now available on Google Code. You can even browse the code without having to download anything.

The only problem I ran into was the size of the ECAD data set exceeded the quota given to new projects. I’ve now split the ECAD data set so that it is available for download but isn’t versioned inside Subversion.

I’ll be back onto PowerTime real soon now. Just having a rest doing some web work at the moment. Expect a first beta by the end of June.

Now we’ve got a decent wiki (courtesy of Google Code) I’ll be adding some much needed documentation too.

Hurrah! Some real data to play with

I’ve written about my woes finding some good test data sets for PowerTime before…some good news. There is a place you can get hold of climate data for free over at European Climate Assessment & Dataset project. Whilst the temperature data is averaged, the precipitation data is not…so that’s what I’m going to use for my tests. The Berlin data set goes all the way back to 1876 with only quite minor disruption during World War 2. Quite an achievement.

PowerShell + network monitor = powerful network management tool

I am surprised that no network monitor manufacturer has jumped onto Windows PowerShell in a major way. Whilst tools like PowerGadgets use the full power of PowerShell, it isn’t really aimed at the network manager. It is more of a general IT visualisation tool.

A tool that combined the power and extensibility of PowerShell, with the reporting, graphing and mapping capabilities of a major network monitoring tool would be formidable.

A network monitor with integral support for PowerShell would mean that you could write your own script then leverage the full power of the network monitor in order to periodically run the script, graph the results and alert you when things go wrong.

Over to the manufacturers I think…