<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Comments on: Why PowerShell, Servermanagercmd and co. don’t really rock on the command prompt</title>
	<atom:link href="http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/feed/" rel="self" type="application/rss+xml" />
	<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/</link>
	<description>For Windows Administrators</description>
	<lastBuildDate>Fri, 06 Nov 2009 09:37:59 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Michael</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-61193</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Wed, 16 Apr 2008 19:42:51 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-61193</guid>
		<description>Bryan, I agree that scripting languages have advantages over compiler-based languages. For smaller projects, I would prefer a scripting language. For large projects I want a sophisticated IDE. I also agree that both, CLI and GUI, have their place. I guess we disagree only with respect to the kind of tasks where a CLI comes into play. My point of view is very simple: Only use a CLI if you can’t perform the task with a GUI.</description>
		<content:encoded><![CDATA[<p>Bryan, I agree that scripting languages have advantages over compiler-based languages. For smaller projects, I would prefer a scripting language. For large projects I want a sophisticated IDE. I also agree that both, CLI and GUI, have their place. I guess we disagree only with respect to the kind of tasks where a CLI comes into play. My point of view is very simple: Only use a CLI if you can’t perform the task with a GUI.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-61169</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Wed, 16 Apr 2008 13:45:52 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-61169</guid>
		<description>Sorry for taking so long to reply. And thanks for the feedback!

I didn&#039;t mean to suggest that a c# program CANNOT take output, parse it, feed it to something else. Obviously it can. The difference is that scripting environments/languages are designed with this as a regular task. So it takes a lot less coding to actually *do* it. Also, you can do it interactively - type out your command, hit enter, watch it run. No compile step.

I&#039;m certainly not saying CLI should replace GUI. Both have their place. But I would be very loathe to administer any OS which provided no CLI at all! No matter how many features it has, there will always be something we need to do today, for which that exact feature has not been implemented yet, and a compiled language with an IDE is overkill.

To respond to your other points would just be a repeat of what I already said, so ... nahh.</description>
		<content:encoded><![CDATA[<p>Sorry for taking so long to reply. And thanks for the feedback!</p>
<p>I didn&#8217;t mean to suggest that a c# program CANNOT take output, parse it, feed it to something else. Obviously it can. The difference is that scripting environments/languages are designed with this as a regular task. So it takes a lot less coding to actually *do* it. Also, you can do it interactively &#8211; type out your command, hit enter, watch it run. No compile step.</p>
<p>I&#8217;m certainly not saying CLI should replace GUI. Both have their place. But I would be very loathe to administer any OS which provided no CLI at all! No matter how many features it has, there will always be something we need to do today, for which that exact feature has not been implemented yet, and a compiled language with an IDE is overkill.</p>
<p>To respond to your other points would just be a repeat of what I already said, so &#8230; nahh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-60140</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Wed, 09 Apr 2008 20:44:37 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-60140</guid>
		<description>Bryan, I didn’t say that you can build a GUI that allows you to do everything you can with a scripting language. What I said is rather trivial. A certain script you wrote just extends the functionality of the operating system or maybe Active Directory or Exchange. This functionality could have been included in the corresponding GUI tools. So scripting is nothing else but programming. You add features.

I don’t understand why you think a C# program shouldn’t be able to take the output of another program as its input, though. We do this all the time.

I think that GUIs are “more human” because they are easier to handle for humans. If you want to talk to a computer using PowerShell, you have to invest a considerable amount of time first. If you want to talk to a computer in binary code, you have to invest even more time, but it costs the computer less time to process it. GUI’s are more advanced user interfaces and that’s why computers need a considerable amount of time to process this kind of input. The next generation of user interfaces will cost even more processing time, but they will also mean less work for humans. That’s what I meant.</description>
		<content:encoded><![CDATA[<p>Bryan, I didn’t say that you can build a GUI that allows you to do everything you can with a scripting language. What I said is rather trivial. A certain script you wrote just extends the functionality of the operating system or maybe Active Directory or Exchange. This functionality could have been included in the corresponding GUI tools. So scripting is nothing else but programming. You add features.</p>
<p>I don’t understand why you think a C# program shouldn’t be able to take the output of another program as its input, though. We do this all the time.</p>
<p>I think that GUIs are “more human” because they are easier to handle for humans. If you want to talk to a computer using PowerShell, you have to invest a considerable amount of time first. If you want to talk to a computer in binary code, you have to invest even more time, but it costs the computer less time to process it. GUI’s are more advanced user interfaces and that’s why computers need a considerable amount of time to process this kind of input. The next generation of user interfaces will cost even more processing time, but they will also mean less work for humans. That’s what I meant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-58755</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Mon, 31 Mar 2008 18:49:52 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-58755</guid>
		<description>I&#039;m another who takes exception to the base idea that if you need to script a task, the GUI didn&#039;t provide enough options/flexibility.

I beleive that there are a lot of cases where, if you built up a GUI that could do everything a scripting interface allows, you would have something so byzantine and baroque that simple tasks would be difficult to accomplish - especially for those who are less experienced in the sysadmin craft.

I fully agree that you should have a base understanding of how the underlying tech works, and you should be able to visualize what is that you want your script/GUI actions to accomplish (and how the technology building blocks will go about making it happen) *before* you begin typing or mousing your way through telling the system to do the task.

But with a complex scripting language *or* GUI, and a full understanding of what it is you want to accomplish, there will probably still be points where you need to stop and think about syntactical issues, or look up the syntax. With a checkbox in a GUI - does that checkbox add the property, or remove it? Press the HELP button to find out!

I find it is handy to have two CMD/PS windows open - one for the script I am writing or commands I am entering, another for running help commands to see the syntax of the command I am about to enter. If you only have one cmd window, you can type out half a command from memory, then be staring at the blinking cursor, wondering about syntax of the next clause in your statement. This is partly why some people have a perception of the CLI as being less productive than the GUI, where you have more in view - and where help buttons pop new windows.

You tossed off the idea that any programming language can aqccomplish the same sorts of automation that scripting can. Again, I beg to differ. Shell activities, where your script needs to run various programs, parse their output into something another program can use, then perhaps parse the output of that - these are fundamentally different than the sort of programing you&#039;d do in c# or some similar language, where most or all of the time, the universe of interaction is *within* the program doing the work.

Finally, the idea that the GUI is &quot;more human.&quot; Well, doesn&#039;t this depend on the human? Some folks love their GUIs - but others feel more comfortable at a command line. I don&#039;t think that GUI = one size fits all. Same is true for CLI. Having both worlds available makes me more comfortable as an admin, not less. Although at the ned of the day, when I need a succinct and authoritative way of documenting the actions I have performed, I would prefer writing out the CLI commands as opposed to a long document full of &#039;click Next. Now click the Advanced button on the window labelled Foo, scroll the list and ...&#039; (you get the point, I hope).

I could go on about this at length, but I&#039;ll end here. Thanks for a thought-provoking article.</description>
		<content:encoded><![CDATA[<p>I&#8217;m another who takes exception to the base idea that if you need to script a task, the GUI didn&#8217;t provide enough options/flexibility.</p>
<p>I beleive that there are a lot of cases where, if you built up a GUI that could do everything a scripting interface allows, you would have something so byzantine and baroque that simple tasks would be difficult to accomplish &#8211; especially for those who are less experienced in the sysadmin craft.</p>
<p>I fully agree that you should have a base understanding of how the underlying tech works, and you should be able to visualize what is that you want your script/GUI actions to accomplish (and how the technology building blocks will go about making it happen) *before* you begin typing or mousing your way through telling the system to do the task.</p>
<p>But with a complex scripting language *or* GUI, and a full understanding of what it is you want to accomplish, there will probably still be points where you need to stop and think about syntactical issues, or look up the syntax. With a checkbox in a GUI &#8211; does that checkbox add the property, or remove it? Press the HELP button to find out!</p>
<p>I find it is handy to have two CMD/PS windows open &#8211; one for the script I am writing or commands I am entering, another for running help commands to see the syntax of the command I am about to enter. If you only have one cmd window, you can type out half a command from memory, then be staring at the blinking cursor, wondering about syntax of the next clause in your statement. This is partly why some people have a perception of the CLI as being less productive than the GUI, where you have more in view &#8211; and where help buttons pop new windows.</p>
<p>You tossed off the idea that any programming language can aqccomplish the same sorts of automation that scripting can. Again, I beg to differ. Shell activities, where your script needs to run various programs, parse their output into something another program can use, then perhaps parse the output of that &#8211; these are fundamentally different than the sort of programing you&#8217;d do in c# or some similar language, where most or all of the time, the universe of interaction is *within* the program doing the work.</p>
<p>Finally, the idea that the GUI is &#8220;more human.&#8221; Well, doesn&#8217;t this depend on the human? Some folks love their GUIs &#8211; but others feel more comfortable at a command line. I don&#8217;t think that GUI = one size fits all. Same is true for CLI. Having both worlds available makes me more comfortable as an admin, not less. Although at the ned of the day, when I need a succinct and authoritative way of documenting the actions I have performed, I would prefer writing out the CLI commands as opposed to a long document full of &#8216;click Next. Now click the Advanced button on the window labelled Foo, scroll the list and &#8230;&#8217; (you get the point, I hope).</p>
<p>I could go on about this at length, but I&#8217;ll end here. Thanks for a thought-provoking article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TechProsaic</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-54778</link>
		<dc:creator>TechProsaic</dc:creator>
		<pubDate>Mon, 03 Mar 2008 20:52:14 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-54778</guid>
		<description>&lt;strong&gt;Server 2008 &amp; PowerShell discussion, continued&lt;/strong&gt;

My long reply to a long reply was getting a bit&#8230;long, so I thought I&#8217;d move it here.  Much easier to do the editing in Live Writer anyhow.   
You can find the original article and several comments from myself and the author at this blog pos...</description>
		<content:encoded><![CDATA[<p><strong>Server 2008 &amp; PowerShell discussion, continued</strong></p>
<p>My long reply to a long reply was getting a bit&#8230;long, so I thought I&#8217;d move it here.  Much easier to do the editing in Live Writer anyhow.<br />
You can find the original article and several comments from myself and the author at this blog pos&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hal Rottenberg</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-54777</link>
		<dc:creator>Hal Rottenberg</dc:creator>
		<pubDate>Mon, 03 Mar 2008 20:50:24 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-54777</guid>
		<description>I went ahead and blogged my rebuttal and provided a link back here for those who want to read your article.  http://halr9000.com/article/467</description>
		<content:encoded><![CDATA[<p>I went ahead and blogged my rebuttal and provided a link back here for those who want to read your article.  <a href="http://halr9000.com/article/467" rel="nofollow">http://halr9000.com/article/467</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-54769</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Mon, 03 Mar 2008 20:07:04 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-54769</guid>
		<description>Hal, thanks for your comprehensive comment. It is ok to be biased, I am biased, too. ;-)
PowerShell is certainly a much better shell than CMD. But like any other command shell, it suffers from the same problems I described in my post.
The aliases are certainly a good way to prevent finger arthritis. But they don’t solve the much bigger problem of memorizing all those commands. Maybe that is not a problem if you are working with a limited number of commands. That is, if you are a specialist for just one field, say IIS administration, then you won’t have this problem. However, software is getting more and more complex. Hence the commands you need get more complex, too. And if you have to consult a manual first, you are already slower than with a GUI.
I agree that one often needs scripts because of the shortcomings of graphical tools. However, I don’t think that software vendors don’t know what kind of task we have to do. Usually, they just include those features the majority needs. So if you have a special problem, you have no other choice but to program your own solution. But it is a matter of fact that management tools are getting more and more sophisticated. The number of software vendors offering tools for administrators has been growing dramatically in the last years. And if there is a tool that solves your problem, it is always cheaper to spend some money on it than having to do it yourself. Any kind of programming is extremely expensive because it is often very time consuming.

Aaron, why do you think that GUI tools are more prone to mistakes?

All in all, I think working on the command prompt, PowerShell or CMD, is a step back. I am looking forward to far more advanced graphical interfaces like Microsoft surface, 3D interfaces or maybe even with VR (virtual reality). Talking to a computer on the command prompt seems to be quite old-fashioned for me.</description>
		<content:encoded><![CDATA[<p>Hal, thanks for your comprehensive comment. It is ok to be biased, I am biased, too. <img src='http://4sysops.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
PowerShell is certainly a much better shell than CMD. But like any other command shell, it suffers from the same problems I described in my post.<br />
The aliases are certainly a good way to prevent finger arthritis. But they don’t solve the much bigger problem of memorizing all those commands. Maybe that is not a problem if you are working with a limited number of commands. That is, if you are a specialist for just one field, say IIS administration, then you won’t have this problem. However, software is getting more and more complex. Hence the commands you need get more complex, too. And if you have to consult a manual first, you are already slower than with a GUI.<br />
I agree that one often needs scripts because of the shortcomings of graphical tools. However, I don’t think that software vendors don’t know what kind of task we have to do. Usually, they just include those features the majority needs. So if you have a special problem, you have no other choice but to program your own solution. But it is a matter of fact that management tools are getting more and more sophisticated. The number of software vendors offering tools for administrators has been growing dramatically in the last years. And if there is a tool that solves your problem, it is always cheaper to spend some money on it than having to do it yourself. Any kind of programming is extremely expensive because it is often very time consuming.</p>
<p>Aaron, why do you think that GUI tools are more prone to mistakes?</p>
<p>All in all, I think working on the command prompt, PowerShell or CMD, is a step back. I am looking forward to far more advanced graphical interfaces like Microsoft surface, 3D interfaces or maybe even with VR (virtual reality). Talking to a computer on the command prompt seems to be quite old-fashioned for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-53940</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Fri, 29 Feb 2008 10:48:33 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-53940</guid>
		<description>It would have been nice to have driven Server Manager via PowerShell, we would have had access to the monitoring features as well, but unfortunately PowerShell was&#039;t an included feature until too far down the track.

In most cases, I find I get things done faster via the command line, but I think the best reason for using command lines tools whereever possible is consistency. GUI tools make it too easy to make mistakes.</description>
		<content:encoded><![CDATA[<p>It would have been nice to have driven Server Manager via PowerShell, we would have had access to the monitoring features as well, but unfortunately PowerShell was&#8217;t an included feature until too far down the track.</p>
<p>In most cases, I find I get things done faster via the command line, but I think the best reason for using command lines tools whereever possible is consistency. GUI tools make it too easy to make mistakes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hal Rottenberg</title>
		<link>http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/comment-page-1/#comment-53809</link>
		<dc:creator>Hal Rottenberg</dc:creator>
		<pubDate>Thu, 28 Feb 2008 22:09:10 +0000</pubDate>
		<guid isPermaLink="false">http://4sysops.com/archives/why-powershell-servermanagercmd-and-co-don%e2%80%99t-really-rock-on-the-command-prompt/#comment-53809</guid>
		<description>(fanboy warning--i&#039;m slightly biased)

Good article overall but I have to take exception with two points.  

Above you talk about how you can do things faster in bash than in any CLI Windows because the commands are too verbose, or opaque or not robust enough.  And you seem to lump PowerShell in with CMD.EXE and that&#039;s what mystifies me.  

PowerShell tackles the verbosity issue very well with aliases and shortened parameters.  Aliases are self-explanatory.  A shortened param is the shortest unique string of a parameter.  e.g. &quot;ls -r&quot; is equal to &quot;Get-ChildItem -recurse&quot;.  This works because recurse is the only param to that cmdlet which starts with an R.  When you have conflicts, you just type as many letters required to make it unique.

The opacity/usability issue and robustness are handled by posh with the built-in help files, tab-completion on parameters, and detailed error objects, and the &quot;-whatif&quot; parameter supported on many cmdlets.

The second statement I disagree with is how you discount scripting because it is either something the vendor should&#039;ve done or something that can be done with any programming language.  

I wonder if you are just trying to pick a fight with that one.  If so, it worked.  :)  As a long time system administrator, I can tell you that most of the time, developers have no clue what sysadmins need.  If they knew what we wanted, then maybe they would put that stuff in their app--but maybe not, those sorts of things aren&#039;t very sexy and marketing doesn&#039;t care about that stuff.  Besides--who knows what sort of weird combinations of stuff you&#039;ll want to do with umpteen different packages from various vendors.  There&#039;s no way my needs can be met perfectly, and why should I wait for someone else to fix it if I have the tools to do so myself?

And programming languages, while they handle the same sorts of tasks as scripting languages, there really core design differences.  The focus is on totally different job functions.  Besides, why would I design, compile, test, fix, compile, test, etc. a program when I can bolt together modular scripts interactively?  Besides, scripting languages are a higher level than most programming languages, and that appeals to sysadmins who do not want or need to learn an API.

I do have to agree with you about servercmd...Obviously the timing did not work out such that they could have done all of what was needed consistently with PowerShell or they would have done that.  As it stands, the &quot;everything aside from powershell&quot; CLI functions in windows is sub-par.  It&#039;s getting better though.

thanks

Hal, co-host, PowerScripting Podcast</description>
		<content:encoded><![CDATA[<p>(fanboy warning&#8211;i&#8217;m slightly biased)</p>
<p>Good article overall but I have to take exception with two points.  </p>
<p>Above you talk about how you can do things faster in bash than in any CLI Windows because the commands are too verbose, or opaque or not robust enough.  And you seem to lump PowerShell in with CMD.EXE and that&#8217;s what mystifies me.  </p>
<p>PowerShell tackles the verbosity issue very well with aliases and shortened parameters.  Aliases are self-explanatory.  A shortened param is the shortest unique string of a parameter.  e.g. &#8220;ls -r&#8221; is equal to &#8220;Get-ChildItem -recurse&#8221;.  This works because recurse is the only param to that cmdlet which starts with an R.  When you have conflicts, you just type as many letters required to make it unique.</p>
<p>The opacity/usability issue and robustness are handled by posh with the built-in help files, tab-completion on parameters, and detailed error objects, and the &#8220;-whatif&#8221; parameter supported on many cmdlets.</p>
<p>The second statement I disagree with is how you discount scripting because it is either something the vendor should&#8217;ve done or something that can be done with any programming language.  </p>
<p>I wonder if you are just trying to pick a fight with that one.  If so, it worked.  <img src='http://4sysops.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   As a long time system administrator, I can tell you that most of the time, developers have no clue what sysadmins need.  If they knew what we wanted, then maybe they would put that stuff in their app&#8211;but maybe not, those sorts of things aren&#8217;t very sexy and marketing doesn&#8217;t care about that stuff.  Besides&#8211;who knows what sort of weird combinations of stuff you&#8217;ll want to do with umpteen different packages from various vendors.  There&#8217;s no way my needs can be met perfectly, and why should I wait for someone else to fix it if I have the tools to do so myself?</p>
<p>And programming languages, while they handle the same sorts of tasks as scripting languages, there really core design differences.  The focus is on totally different job functions.  Besides, why would I design, compile, test, fix, compile, test, etc. a program when I can bolt together modular scripts interactively?  Besides, scripting languages are a higher level than most programming languages, and that appeals to sysadmins who do not want or need to learn an API.</p>
<p>I do have to agree with you about servercmd&#8230;Obviously the timing did not work out such that they could have done all of what was needed consistently with PowerShell or they would have done that.  As it stands, the &#8220;everything aside from powershell&#8221; CLI functions in windows is sub-par.  It&#8217;s getting better though.</p>
<p>thanks</p>
<p>Hal, co-host, PowerScripting Podcast</p>
]]></content:encoded>
	</item>
</channel>
</rss>
