Microsoft Power Shell (Monad)的独特之处

由于开发与Exchange Server 12的相关产品,自然会接触到Microsoft Shell,我发现这个工具的确是功能强大。下面是我的一些笔记。

Monad架构师Jeffrey P. Snover的说法,Monad是一种面向任务的自动化框架。在Comparative Examples in MSH and KSH 一文中,它说Monad和传统Shell(Windows CMD.EXE UNIX shells SH, KSH, CSH,BASH)的区别是:

1. Monad使用.Net环境下的对象模型而非传统shell的字符流来与系统交互;

2. Monad相比传统Shell,它的内建命令集比较大;而且,它可以和很多非Monad命令(cmdlets)无缝结合。

3. 它的Shell提供了统一的命令行解释器,而不是每个命令都有自己的命令行解释器。这个我认为对用户没有什么影响。

其中,第一条特性是比较革命性的突破,所以让一些脚本看起来比其它语言的shell脚本简单一些。使用monad,给我们直接带来的好处是我们终于在Windows下面有一个完全的命令行界面,用户可以通过命令行完成所有通过GUI的操作。这对于那些系统管理员可能更有用。当然,微软的技术总是在变化中成长,前几年,我还看到他们在鼓吹用VBScript来写管理Server的脚本。

呵呵,微软的技术永远离不开一个词:“统一”。他们总是在统一过去的操作方式,使用习惯。。。一般语境都是“以前我们都是大老粗,现在不同了”。

无论如何,微软的产品我还是很喜欢。做Windows程序员,苦就苦在不断的学习新名词,乐就乐在相对富裕的开发文档。下面推荐一个讲Monad架构的文档,这个ppt做得相当的不错,内容很详尽,反正我准备学学。。。

Monad Shell Task-Oriented Automation Framework

一些很好的例子及与传统shell的对比以及和Unix shell fans发飙:

Comparative Examples in MSH and KSH

我还使用Monad写了几个脚本,感觉不错,不过大家可能平时也用不到,那就算了。至于安装及其他问题,不知道的Gg或者Bd一下吧。

你可能感兴趣的:(Microsoft)