多年来,我一直涉猎 powershell,但并没有找到一个地方不能用一点 python/cygwin/wmic/dos(将最后一个读作 windows 批处理)轻松完成工作。
这可能只是对这些其他工具的熟悉,但我还没有看到任何地方有真正的需要使用 powershell。
答案1
看这个帖子在 SO 上,它正在慢慢成为这个问题的规范答案。
答案2
如果您是管理员,并且要在不久的将来管理 Microsoft 服务器应用程序 - 您需要学习 powershell。就是这样 ^^
他们发布的大多数新系统都是使用 powershell 进行管理的,而在此基础上构建的缓慢 UI 通常毫无用处,它们都是通过在后台发出 powershell cmdlet 来工作的。正如 RainyRat 已经指出的有关 Exchange 2007 的内容 - 将这个概念应用于任何即将推出或新发布的 Microsoft 系统,情况就会变得更加清晰。
但可以肯定的是,对于当今旧系统或现有系统的定期维护脚本来说,它还没有流行起来。至少在我看来还没有——主要是因为您经常希望支持在 Windows 2003/XP 等许多旧系统中所做的一切,而不必部署新的“引擎”。当平台升级到 2008+ 和 Win7+ 时,它在这方面可能也会变得更有用。
答案3
对于常规管理工作?不,目前还不行 - .BAT 或(勉强)VBScript 仍然可以为我完成工作。但是,对于管理 Exchange 2007,它对我来说正迅速变得不可或缺。Ex07 中有很多东西您实际上无法通过任何其他方式完成,因为他们尚未为它们编写 GUI 位。
答案4
我通常使用 VBScript 来执行管理任务。但是,您最终还是要依赖 COM 服务器来完成任何困难的任务,而这些服务器中的许多都不是 Windows 的标准配置,因此您必须购买(并记得安装)第三方 COM 服务器。特别是 x64 会导致问题,因为我的所有 COM 服务器都是 32 位的,因此我最终不得不从 \windows\syswow64 运行 x86 版本的 cscript。
我曾经尝试过使用 C#,但是它是编译型的而不是解释型的,因此比较麻烦,而且对于简单的任务来说,程序员的开销也相当大。
我对 Powershell 还不是很熟悉,但它为我提供了一站式服务,可以完成所有事情。标准命令行非常全面,当您需要一些更不寻常的功能时,它可以很好地与 .Net 集成。
Preet,您在帖子中提到使用“一点 python/cygwin/wmic/dos”。我也是,但那是四个解决方案,您可以通过学习 Powershell 来替换它们。我可能仍会使用 VBScript 编写复杂的脚本,但 Powershell 可以完成我需要的大部分工作。
JR