我正在争论我是否应该学习 PowerShell,或者只是坚持使用Cygwin /Perl 脚本/Unix shell 脚本等。
PowerShell 的好处是脚本可以更容易地被没有 Cygwin 的队友使用;但是,我不知道我是否真的会编写那么多通用脚本,或者人们是否会使用它们。
Unix 脚本如此强大,PowerShell 是否足够接近以保证切换?
以下是我将在 PowerShell 中寻找的一些特定事物(或等价物):
工具只是工具。 他们提供帮助或不提供帮助。 你需要帮助,或者你不需要。
如果您了解 Unix,并且这些工具可以在 Windows 上执行您需要它们执行的操作 - 那么您就是一个快乐的人,无需学习 PowerShell(除非您想探索)。
我最初的意图是在 Windows 中包含一组 Unix 工具并完成它(我们团队中的许多人都有深厚的 Unix 背景和对那个社区的健康尊重。)
我发现这并没有太大帮助。原因是 AWK/grep/sed 不适用于COM、WMI、ADSI、注册表、证书存储等。
换句话说,UNIX 是一个围绕文本文件自我调整的整个生态系统。因此,文本处理工具是有效的管理工具。Windows 是一个完全不同的生态系统,围绕 API 和对象进行了自我调整。这就是我们发明 PowerShell 的原因。
我想您会发现,在很多情况下,文本处理无法在 Windows 上为您提供所需的内容。那时,您将需要选择 PowerShell。注意 - 这不是全有或全无的交易。在 PowerShell 中,您可以调用 Unix 工具(并使用它们的文本处理或 PowerShell 的文本处理)。您还可以从 Unix 工具调用 PowerShell 并获取文本。
再说一遍 - 这里没有宗教 - 我们的重点是为您提供成功所需的工具。这就是为什么我们如此热衷于反馈。让我们知道我们在哪里工作失败或您没有所需工具的地方,我们会将其列入清单并着手处理。
老实说,我们正在把自己从一个 30 年的坑里挖出来,所以这需要一段时间。也就是说,如果您选择了Windows Server 2008 /R2 的测试版和/或我们的服务器产品的测试版,我想您会对这个漏洞被填补的速度感到震惊。
关于使用 - 迄今为止,我们的下载量已超过 350 万次。这不包括在 Windows Server 2008 中使用它的人,因为它是作为可选组件包含的,不需要下载。
V2 将在所有版本的 Windows 中提供。除了作为可选组件的服务器核心之外,所有版本都将默认启用。在 Windows 7/Windows Server 2008 R2 发布后不久,我们将在所有平台(Windows XP 及更高版本)上提供 V2。换句话说 - 你在学习上的投资将适用于大量的机器/环境。
最后一条评论。如果/当你开始学习 PowerShell,我想你会很高兴的。大部分设计都深受我们的 Unix 背景的影响,所以虽然我们完全不同,但你会很快学会它(在你不再抱怨它不是 Unix 之后:-))。
我们知道人们的学习预算非常有限——这就是为什么我们非常重视一致性。你会学到一些东西,然后你会一遍又一遍地使用它。
实验!享受!从事!