Thursday, January 31, 2013

PowerShell, the key to survival (of the fittest IT person)

So i have had my fair share of PowerShell for the last years. You might think that would be enough to open my eyes for the the sheer power of this Shell and embracing it right?
Wrong! it so turns out that me and most of my IT colleagues tend to keep their every day work and working habits preferably as-is. what this means is that most IT administrators i know stick to the stuff they know by heart. This is, off course, quite human and tends to keep our species on top of the hill (figuratively speaking, and mind you, by species i mean IT professionals) but in this case i have come to realize it is not necessarily so.  What’s that you say?  yes, we IT admins as we are today have to keep our knowledge up to date and, as always, we tend to learn a lot of quickly expiring information and working methods.
I have always wondered why i had to put such a tremendous amount of effort into learning IT- and IT related stuff, since my exposure to PowerShell it think i got it now.
So what’s the matter? take a look at the picture below, it depicts the evolution of IT for the last 20 years. beginning in the nineties (the time IT became to be a business) we IT admins were using mainly command-line interpreters like DOS, KSH and BASH. these shells were fairly limited compared to the vast amount of IT possibilities of today but at that time it was good enough to do the general stuff. In those days networks were fairly local and definitely smaller then today so there was little need for complex operations via networks.
image

Growing IT and its pitfalls

since the beginning of this century IT has grown enormously and, as always, this tends to come with some start-up problems. with the growth of the networks and connections to extranets (via Internet) it became clear the old fashioned admin tools were quickly growing obsolete. the main problem with those tools was its ‘ reach’  most of them were meant to be used only locally on the machine that hosted the service. as soon as remote systems became fashion these kind of tools became obsolete and limited.

IT anno 2013

speaking of now, the IT has grown into two ‘ camps’  one being the client side, the other being the server side. as far as we can see now, the client side will continue to expand into a large ‘collection of diversity’ comprising of all kind of devices that can, at least, connect to the internet via WLAN or 3G and in the near future 4G. managing these devices is not done because today many people also use their own device for their work and because of the sheer diversity of the operating systems these devices use.
the server side, however, is more uniform, some reasons for this are: servers are mainly owned by large IT providers, are end user unfriendly mainly because of their user interface and the characteristic of the server device hence the focus of the management of IT functionality on the server side.

What has this got to do with PowerShell?

Combining all things written before results into one notion:  how do i as IT admin keep on going using as little effort as possible? PowerShell!! let me tell you why i think this is the only valid way to go:

PowerShell main strength

Learning all this stuff to get to this point in my career has learned me one thing in general: learn as much of those things in IT of which ‘ all digital things are made of’ or in other words: figure out what is the most important and central ‘object’ in IT and learn about its features; characteristics and its use. what’s that? its the Object. since programmers began to work with Objects in a constructive way the IT has gone sky-high so that’s what i should be learning. long story short: PowerShell is entirely focused on Objects. It has the capacity to manage a whole range of objects concerning their number of devices and their OS management, more and more libraries are written to manage more then Windows Machines alone.

Why PowerShell

The reason i chose PowerShell is threefold: first PowerShell is a new kind of shell: it is not a shell that only uses text as main operator; no PowerShell does way more; it is a way to directly interact with Objects, in this way PowerShell can do many things more and faster than its text based cousins. the second reason is that it is quite easy to learn and incorporates quite a bit of ‘ old fashioned commands and methods’  used in many scripting languages as we know. the third reason is: PowerShell is not limited to a few commands; NO PowerShell is expandable so it is really the one and only way to go.

PowerShell has a clear Future

Because PowerShell is comprised of a language directly interacting with Objects (through the use of Microsoft .Net) its use and methods will be things you learn once and will continue to use in the future; knowing how to write commands and scripts is the way we as IT Admins will continue to evolve; Yes! we have a future now!