Poll: PowerShell vs. GUI – Do you want to be a DevOp or an Admin?

In this poll, I would like to know whether you prefer PowerShell or a graphical user interface (GUI) for managing computers in your corporate network—that is, if you prefer to be an Admin or a DevOp (explained below).

Michael PietroforteMVP By Michael Pietroforte - Thu, December 13, 2012 - 30 comments google+ icon

Michael Pietroforte is the founder and editor of 4sysops. He is a Microsoft Most Valuable Professional (MVP) with more than 30 years of experience in system administration.

There is no longer any doubt that important changes are happening in the Windows administration world. Microsoft has been pushing PowerShell for quite a while, not only as a scripting language but also as a configuration interface for system administrators. In Windows Server 2012, this shift has become more than obvious. Windows Server 2008 R2 has about 230 cmdlets, whereas Windows Server 2012 comes with ~2,430 cmdlets. The fact that Jeffrey Snover, the inventor of PowerShell, is now Windows Server lead technical architect is a clear sign in which direction Microsoft is heading with regard to system administration.

I’d like to quote a statement that Jeff Alexander, IT Pro evangelist at Microsoft, made in an interview with Paul Schnackenburg on 4sysops:

So I think the forward thinking IT professional has to look at having a broader set skill set across both operations and dev. I don’t think we can limit ourselves anymore. I think there’s going to be quite a crossover or hybrid. I guess we could call it DevOps.

A while back, I was joking about “developmins,” not knowing that Microsoft (probably Jeffrey Snover) has already coined another term and that they are quite serious about it. But can this really be true? Does the system administrator belong to an endangered species? Will it be extinct, or will sysops mingle with the developer species and become DevOps? You think Jeff Alexander is exaggerating? If you are an Exchange 2013 admin/developer/DevOp, you know what I am talking about. If you want to get serious about Exchange, PowerShell skills are a must.

You think you can avoid learning PowerShell by moving your Exchange server to the cloud? I can assure you that this would only get you out of the frying pan and right into the fire. The administration web interface of Office 365 is extremely limited; for the simplest configuration tasks, such as changing the password expiration policy of a single user, you need—guess what? —right, PowerShell!

For many administrators working in the Microsoft ecosystem, this will mean that in the future they no longer have the choice of whether to work with PowerShell or not. Most admins have acknowledged this fundamental shift and began studying PowerShell diligently.

However, another question is whether admins really like this change, and this is what this poll is about. I would like to know if you prefer PowerShell or a GUI for system administration. Or, in other words:

Do you prefer to be an Admin or a DevOp?



View Results

-1+1 - Rate this post
Loading ... Loading ...
Your question wasn't answered? Ask in the new 4sysops forum!

