Actually, you could also say, it is an introduction into Windows Powershell from Microsoft. When I skimmed over the document, I came once again to the conclusion that Powershell is not really a shell, but just another scripting language.

This is at least true if you take the original meaning of the term “shell” which is just a user interface. Of course, you can also use Powershell on the command prompt. However, I doubt that many Windows sysops will really do this. Consider this example from the book which lists processes by its name and CPU time:

get-process | ForEach-Object { write-host $_.ProcessName $_.CPU}

Who really wants to type such longwinded commands? Yeah, you could also just use “get-process” to get a (different kind of) list of processes. But why not just use task manager for this? The point is, you usually need such a formatted list of processes only if you want to use it as input for another command. And that’s what I call scripting and not working on the command shell. Therefore, a better name for Powershell would have been “Powerscript” in my view.

I think that Windows doesn’t really need a powerful command shell because it has very powerful GUI tools. This is the main difference to Linux. However, there are some tasks you can’t even do with a powerful GUI. But then they are usually so complicated that a longwinded command won’t be of help either. That’s were scripts come in.

On my blog someone asked why Sever Core doesn’t support Powershell. The official answer to this question is that Powershell needs .Net which is not supported by Server Core. Another reason is that Server Core wouldn’t probably benefit much from Powershell because it is a scripting language and not a command shell.

Leave a Comment | Subscribe RSS | Newsletter |