我正在管理一个网络,他们在这里使用了一些脚本。大部分是批处理脚本或 vbscript。这是一个 Windows 环境,大部分是 Server 2008,还有一些 2003 服务器。
我的问题是我应该同时学习 VBscript 和 Powershell 还是只学习 Powershell?
我想学习如何自动执行某些任务甚至通过 cli 进行管理,但我不确定 Powershell 是否可以替代 VBscript 执行大多数管理任务。
答案1
我是一名 VBScript 爱好者,但就连我也意识到 Windows 世界已经转向 Powershell!现在,所有 Microsoft 产品都广泛支持 Powershell 扩展,它比 VBScript 强大得多。拥抱 powershell!
答案2
如果您拥有 W2003 服务器,则意味着您的系统默认未安装 Powershell。您仍然可以远程对它们执行 PS 操作,但除非您费尽心思在所有服务器上标准化(并保持更新)PS 安装,否则您将无法在这些计算机上本地使用 PS。
以前,在一份与我现在的工作相去甚远的工作中,我花费了大量的时间和精力来构建一套通用的脚本工具和环境,并将它们安装在所有服务器上。我认为这会让我的生活更轻松,因为这样我就可以在所有可能需要它们的系统上使用更强大的脚本工具。哈!我真的我所做的就是投入大量额外的工作,使所有服务器上的所有脚本工具保持更新。
因此现在,我主张默认使用默认可用和更新的脚本引擎/解释器(由操作系统本身更新,而不是手动意味着我必须单独管理)全部我的脚本可能需要运行的平台。因此,如果我能确定我的 Windows 机器都是 Win7 或 Win2008R2(或更高版本),那么我会开始将所有内容迁移到 Powershell v2。
但如果不是,我会转向下一个最低公分母 - VBscript。如果出于某些古怪的原因,我仍然需要处理 NT 系统,我会转向 cmd。
我想说的是,尽量避免建造仓鼠轮。它可能是新的闪亮仓鼠轮,但是……好吧。你自己决定吧。
答案3
对于您的迫切需求,鉴于您大多是 2008 年的人,您应该从 Powershell 开始。它是一种非常强大的工具,可以让您的生活变得轻松很多。也许可以让编写 VBScript 的人和您一起检查代码,看看您是否能理解其中的逻辑。
如果你没有编程背景,一开始可能很难理解发生了什么。但是,一旦你理解了逻辑(而不是特定的代码/语法),你就可以开始自己编写代码了。
您会发现编程语言在语法上的差异比在逻辑上的差异更大。
例如,您可以在 VBScript 和 Powershell 中声明变量、使用条件逻辑、使用循环和 if/then 语句。它们只是在代码语法上有所不同。