这是什么类型的脚本,是否建议用于我的环境?

Pat*_*ick 3 scripting

首先,我希望我没有重复另一个帖子。如果是这样,我会立即删除。

我浏览了这个网站上的许多问题/答案,试图找到我应该使用的脚本语言,我看到很多人推荐 PowerShell,特别是如果他们像我一样完全不熟悉脚本。

我工作的环境大约有 150 台机器,装有从 XP 到 Server 2008 R2 Enterprise 的各种 MS 操作系统。

我看到我的一位同事在他所做的很多事情中都使用 CSSCRIPT……我们给他起了个绰号——脚本之王。他把代码牢记在心,以至于他甚至不知道关于我如何学习它或哪种脚本语言最适合我的任何好的建议。

正如我所说,我正在查看 PowerShell,因为其他帖子似乎暗示了这一点。我不想在所有 150 台机器上都安装一些东西来让我的脚本工作。我希望能够远程运行一个脚本来移动文件、更新文件、收集有关机器及其注册表和其他各种信息的情报等。

在这两种脚本语言或任何其他脚本语言之间(因为我确实对此完全陌生并想学习),有什么建议?

如果这是重复的,我深表歉意。我找不到与这个特定问题有关的任何内容,但有很多非常密切相关。

Rya*_*ies 6

如果您在 Microsoft 环境中工作,那么答案是 Powershell。

Powershell 实际上是 Microsoft 管理员前进的必要条件。它旨在以各种方式替换和取代 VBscript。

更不用说这几乎是 MS 做过的最棒的事情......也许永远!

关于您的同事使用什么编写脚本的问题——我不知道“csscript”,但我知道“cscript”是 VBScript 脚本主机的命令行版本。所以也许它是您正在查看的 VBscript。这也是一种非常流行的 Microsoft 脚本语言。但它不像 Powershell 那样现代。


Kev*_*lby 5

为了补充 Ryan 的答案,未来的 Powershell 脚本功能是微软 CEC(通用工程标准)的一部分,这意味着未来发布的所有 MS 产品都必须提供一些 Powershell 脚本功能。

许多产品都牢记这一点,在 VMM 中,所有管理都是通过 Powershell 完成的。事实上 thr GUI 只是构建 powershell 脚本来实现您要求它采取的操作。在 Exchange 2007 和 2010 中,有些管理操作只能通过 Powershell 执行(当然这些不是非常常见的操作)。

Powershell 的好处是它建立在 .Net 上并且可以访问所有 .Net 功能(您经常可以使用 C# 示例来了解如何在 Powershell 中直接从 .Net 执行操作)。

不是通过管道传递文本,而是传递完全成形的对象,允许 cmdlet 在管道中进一步访问对象的所有属性和方法,而无需任何干预 cmdlet 来关心它们。这也可以使代码非常可重用。

最后,Powershell 以管理员为中心而不是以开发人员为中心。Powershell 的标准允许管理员以相当直观的方式发现语言和功能,同时仍然允许开发人员和高级脚本编写人员访问所有底层好东西。在理想的世界中,您将拥有一个 cmdlet 来完成所有需要完成的小任务,如果没有,您可以通过 powershell 对 .Net 的访问直接在 .Net 中作为 cmdlet 编写一个,或者找一个开发商做同样的事情。