I was looking at my current Mr. Roboto column “Polish Your Shell” on learning PowerShell by starting with 3 basic commands and noticed a lengthy and serious comment. I’ve always felt PowerShell is easy to use and learn, which was the point of my column. However, the comments paint a different story and one that I feel is more pervasive.
ManageEngine ADManager Plus - Download Free Trial
Exclusive offer on ADManager Plus for US and UK regions. Claim now!
I’m afraid the comment is representative of how PowerShell is perceived by many IT admins. They don’t have time to learn anything new or their hair is constantly on fire (to borrow a favorite Jeffrey Snover phrase). Even though the concepts of cmdlets, parameters and a pipeline seem easy and practically self-apparent, they are not. Especially for an administrator who has never had to open a command window before. Granted GUI-based admin tools might have been cumbersome, but at least you could make some educated guesses about how to use it. A command line is very different.
Many of us in the PowerShell community have been involved with PowerShell for so long that I think we forget, I know I do, sometimes what the experience is like the first time you see a PS prompt. So what’s my point?
First, if you are a PowerShell professional, don’t forget what it was like the first time you saw a PS prompt. What can you do to help administrators learn, adopt and embrace PowerShell?
Second, how did you first approach using and learning PowerShell? Did you buy a book or take a class? Did you read the user guide? Did you even know there is a user guide? Do you have any newbie best practices?
Finally, I hope you’ll take a minute to read the original Mr. Roboto comments and let me know what you think. Is he right? Do you agree? Disagree? Are there directions you think Microsoft should take for future PowerShell versions?
PowerShell is here to stay and is only going to spread further into your datacenter. How do we make this process as easy and painless as possible?
I have found that working with colleagues showing them its not just for scripting gets people interested.
I looked at Monad, seemed cool but vbscript worked for me. Listened to a Powerscripting podcast on a long drive one day. Since then following twitter and then all of the blogs I assembled from those tweets, I was off and running.
My one fail in my own exploration is the .Net use. I remember an early proof of concept was comparing a simple ping function. I saw an article that explained how you could use .Net. Comparing it to previous vbs as well as the same method within Powershell I was impressed. However MSDN is still foreign to me as a Sysadmin and even with help I have found limitations (the the Updateagent that in VBS can connect to a remote computer but in Poweshell it can not) but I continue to try because when I have had success using .Net in a script as well as other libraries (MySql) is flat out fun and opens so many doors to SysAdmins.
While I can certainly sympathize with Jughead to an extent, I think he needs to take a step back, breathe and take it a little slower. I just recently started learning PowerShell with absolutely no programming experience as well. Granted, I have 12 years of IT experience which puts me at an advantage I still hated the idea of learning a “programming language” just to keep up in what I thought was a separate field all together. What did I do? After being frustrated with my 1st experience (I have to do what about signed scripts?!?!) I sucked up my pride and purchased PowerShell 2.0 for Absolute Beginners. I picked this book because it’s SPECIFICALLY for Admins with no programming experience meaning that it teaches very basic PowerShell but along with essential programming concepts. I was still a little lost until I found a situation that PowerShell would really help me in. I needed to change Admin passwords on 50 workgroup servers. With a lot of help from the MANY blogs and sites like Poshcode.org I was able to piece together a great little script to save me some time and a whole lot of tedious effort. After a few weeks of toying around with it I’ve become a huge fan of PowerShell. I still don’t know it all that well because I am VERY tight on time as well. My job keeps me quite busy and having two very young children ties up most of my time at home so in that aspect I can certainly sympathize. That being said though, learning PowerShell is still 100% possible for someone this busy with no programming experience. I would highly recommend Jughead just give it another chance and when you get frustrated ASK FOR HELP! Get on twitter and connect with some PowerShell guys. I’ve found them to be a valuable resource. Feel free to ask me (@evilemuofdoom) and I’ll even help you find a solution to your problem. Also, keep playing with the help files, once you get used to them you’ll see how great they really are.
Over the years I have had considerable experience with this old hack – not time to learn new tricks. This has been much of the issue behind the success of Windows in IT. The GUI has made management of the IT infrastructure much easier. The cost has been that today’s Administrators have become spoiled because they believe there is no learning with a GUI tool.
Not true!
The GUI is no different than CLI tools but does force tool designers to approach the layout of a tool in a much different way. By forcing all things through this much narrower and more defined interface we have been able to reuse past lessons in tool navigation.
With CLI tools we have no visual interface to display navigation and usage clues so some knowledge it required. In the past this baseline knowledge was normal and attainable by most Admins. Look at Unix. How many shells does the average Unix system support. It used to be normal for Admins to learn all the Unix shells as products would be delivered with support scripts in any of the normal shells.
Today Admins rely on the GUI the same as they relied on the older Unix shells. Newer “shells” in Windows seem like a return to the past and do not fit nicely into the modern Admin’s world. This is to be expected and, I suspect, is the normal evolution of the environment.
PowerShell is new now and, as such, it will be looked at skeptically by IT Managers and Admins for some time. Mostly PowerShell will be used by vendors and developers to simplify deployment of application management tools. We already have seen one of the first of these in “PowerGUI” which provides a GUI platform for the deployment of PowerShell scripts.
Maybe the modern Admin will never need to learn Windows Internals or PowerShell in the future. Most newer Admins that I have worked with have less knowledge about the technical aspects of computing and more knowledge about company policy and user satisfaction. This has been the drive of IT management since they are rated and funded based on these major TQM metrics.
The IT effort has been shifted and elevated. The computer and the software along with remote vendor support has taken the technology out of Information Technology. It would be better to call it Information Technology Support. Further advances in computer automation will undoubtedly remove all need for technical expertise at the corporate level as the network is moved farther into the cloud.