Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question

3 Answers 3

up vote 9 down vote accepted

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!

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

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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.