2007-06
20

前两天fcicq介绍给我这个东西, 微软的powershell。 连上去之后发现要正版验证,就懒得弄了。不过对于微软的东西向来没什么兴趣。

就说这个命令行,微软从DOS时代开始就在抄袭Unix,抄好了也就罢了, 抄得四不像,好多命令行选项和Unix系统都不相同。最明显的例子莫过于netstat命令, 配服务器时最常用的就是 netstat -lnt,到了Windows下就不得不使用

netstat -an | find "LISTEN"

一长串命令来代替,最让人受不了的是find的关键词还得加双引号。

估计微软也知道自己的命令行做得不怎么样,于是推出了WSH(Windows Script Host)来解决批处理脚本的问题, 还有那个貌似功能强大的WMI对象。可是人家Linux shell编程简单又好学,会命令的就会写程序,说句文话叫“知识可重用”, 在这一点上WSH弄巧成拙,貌似强大的JScript和VBScript由于学习门槛太高而鲜有人问津。

而现在又推出了这个powershell。以前看过一些介绍,说句心里话它还是有些比较实用的命令的。 但是,再实用也不过是个玩具,就像Resource Kit里面那些工具一样。




这篇文章有 11 条评论了,快来一起讨论讨论吧!
#1
fcicq
2007-06-20 22:13

一想到ie4linux能够通过正版验证就想笑.

VBScript好像离病毒的载体这层次不远了.

#2
charlee
2007-06-20 22:35

记得有谁说过微软其实也在用Apache做服务器,虽然有些偏激。

看看微软的这些聪明的技术吧,Office宏带来了宏病毒,VBScript带来了HappyTime,ActiveX上流氓泛滥,最近的AV终结者又在炒autorun.ini的冷饭……

#3
smalldust
2007-06-25 22:34

嘿嘿,很遗憾我是从去年Powershell还是Beta,第一次对外公开时就开始弄Powershell的了,所以我免不得要批评查理同学一下~

对于微软这个巨人的产品,不能一概而论,因为微软的员工实在太多了,从平庸之辈到C++大师级人物。同样,微软内部的部门,也有较弱的和较强的之分。这些不同的人、部门做出来的产品,最终当然也有天壤之别。

我倒不是非要说Powershell有多强大——事实上正好相反,它非常之弱。但是Powershell的潜力很强,原因只有一个,它是面向对象的,它对Windows的管理方式是基于对象的。

刚开始用Powershell会觉得很难用。那是因为你是在按照Unix/Linux,按照Win2k3的思路去用。等你熟悉了它,你就会发祥它的强大。

之所以说Powershell还很弱,是因为Powershell是基于.Net的对象的。而.Net框架其实目前还很弱,目前的主流程序还不是基于.Net的。如果有一天.Net成为了Windows上的主流,相信Powershell将会更加受到重用。

#4
fcicq
2007-06-26 20:14

楼上的同学批偶好了…
要不是因为n多年没正经用过windows,
才不会跟charlee说这种事情

看来全能的管理员需要多种思维,
一种面向对象,.net
另一种就是传统unix的思维了…

看来2-3年的时间就能把其中一种换成另一种

#5
charlee
2007-06-27 00:49

先谢谢smalldust的批评,我的言论确实比较激进,呵呵。

的确,说Windows是基于面向对象的管理这点我也赞成,VBScript中调用WMI对象的强大功能我也用过。我只是不喜欢Windows的两极分化——对使用者傻瓜,对管理者深不可测。管理者也是普通人,写脚本做管理远不如直接在命令行上敲几个命令来得痛快。

我想起另外一件事儿来。前一阵子我要做一个域名委任到我自己的DNS上,公司的DNS用的是w2k3,结果想尽办法也没找到在哪里设置委任(最后查资料解决了),而在linux下只需简单改改配置文件就可以了。

当然,Linux下配置文件的写法和相关命令等也需要花费大量的时间去学习,所以我也不是说Linux比windows好。

