首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell相对于cygwin/unix-shell的优势是什么?

Powershell相对于cygwin/unix-shell的优势是什么?
EN

Server Fault用户
提问于 2009-05-06 08:08:57
回答 6查看 6.6K关注 0票数 9

我所知道的明显不同之处在于,它能够与某些MS产品(如Exchange )进行接口。但是对于不需要管理这些产品的人来说,Powershell有什么好处呢?学习Powershell的原因是什么(假设我精通bash和cygwin)?

EN

回答 6

Server Fault用户

回答已采纳

发布于 2009-05-07 11:31:01

杰弗里·斯诺弗( PowerShell designer)在StackOverflow上给出了一个很好的答案:

https://stackoverflow.com/questions/573623/#573861

票数 2
EN

Server Fault用户

发布于 2009-05-06 08:21:20

最明显的优点是:只要管道中不涉及文本输出(或遗留命令),您就不会在管道中移动文本,而是移动.NET框架对象的实例,以及它们的所有属性和方法。

这允许进行更有表现力和较少歧义的管道处理,这种处理也完全不受区域设置和语言设置的影响(例如,考虑日期或数字格式,以及如何将它们作为字符串正常处理)。

这也意味着您可以在脚本环境中访问大量.NET框架功能。

票数 18
EN

Server Fault用户

发布于 2009-05-06 11:37:48

没有对该范式进行价值判断,PowerShell的主要优势是.Net集成和在职--从Windows2008Server开始,默认情况下它是捆绑在一起的,并且在2003年和2003年R2上加载在service中。

公平地说,还有其他几种脚本选择--例如Perl和Python。如果您想要本地IronPython集成,Python还提供了使用.Net的选项。实际上,只要将IronPython放在目录中,它就能令人满意地安装。您可以在不需要单独安装步骤的情况下将其打包在应用程序中。

Powershell的关键优势是一把双刃剑。虽然流.net对象非常有用,也有其优点,但它对组件能够很好地处理框架提出了更多的假设。要使它真正起作用,您需要使用cmdlet包装东西。虽然文本输出稍微低一些,并且需要解析,但它为组件很好地处理框架带来了更少的负担。

随着时间的推移,我希望看到更多的Windows生态系统(包括MS和第三方组件)提供cmdlet包装器,这样它们就可以使用Powershell。在这种情况下,Powershell的应用将变得更加强大。

历史上,从管理角度看,Windows的主要传统弱点之一是它对脚本的糟糕支持。几年前,她就意识到了这一点,经过几次拙劣的尝试(例如,WSH),Powershell是微软迄今为弥补这一缺陷而做出的最可信的努力。

票数 6
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/5188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档