运行Powershell而不是VBScript有什么好处?

时间:2012-03-26 18:02:49

标签: windows powershell vbscript

在使用这种脚本规划新项目时,Powershell和VBScript之间的主要区别是什么让我从一个到另一个选择?

2 个答案:

答案 0 :(得分:14)

与PowerShell相比,VBScript的功能非常有限。 PowerShell可以访问所有.NET库,因此您可以使用C#或VB.NET等语言来利用任何功能。您还可以加载任何.NET DLL并利用第三方库,例如在codeplex上找到的库。

PowerShell有一些限制,但很少会遇到它们。 Powershell在单个线程上运行,因此如果您尝试调用任何创建新线程(如BackgroundWorker)的.NET库,您将遇到问题。也就是说,你不能用VBScript进行任何并发处理。在PowerShell中,您至少有后台工作。

PowerShell也是互动的。这允许您首先在控制台上尝试并将它们集成到更大的更复杂的脚本中。

PowerShell还提供了许多免费的开发和调试工具。它有一个实际上称为ISE。另一个可以从Quest获得,名为PowerGUI。如果你想在VBScript中使用类似的东西,你必须使用像Visual Studio这样的东西,用cscript //X启动你的脚本,或使用像PrimalScript这样昂贵的东西。

与VBscript相比,PowerShell通常允许您用更少的资源做更多事情。在某些情况下,您可以将PowerShell中数百行的VB脚本减少到几十行。

如果您发现自己在某个时候阅读了BASH脚本,那么在选择PowerShell之后您可能会对它的熟悉程度感到惊讶。语法类似。此外,将PowerShell代码转换为C#也很容易,反之亦然。这很好,因为如果你找不到直接使用PowerShell做一些事情的例子,你可以在C#中找到一个例子,它可以很容易地转换为PowerShell。

答案 1 :(得分:2)

Powershell除非你有充分的理由不这样做,因为这是微软为其所有平台的操作系统和应用程序自动化设计的。但是,您可能希望阅读Microsoft PowerShell站点中的详细信息。它有很多东西,vbscript不会做或很难做,如远程执行,安全性等。