从cmd.exe迁移到PowerShell或使用PowerShell代替其他工具.什么时候使用PowerShell更好?

Joh*_*son 2 windows powershell dos

我一直在考虑使用cmd.exe命令行程序,该程序提供命令行界面和批处理编程环境,扩展了旧的DOS操作系统上使用旧的command.com程序可用的程序.cmd.exe程序已在Windows系统上可用很长时间了.但是,我觉得它在可用性和灵活性方面有其局限性.

我听说PowerShell可用于管理各种Microsoft产品,还支持第三方供应商的管理单元模块,支持几个非常有用的编程结构,如管道,最重要的是与.NET框架紧密集成,当然,PowerShell编程语言非常强大.

也许这个问题有点宽泛,但鉴于存在几个替代编程环境,如Python和Perl,它们用于系统管理(这些在很多方面已经慢慢取代Unix系统上的shell脚本,以用于更复杂的任务) ),我想知道PowerShell在生态系统中的适用范围,最重要的是它是否值得学习,特别是当有人已经知道Python或Perl这样的工具(也用于系统管理)时值得学习.PowerShell是一个系统管理工具,还是一个不需要编译的更通用的编程工具,不像C#?

我可以看到的优点是它已预先安装,并且您可以从中调用.NET API函数.

如果有人能够理清要求学习它的几个场景,特别是在其他编程工具已经知道的情况下,我将不胜感激.特别是我想知道,除了快速的.NET脚本之外,什么样的任务通常更适合PowerShell编程.

谢谢.

Jos*_*orn 6

使用Powershell的首要原因是微软开始将其所有产品管理工具推向PowerShell.事实上,在使用像Exchange这样的东西时,有些东西你只能用PowerShell来完成.

第二个原因是powershell是一个完整的脚本语言,dos批处理命令语言不是.

第三个原因是,在.Net中可能存在任何可能的东西(有时候会有更多的工作,有时会少一点).

此外,还有一些公司,比如VMware,为其产品发布的唯一基于命令行的界面是通过PowerShell管理单元或模块.

而且,在我看来,这是一个非常有趣的工作环境.