Q. Is PowerShell a scripting language?

A. Someone's going to get mad at me no matter which way I answer this, so I'll say "yes and no."

PowerShell is, first and foremost, a command-line environment. You run commands. That said, once you start stacking a bunch of commands together in a sequence and saving them in a text file, you're "scripting." PowerShell does have a few (just under two dozen) intrinsic keywords that form a sort of scripting language: If, For, Switch, and so on. So you can add logical, decision-making capabilities to a script as it grows more complex.

So PowerShell has a scripting language, but isn't a scripting language in and of itself. I find that thinking of PowerShell as "scripting" tends to lead to VBScript-style scripts, which often miss much of the flexibility, power, and concise operation that a pure-PowerShell approach would offer. 

Do you have a Windows PowerShell question? Find more PowerShell FAQs, articles, and other resources at windowsitpro.com/go/DonJonesPowerShell.