我猜测,微软尽量将它的软件的学习门槛降低,因此做了大量的图形界面,但为了满足GUI的要求于是就发展出了面向对象的WMI和.NET等。然而这种结构使它无法也没必要去像Linux那样通过配置文件来设置系统,其后果也就是导致高级管理的学习门槛提高。

Linux的GUI做得极其烂,也许就是在基于命令行和配置文件的结构上强行套用GUI的结果。

两种方法两种思路,不过对于我这种对系统略知一二又酷爱键盘的人来说,命令行更适合我。

#6
fcicq
2007-06-27 20:04

linux的GUI大概是这样的情况:
因为可调整的选项实在是太多,
又没有必要为了一个一个选项做出对应的选项框
所以就是这样了。
(主要还因为帮助就在手边,选项文件中的注释,而windows的帮助是纯粹的鸡肋,man-pages估计没几个人会删除)

windows奇怪的是注册表中有无数的所谓“隐藏选项”
而那些什么优化软件就是专门对准这些内置GUI没有涉及到的选项进行修改

#7
smalldust
2007-06-30 17:35

不大同意charlee的看法。

因为Linux和Windows完全是2种不同的思路,因此在一个Linux管理员看来Windows简直是“很奇怪”“难以理解”“非常难用”,可是实际上在一个习惯了Windows的Windows管理员来看Linux也是同样的“奇怪”“难以理解”“非常难用”。

此外WMI和.Net根本就不是管理界面,这是一个技术错误。
WMI是Instrumentation,不是Management;.Net是Class Library,更不是Management。这两个更类似Linux下的C函数库,属于API的范畴。

此外,关于所谓“高级管理”的门槛问题,其实Linxu也好Windows也好,既然是“高级”了,就没有那么容易掌握的。Linux不也要记忆很多配置文件的使用方法,各个命令的语法吗?在Windows下也需要记忆,只不过记忆的不是配置文件的语法,而是各个工具的使用方法(当然也包括一些命令行工具)。

此外,Windows的各种文档是极其完善的。以我的经验,要管理Windows,只要多下功夫读一下文档,我想还没有那么难。

最后还有一点,Windows上病毒泛滥正式Windows广泛利用的结果。Linux难道就天生比Windows更能抵抗病毒吗?我看并不然——从Linux OS的根本原理上讲,Linux OS似乎并没有比Windows更能抵抗病毒的理由。只不过是因为Linux OS应用得少(尤其是前几年),所以才比较少有病毒、破解等等。

#8
smalldust
2007-06-30 17:50

To fcicq

你所说的“注册表中的隐藏选项”,

第一,其实它们绝大多数都不是隐藏的——在Technet的文档中都有详细的记述。

第二,那么你为什么会觉得他们是隐藏的呢?其实这跟你说Linux中“因为可调整的选项实在是太多,又没有必要为了一个一个选项做出对应的选项框”是一样的。为了简化UI,不至于让用户看见数十个的checkbox, radiobox而立刻晕掉,这些比较minor的选项就没有表现在UI上。

但是虽然没有表现在UI,依然还是非常工整地做了Document。否则那些所谓的优化软件怎么可能知道这些?

#9
fcicq
2007-06-30 18:39

呵呵,确实多数人不会去看这些文档。
就算有的话,来源也大不相同。

隐藏选项确实不是隐藏的,这偶也清楚。
因为这一份文档不在手边的缘故吗?
偶尔用windows的时候,修改注册表是针对问题而来的,
linux下偶基本可以定向的找到问题的位置,windows就不太容易,至少要动用google :)

同样是对“隐藏选项”的修改,国内的优化软件和国外Tweak-XP的差距,估计就在这文档来源上了(后者的作者肯定是看第一手的资料,不排除前者的作者用监视器去探测后者的行为,然后抄来)。

不过换句话想,如果注册表管理器的旁边附带着许多配置的简短说明,
体积又是个大问题,或许还是没人接受.

#10
koxx
2007-12-27 00:09

我认为这个很大程度上都是个味口问题,然后再是应用领域问题.
没有谁好谁坏,各有所长,用的时候我们各取其精华就行了.
呵呵
以上只是个人拙见.

添加评论