30 Comments- Leave a Reply

  1. CJ says:

    This should also work the other way, if Microsoft wish us to be DevOps they should insist that developers also know their way around network layers and understand basic security principles.
    How many (I will limit this to in house) applications do we see that need admin privilege to run because the app developer didn’t know how to code it properly or SQL SA access for the “working account” because it is easier to code or a hard coded drive mapping that cannot be changed.

  2. CJ, I absolutely agree. I believe that every developer who writes applications for sys admins should have worked as an admin for a couple of years. Many of the PowerShell issues appear to be related to the fact that many of Microsoft’s developers are high profile engineers who never really worked with GUI admin tools. I will say more about this in my analysis of the poll results.

  3. Babun says:

    I’d rather be a sysadmin that uses powershell than one that doesn’t. I really don’t think it’s such a big deal if you use powershell – the learning curve really isn’t very steep in the stuff you have to do – but i believe by working like this it’s possible to make your work more effective and the code less prone to bugs (if it doesn’t have to support more than 1 interface). I think a comparison of up/downsides would be what the sensible sysadmin would contemplate.

    And I think the devop term is kinda silly and redundant, sysadmin is fine even for powershell users :)

  4. Babun, I think the term “devop” implies that you not only work on a PowerShell CLI, but that for more and more Windows administration tasks you now have to script. Thus I don’t think that the term is redundant. There is a real change here. DevOps are actually developers who specialize in the field of system administration. And if it is true what Jeff Alexander says, then we no longer need sys admins. So it is not the cloud that fundamentally changes how IT pros work but PowerShell.

  5. Paul says:

    I think powershell can be a good thing for automating tasks in large environment. I work in the SMB space and exchange admin is far easier and quicker using a GUI. O365 admin is a total pain at the momment, buti i’m hoping the web interface for EX2013 will make its way to O365 soon.

    Both is good, we need both.

  6. Paul, it is a popular view that PowerShell’s main advantage over GUI tools is that you can automate tasks with it. However, I strongly disagree with this view. I will outline my opinion in detail soon. My main point will be that this view is based on the false assumption that the capability of a tool to automate tasks has something to do with its type of user interface.

  7. Paul says:

    You’re right Michael. However Microsoft have not provided a way to automate tasks through the GUI, only using scripts.
    I look forward to your next update on this :)

  8. Paul, I think we disagree on what the word “automate” means because in my view Microsoft offers great GUI tools for automating administration tasks.

  9. I am playing around with Sharepoint 2013 and it seems that powershell skills are a must have. I am spending more time in powershell than I spend in the central administration. Microsoft has taken it to the extreme on the new Office Web Apps Server. The only gui you have is during the installation, everything else is powershell only. Altough I like powershell in general, I am not shure i like converting into a full-blown linux-like Devop.

  10. Christian, the question is for what exactly you spend the time for. For administrative tasks or for figuring out the right syntax?

  11. ChristopherO says:

    This had been bugging me as well. I like the idea of power shell, but in don’t want to be forced to use it without GUI options. As an IT Generalist (aka one man IT shop) there are a lot of things I end up doing once or once every blue moon. Certainly not enough to memorize command and syntax. It is so much easier to highlight a few names, right click and change what I need than to figure a way to filter them or create a CSV file to feed a script, and then remember all of the flags and the order the flags go in…etc etc. Yeah, I know compared to Linux admins we have had it easy for a long time, but that’s been what has kept so many SMBs in the Microsoft camp IMO – its easier for one admin to handle more when we have an easy GUI to use. I’ll be the first to admit that I need to learn more powershell, but I don’t want to be forced into it. Is a decent interface that hard and time consuming to write that you want to force us to learn CLI? I mean the interface can even have a powershell back end to it! But please make it faster than AD Administrative Center…gosh that thing is dog slow. Maybe that’s why we are seeing them pull away from interfaces?
    OK I’m done ranting for now…

  12. Christopher, you are right. Especially for IT generalists working with a CLI can be very time consuming because you spend most of the time figuring out the right syntax for a simple task which you probably only need to do once. I also feel that Microsoft forces admins to work with PowerShell. In the beginning you always heard that both ways will be supported in the same way. Unfortunately, it turned out that this wasn’t really true. With every new release of a Microsoft enterprise product, the number of administration tasks that can only be done with PowerShell increases.

  13. K Harris says:

    being a windows admin at a broker company , i had to learn powershell just to move a database from sharepoint to a new sharepoint server and found that to be very time cosuming and was pissed that microsoft didnt put a migrate option on the gui for sharepoint and the backup option thru the gui just doesnt work right, you are force to export the database using powershell and import it to the new server with powershell, what i though was going to be a 30 min job, turned into 3 hours of research, i believe microsoft made it so easy that anyone could be a server admin, then relized they need to make it hard again so their cert sells would jump, but didnt realize that at a small business we use them because its quicker to click things than to type of a full command, and if you dont use powershell everday you will have a hard time learning it, i only open it when i am forced to, sharepoint, and exchange 2010 so far, i hate it, they should have just kept the cmd and added new commands or something, because i catch myself still opening cmd and running commands instead of opening powershell.

  14. Yeah, that is the main downside of PowerShell. You often waste a lot of time with just figuring out the right syntax without learning anything substantial about the technology behind. However, I don’t think that this has something to do with certs. Microsoft earns money with selling Windows and Office. In the beginning big companies requested a better scripting solution. Then came the success of PowerShell and now Microsoft is overdoing it. If they don’t find the golden mean they will lose many small businesses to Apple.

  15. K Harris says:

    i do agree they may loose the small guys, but i signed up for trainsignal and will try to learn and understand the power of powershell since i see more and more jobs requiring it for windows server admin positions in dallas :(

  16. Marco Shaw says:

    I think the “Dev” in “DevOps” is being oversimplified here. Silly rule of thumb, if you’re talking about a 5 line PowerShell script, you are not “developing”, even if you’re using PowerShell and know what you’re doing. I think the bar will be raised for sys admins, and this will include scripting and automation, but this does not promote the sys admin to be a “DevOps” person. DevOps is more about how developers and operators can work together to streamline processes. To me this is all about one-touch releases into production. For someone to be able to launch (or change) something into production with a single-click, means dev and ops need to be working closely together so that everything from servers, middleware, applications, networking, supporting applications (backups, monitoring, etc.) (ie every piece) all “just happens”. My 2 cents on what “DevOps” is all about…

  17. K Harris, since many Windows admin task require now PowerShell skills it is expected that in the future you won’t get a job as admin without speaking PowerShell. Thus I think learning PowerShell is a must.

    Marco, how many lines of codes does it need to justify the term “developing”? 6? 10? 100? And who says that DevOps are developing? Maybe they are just devoping? That would allow us to distinguish three classes of IT pros: First class: developer, second class: DevOP, third class: GUI admin. ;)

  18. Stephane says:

    “DevOps” is really the good term. In the futur we will maybe develop GUI interface for simplified windows administration.
    At school as developer we learn how to develop user-friendly interface but now maybe we will let basic users to learn all SQL queries and stop developing GUI for them ? :)

  19. Erik says:

    “DevOps” concept originated over on the UNIX/Linux side of the systems administration field, with the recognition that large chunks of the modern SysAdmin’s job is automation, which requires a significant “programming” component.

    As someone who is a UNIX person, the lack of a reasonable CLI interface to administer Windows systems has always been a crippling disability. GUI tools are inherently limited to whatever model the developer of the tool decided to use, and are almost universally useless for repeated tasks.

    Powershell is a GoodThing for Windows. It’s major issue for me is that it’s a prime example of DIY/NIH attitude – rather than simply adopt something like Perl as the new scripting language, and write modules for Perl to do all the Windows-specific tasks, Powershell is Yet Another Slightly Different System to use and learn. The problem here is that the people writing systems admin tools are almost NEVER the people who actually do SysAdmin work for a living, day in and day out. Consequently, they fail to realize the increasing workload in terms of technology knowledge that a SysAdmin has to know to work in the modern IT workplace. Each new tool has a new language to go with it, slightly different conceptual model, idiosyncratic syntax, and a lack of interoperability with every other tool.

    I’m not criticizing only Windows here. UNIX/Linux has this problem in spades, too, which is even more glaring there since the history of UNIX is to build small special-purpose tools and use shell scripting to wire them together into larger tools; recently, UNIX/Linux has gone towards the OneBigTool attitude also, and it’s not a good idea.

    Here’s an example from my typical day, and note that right now, I’m only working at a small (<100 people) company doing content delivery. I use all of the following for IT-related (not even Dev-related) tasks:

    Ruby, Powershell, Perl, Bash shell, VMWare Scripting, Nagios scripting, Java, and the usual sed/awk/grep.

    The sad thing here is that all of my needs would easily be fulfilled by Bash Shell plus either Perl or Python with the proper vendor-module support, and that would give me a great cross-platform fix. But NO, each product vendor has its own "preferred" language/tool, and they notoriously won't interoperate well. It's lunacy.

    Not to mention the extreme amounts of cognitive effort it takes to swap back and forth from a Java to Powershell to Ruby script

  20. Stephane, I have heard rumors that Office 2015 will have no GUI but a PowerShell interface instead. Microsoft officials said that will allow end users to automate writing tasks. I guess we could call them DevWriters. ;-)

    Erik, what makes you think that automation requires a programming component?

  21. Domagoj says:

    This is apples and oranges…
    As good admin you need both of them.
    Powershell is best thing that happened to windows administration because now it is easy for me to automate things and not have click marathon in standard GUI tools.
    I have made a GUI for some of my powershell scripts (called WPF from powershell, it is all .NET anyway).
    I would like that there is official solution for making a GUI in powershell.

  22. Domagoj, what are doing with your GUI? Automate things?

  23. Aaron says:

    When PowerShell first came out I rolled my eyes because I didn’t understand why they didn’t just add to cmd options. Now that I’ve become much more well versed, I really like PowerShell. It’s more intuitive and powerful.

    I think the requirement for developer skills will keep increasing. There’s a learning curve, but I think doing as much administration with PoSH as possible is the way to go.

    Having said that, I still think GUI is needed. When the crap hits the fan, I don’t want to be searching for just the right syntax to display the system info I need to troubleshoot.

    If you are interested in improving your PowerShell skills, I would highly encourage participation in the Scripting Games. I participated last year, and I felt it went a long way towards making me proficient. http://powershell.org/wp/2013/04/03/2013-scripting-games-schedule/

  24. Leif says:

    I think this will really come down to what companys will pay for. It really is a matter of money. Some companies will need to have people that understand Powershell and use it every day some companies just need a guy to click next and keep all the users inline.

  25. Aaron, the interesting question is why the requirement for developer skills for admins is increasing? I have been thinking about this question for a while, but so far I didn’t find a good answer. I mean what exactly changed in the past few years in corporate IT aside from the fact that Microsoft is pushing PowerShell? Or was Microsoft just wrong before when they counted on GUIs only and now they are just correcting their wrong strategy?

    Leif, I agree. PowerShell skills don’t come for free. The question is how much these skills cost for companies and how good the ROI is.

  26. I just started a discussion in the 4sysops forum about the question mentioned above. Why do admins have to become PowerShell devops?. Come over and join the debate.

  27. Jason says:

    Michael,

    You keep repeating that you can automate in the GUI, I suppose I’d have to understand that to really get at the heart of your argument. That being said, you ask in one of your responses if the move to powershell is a new requirement or if the old strategy was incorrect. Moving towards a system that empowers admins by directly exposing Windows APIs is the correct strategy, limiting admins to GUIs is ineffective and inappropriate.

    I imagine that I fall into the devops category as you define it. I am an admin and I occasionally use a GUI, the bulk of the time I perform my tasks through the commandline. Additionally when our lower tier admins require a tool to perform their job functions I build it for them, whether the tool has a GUI or just uses the powershell console.

    Microsoft is putting less effort into GUIs and more effort into an extremely versatile command shell that provides a flat surface for learning all of their products. In addition to their own products, Microsoft, and the PowerShell community, puts pressure on third party vendors to generate their own PowerShell extensions. VMWare, NetApp and Cisco are just a few vendors with extensive powershell libraries and vibrant PowerShell communities.

    As you develop PowerShell expertise you aren’t silo’d into a particular product or technology. I’m a PowerShell admin regardless of whether I’m working with a SAN, My virtual Infrastructure, my IaaS provider or any of my Microsoft products. All the effort you put into learning a GUI is wasted when that GUI changes or when you move to a new GUI. I started working with my Cisco UCS for the first time a few weeks ago and within minutes I was able to perform, and automate any task the UCS admin could think of. The question isn’t should you be devops or an admin, the question is should you learn PowerShell or get pushed into another field, there will be less and less room for admins without PowerShell expertise going forward.

    - Jason

  28. Jason, I replied in the forum.

  29. Andrew says:

    SysAdmins are pretty much just junior DevOps engineers anyway. DevOps is a natural career progression from SysAdmin for those who want to continue to challenge themselves instead of just collecting a paycheck for clicking pretty buttons.

  30. Andrew, I sense some strong negative emotions in your comment. Where do you think do they come from? I wonder what the source is of this hostility between development and operations .

===Leave a Comment===

Login

Lost your password?