用户评论:Windows Server 2012 PowerShell惹争议

日期: 2013-02-21 来源:TechTarget中国

  Windows Server 2012有很多不错的新功能,它改进了Windows早期版本将其从“从未使用的1.0版本”阶段带入到功能与稳定性兼备的阶段,并在功能性与稳定性方面与其它主流竞争对手不相上下。

  到目前为止,读者朋友最关注的内容要数PowerShell,而且根据大家的语气判断,这算得上是一场混战。有些人对其不屑一顾,有些人则认为这是微软能够拿出的最佳解决方案。

  好吧,让我们一起来听听读者的声音。

  BuckFutter 表示:

  没错,不过……你没法把PowerShell 3跟SharePoint 2010同时使用,所以基本上目前的命令行版本在SP2010上完全无用,除非微软决定再来一次更新。

  另外,我再补充一项最佳功能——Server 2012能够在核心、完整以及“最小服务器界面”三套方案之间进行切换。所谓“最小服务器界面”,是指只向用户提供PS控制台以及Server Manager界面。再有,我们不仅能把角色及功能删除掉,更可以真正把它们从系统中清除出去,这对于减小攻击面意义非凡。虽然我很讨厌微软,但我不得不承认Server 2012是一款伟大的操作系统。不过Metro仍然是最大的败笔……

  铜牌用户K 则以个人名义向微软发出战书:

  微软此次的努力值得赞赏,但PowerShell仍然速度缓慢、功能有限、说明文档简陋不全而且对非微软出品的应用支持不足。如果能解决这些问题,我会乐于加入到PowerShell用户的阵营中来。

  而另一位铜牌用户 LDS 则对加入GUI的做法提出质疑:

  Windows的确需要更多脚本化方案来完成任务,但GUI的加入只是在一堆PowerShell脚本之上堆叠起更缓慢、更麻烦的多余机制,而且令错误报告更加糟糕——这看起来跟某些蹩脚的Linux应用十分相似。GUI与命令行都应该调用相同的API,这样无论我们通过哪种方式执行任务,都能保证整个过程以最快、最理想的方式进行。

  Richard Gadsden 在回复中说:

  脚本之上的GUI?就像SQL Server Management Studio(简称SSMS)所采用的机制?这种方式效果不错。虽然我个人并不是PowerShell拥护者,但SSMS的表现相当出色。

  而P Lee则补充道:

  问题更可能出自微软内部。他们不希望利用不受信的GUI工具来实现脚本无法完成的工作,所以才强制要求用户以调用脚本的方式执行任务,而这就造成了处理速度上的损失。但对于企业而言,牺牲一点速度来保障安全还是值得的。

  银牌用户ShelLuser对于前面提到的十大特性一一做出回应,不过仍然把讨论重心放在PowerShell身上,并强调如何最大程度改进用户体验。

  事实上几乎没什么优势……我很好奇作者本人到底有没有使用过他所提到的这些功能。

  首先来看PowerShell:从2到3的版本号提升并不能算升级,因为微软公司发布的根本就是一款没有完工的产品。真正的出发点倒是不错:迅速推进组件模块化,并以此为契机实现差异性。举例来说,本地系统现在终于能够通过选项调整使用本地帮助了。

  由于PowerShell 3目前仍然采用在线帮助库,因此能够非常方便地为刚刚更新的部分添加帮助说明,并根据各国用户的实际需要推出翻译文档。

  只有一个小问题……微软似乎从未考虑过一旦本地系统(例如nl-NL)只拥有默认(en-US)语言的帮助说明,用户应该如何是好?

  更糟糕的是:他们也从未认真对待用户对于本地帮助或者全局环境的需求。在使用help命令时,我们根本无法选择语种。

  仅此一点就彻底毁掉了PowerShell的使用体验。惟一的善后方式就是由用户手动复制“本地化目录”。

  我们谈论的可是微软,大家真相信他们会仅仅把它留给Server 2012吗?经过一段时间的观察、汇总运行错误并集中纠正,然后IIS8就会被广泛应用于其它平台了。

  基于其它一些功能(例如Hyper、iSCSI、SMB等),我承认这都是些不错的项目,但仅靠它们就足以撑起一款全新的服务器系统了吗?

  如果某些企业已经开始尝试Server 2012,我倒也不会感到惊讶,因为他们可能有不得已的理由(例如需要批量更换旧服务器)。但我同样相信会有不少企业选择跳过Server 2012,就像他们会跳过Windows 8一样。在我看来,Metro肯定会在这类选择中起到很有份量的负面作用。

  Bainia不是PowerShell的拥护者,因此我们采纳了他的发言及其后列出的特别申诉:

  我真的很难控制自己不去对PowerShell展开一番嘲笑。我努力让自己放过它,但作为一款由命令行驱动的强大系统,PowerShell的能力实在太过糟糕。

  一位匿名读者回答了Bania提出的问题:

  1系统启动需要大量时间。即使是新型硬件配置也需要11秒才能完成启动过程。

  在我的设备上Server 2012能够“瞬间”启动。只有在系统重启后首次打开PowerShell时需要等一小会儿,也许你应该检查一下自己的配置脚本。

  2.缺乏大量类unix shell基本功能。

  相反,Unix shell才缺乏“大量”PowerShell所提供的功能。

  3.在文本处理概念方面不够考究,所有东西都被视为一个“对象”。

  说的没错。文本仅仅被视为一系列有序的字符串对象。不过你可能根本没必要在PowerShell中使用强大的字符串功能,因为在进行对象操作时几乎不需要与其扯上关系。

  4.表述方式太啰嗦了,最简单的任务也要写一大段才能实现。

  大多数命令都有简化版指令,只要不怕引起混淆、所有参数名称也都可以缩短。不要人云亦云地认为代码描述真是越长越好,PowerShell也能够像bash那样简洁——有些情况下甚至更加简洁。

  >5.路径中的斜杠仍然没有用对。

  这种说法太无知了。PowerShell中一直允许用户根据喜好随意使用斜杠以及反斜杠符号。

  6.没有持续命令历史记录。

  保存一下就行了。或者设定退出时自动保存以及初始化后自动载入功能。还有更好的办法:为实际片段建立一套库。难道bash就没有片段问题吗?

  始终作用于*sh shell中的风险管理机制哪去了?在PowerShell中我们可以通过-WhatIf运行任何命令。在这种模式下,系统不会受到任何影响。相反,系统会将命令执行后的结果以报告形式提交给用户。另外,它同样能作用于脚本:只要我们将-watif作为脚本参数,则“whatif”即成为全局首选项且脚本内容不会真正付诸执行。

  *sh shell的事务整合哪去了?我们可以通过PowerShell与多台数据库服务器、消息队列服务器等相连,进而在执行事务背景的任务时确保事务一致性。

  *sh shell的中止与继续脚本哪去了?PowerShell工作流能够在一台设备上对脚本或任务进行重启及暂停,并在另一台设备上继续进行。

  我们要如何创建并行*sh脚本?PowerShell支持同一工作流脚本中的并行执行功能。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