对于工作,我在linux上工作了很长一段时间后转移到windows。我想在Windows中获得一些脚本技能用于管理任务。我对bash非常好,但是当涉及到windows时,bash的“库/工具”却缺少很多东西。我看到了vbscript,wsh,powershell,cmd,jscript等,并想知道要学什么,或者是什么组合。我也在学习.net所以如果它有所帮助可能会很好,但这不是一个要求。
答案 0 :(得分:12)
如果您正在学习.NET,那么Powershell是唯一的选择。 VBScript已经存在了很长时间,因此可能有更多的示例和样本用于VBScript。但是Powershell是微软专注于未来脚本编写的地方。它包含在WS2008(R2)中,它将在Win 7中,它可以添加到Vista或WS2003或WS2008上。 Powershell具有战略意义。我觉得它比VBScript强大得多。
Powershell周围的社区也在不断增加。仅举一个例子:如果你去powershell.com,你可以注册一个电子邮件中发送的“当天的权力提示”。
至于.NET交集 - Powershell可以加载.NET程序集并调用它们,因此这两件事情将是非常互补的。
答案 1 :(得分:6)
Powershell,如果您将要管理2008环境或更晚的环境,那么毫无疑问。我经常参加微软会议,他们将所有芯片都放入Powershell。
答案 2 :(得分:5)
我将介绍PowerShell的建议。 PowerShell团队的开发人员都是旧的Unix手,PowerShell中有许多类Unix的功能。
像Cygwin这样的东西会让你直接使用bash,但我不推荐它有几个原因。首先,如果您在Windows环境中,对于没有您的bash经验的其他人来说,PowerShell会更容易维护。其次,在可以轻松访问WMI对象等方法的环境中,Windows管理将变得更加容易。
PowerShell具有传统Unix shell的许多优点,但PowerShell有一个巨大的优势:您可以在对象上调用方法,而不是在将命令组合在一起时解析文本。每个命令都返回一个对象。请参阅Comparing the Unix and PowerShell pipelines。
答案 3 :(得分:4)
Cygwin可以使您的unix脚本技能在Windows环境中保持相关性。 Powershell目前似乎是官方的.Net脚本语言。但是,不要打折其他选项。有Ironpython,IronRuby和其他人。许多Java脚本语言(如Groovy)都可以通过IKVM
在.Net下运行答案 4 :(得分:2)
我自己已经切换到Linux几年了,但我最近在Windows中使用Perl完成了一些项目,我不能推荐它。如果你真的要编写脚本而不是单命令,那绝对值得考虑。查看Strawberry Perl。你甚至可以找到一个在草莓perl下运行的体面的Perl shell,在这种情况下你也可以将它用于单命令的东西。查看http://perldoc.perl.org/perlfaq3.html#Is-there-a-Perl-shell?
并且不要认为Perl不适合脚本化Windows的东西。在我最近的项目中,我使用Win32 :: OLE在Perl中使用Outlook和Excel编写脚本,它就像一个魅力!
答案 5 :(得分:1)
VBScript,批处理和Powershell是我能想到的最重要的。另外,了解WMI的工作原理以及如何从VBScript / Powershell中调用它。
答案 6 :(得分:0)
我使用PowerShell很多,它是非常简单和强大的scipting语言,但它不支持Windows 2000!它迫使我在局域网中的每台计算机上安装PowerShell运行时。 至于IronRuby,我推荐BOO - 漂亮而强大的语言。