2009-06-23 60 views
7

在linux上工作了很长一段时间后,我开始转向windows。我想获得一些脚本技能用于Windows中的管理任务。我对bash很满意,但是当涉及到windows时,bash的“库/工具”缺少很多。我看到vbscript,wsh,powershell,cmd,jscript等,想知道要学什么,或者什么组合。我也在学习.net,所以如果它有帮助,它可能会很好,但它不是必需的。,要学什么windows脚本语言?

回答

1

VBScript,批处理和Powershell是我能想到的最大的。另外,了解WMI如何工作以及如何从VBScript/Powershell中调用它。

12

如果您正在学习.NET,Powershell是唯一的选择。 VBScript已经存在了很长时间,因此VBScript中可能有更多的示例和示例。但Powershell是微软专注于未来脚本的地方。它包含在WS2008(R2)中,它将在Win 7中,并且可以添加到Vista或WS2003或WS2008中。 Powershell是战略性的。我发现它比VBScript更强大。

Powershell周围的社区也在增加。只是一个例子:如果你去powershell.com,你可以注册一个电子邮件发送的“一天的PowerShell技巧”。

至于.NET的交集--PowerShell可以加载.NET程序集并调用它们,所以这两件事情将非常相辅相成。

+0

谢谢,注意。 – Cheeso 2009-06-23 15:18:37

6

Powershell,如果你打算管理2008年的环境或更高版本,那么毫无疑问。我经常参加微软的会议,他们把所有的芯片都放进了Powershell。

4

Cygwin可以使您的UNIX脚本编写技巧与Windows环境保持相关。 Powershell目前似乎是官方的.Net脚本语言。但是,不要打折其他选项。有Ironpython,IronRuby等。许多Java脚本语言(如Groovy)可以通过.Net通过IKVM

5

进行操作。我将继续介绍PowerShell的建议。 PowerShell团队的开发人员是旧的Unix手,PowerShell中有许多类似Unix的功能。

像Cygwin的东西会让你直接使用bash,但我不会推荐它出于几个原因。首先,如果您处于Windows环境中,那么对于没有bash体验的人员来说,PowerShell会更容易维护。其次,在您可以轻松访问WMI对象等方法的环境中,Windows管理将变得更加容易。PowerShell具有传统Unix外壳的诸多优点,但PowerShell有一个巨大的优势:您可以致电方法,而不是在将命令一起输入时解析文本。每个命令都返回一个对象。请参阅Comparing the Unix and PowerShell pipelines

0

我使用PowerShell很多它是非常简单和强大的sciping语言,但它不支持Windows 2000!它迫使我在局域网中的每台计算机上安装PowerShell运行时。 至于IronRuby,我推荐BOO--非常强大的语言。

2

我自己已经切换到Linux几年了,但我最近在使用Perl的Windows中完成了一些项目,我不能推荐它足够。如果你真的要编写脚本,而不是单个命令,这绝对值得考虑。检查草莓Perl。你甚至可以找到一个在草莓perl下运行的体面Perl shell,在这种情况下,你也可以将它用于单命令的东西。退房http://perldoc.perl.org/perlfaq3.html#Is-there-a-Perl-shell?

不要认为Perl不适合脚本化Windows的东西。在我最近的项目中,我使用Win32 :: OLE在Perl中编写了Outlook和Excel脚本,它的工作方式就像一个魅力!