3

I'm administering a network and they use a few scripts here. Mostly batch scripts or vbscript. It's a Windows environment, mostly Server 2008 with a few 2003 servers.

My question is Should I learn both VBscript and Powershell or just Powershell?

I'd like to learn how to automate some tasks and even do administration through cli but I'm not sure if Powershell is something that can replace VBscript for most administration tasks.

3 Answers 3

9

I'm a VBScript man, but even I've realised that the Windows world has shifted towards Powershell! All the Microsoft products are now extensively supporting Powershell extensions, and it's so much more powerful than VBScript. Embrace powershell!

3
  • For what it's worth this is pretty much the official Microsoft answer too.
    – EBGreen
    Jan 25, 2012 at 20:36
  • Yeah.. Learn both but focus on Powershell. :) Jan 25, 2012 at 21:04
  • +1 Learn VBS, but only so that you can port it to Powershell. :)
    – jscott
    Jan 28, 2012 at 1:26
0

That you have W2003 servers means you have systems without Powershell installed by default. You can still do PS stuff against them remotely, but unless you go to the trouble of standardizing (and keeping updated) a PS install on all of them, you will not be able to locally use PS on those machines.

Once upon a time at a job far, far from the one I now hold, I spent the time and effort to build up a set of common scripting tools and environments, and install them on all servers. I thought it would make my life easier, because I would thus have more powerful scripting tools available on all systems where I might need them. Ha! What I really did was commit myself to a bunch of extra work, keeping all those script tools updated on all those servers.

So now, I advocate defaulting to whichever script engine/interpreter is by default available and updated (updated by the OS itself, not manual means I must separately administer) on all the platforms where my scripts might ever have to run. So, if I could be certain my Windows machines were all Win7 or Win2008R2 (or later), then yes I'd begin the move to Powershell v2 for everything.

But if not, I would move to the next lowest common denominator - VBscript. And if for some wacky reason I still had NT systems to wrangle, I would move down to cmd.

I guess what I'm saying is, try to avoid building hamster wheels where possible. It may be the new shiny hamster wheel, but ... well. Your call.

0

For your immediate needs, seeing as you are mostly 2008, you should start with Powershell. It's an extremely powerful tool and can make your life a heck of a lot easier. Perhaps have someone that wrote the VBScript go over the code with you and see if you can follow the logic.

If you don't have a programming background, you may have a hard time understanding what's happening at first. However, once you understand the logic (not the specific code/ syntax) you can start writing things on your own.

You'll find that programming languages differ more in syntax than in logic.

For example, you can declare variables, use conditional logic, use loops and if/then statements across both VBScript and Powershell. They just differ in the syntax of the code.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .