在掌握Exchange Management Shell常用术语,你已经学习了有关Exchange Management Shell (EMS)的一些术语,这些术语由微软在Exchange 2007中引入。这里,你会学到如何使用EMS命令,以及如何格式化命令的输出。你还将初步领略怎样把你的命令管(pipe,即把一个命令的输出作为第二个命令的参数进行处理)进其他命令中。
学习EMS,首先最最重要的是学习如何得到帮助。对于这,EMS提供了两组办法。第一个方法是使用"help cmdlet" (cmdlet指command-let,就是小命令的意思,也就是EMS通过命令行输入的命令)或者"cmdlet -?"。这让EMS给出指定的命令cmdlet的语法和用法的简短信息。就如图A所示。
图A 让EMS给出指定的命令cmdlet的语法和用法的简短信息。
注意这个简短帮助没有给你任何各个参数的详细信息,它不过是给你指出这些参数数据的类型(是字符串、数字,等等)。有时候,那些信息真的不太够。于是EMS提供了一种获得更多详细帮助的方法。使用这个命令"help cmdlet -detailed",你就可以得到对每个参数都有详尽说明的好多页帮助,一定能满足你的期望。如果你要得到更多技术帮助,还可以使用"help cmdlet -full"。这个命令向你提供各个参数的技术信息。举例如,-full选项会告诉你某个特定参数是否为必需,它是否接受管道化(pipelined)的输入,以及你是否可以在参数值中使用通配符。
你现在才看过一个cmdlet,get-casmailbox。当你不使用参数运行时,get-casmailbox cmdlet返回一列当前Exchange企业内部的邮箱,以及一些概括信息,如每个邮箱是否激活了OWA、POP 和IMAP。图 B向你展示输出结果。
图B get-casmailbox 命令返回企业的邮箱信息
现在,可能你想操作某个特定邮箱对象的属性,比如禁止某个用户使用POP从你的服务器接收邮件。下面这个命令会禁止某个特定用户对邮箱的POP3访问。
set-CASMailbox -identity cat.francis@contoso.com -POPEnabled:$false
在该例中,"-identity"参数用于指定要操作的确切对象。然而,因为身份对象(identity object,本例中是cat.francis@contoso.com本就必需,所以"-identity"选项不是不可或缺。换言之,下面的命令和上述例子在功能上等同:
set-CASMailbox cat.francis@contoso.com -POPEnabled:$false
set-CASMailbox -POPEnabled:$false cat.francis@contoso.com
对于其他的cmdlet,你可能就不需要指定某些其他的参数名字,只需要按特定顺序打入参数值就可以了。就个人来讲,我不喜欢这种方法,因为它太容易出错了,可读性也说不过去。
运行完set-casmailbox cmdlet,你可以打进get-casmailbox,回车查看你的更改生效了没有。
以get-casmailbox命令为例,你可能希望收集用户邮箱的其他信息,而不像刚才见到的那样,只能知道哪些服务可用,哪些服务被禁止了。通过把你的命令管入format-list命令,你可以得到用于输出的可能参数的完整列表。使用format-list时要仔细,尤其是对于大型数据组。对于此命令,除非你主动限制其输出内容,不然会显示每一个邮箱的每一项参数,如果你有成百上千的邮箱,这肯定要花好长好长时间!图 C是该命令针对单个邮箱的输出。
图C 你可以在输出中得到的参数非常之多。
产生图C我所用的命令是:
get-casmailbox | format-list
注意两个cmdlet之间的竖杠。在本系列入门的第1部分中,我讲过管道和管道化的问题。这个符号一般称之管道符(pipe character),在EMS里,它用来代表一个命令的结果交给另一个命令继续处理。本例中,get-casmailbox命令的完整输出被传递给format-list命令,后者等待前者的输出,并且负责把前者的输出进行格式化处理,这样最后输出的信息是清单格式(list form),而不是默认的表格格式(tabular)。Format-list有一个别名——"fl"。
很明显,让所有信息都输出也不总是悦人心意。format-list虽然是得到可用显示参数列表的了不起的方法,但一点不落地显示所有信息也远非实用。因此,你可以把get-casmailbox的输出结果管入另一个cmdlet——select。Select命令可以带一系列参数名,它只显示参数指定的信息,而不会眉毛胡子一把抓。
看看下面这个select cmdlet如何工作:
Get-casmailbox | select identity,guid
这个命令把get-casmailbox的显示结果管入select命令,之后就只有对象的GUID和身份(identity)被显示了,就如同下面图 D展示的那样。
图D 这个命令限制输出,只指定了两个输出域。
不过,这种方法的输出很快又变得笨拙不看了。看图 E就知道是怎么回事了。
图E这样的输出真是太丢三落四。
注意,图E的输出已经严重抹煞细节,甚至到了完全无用的地步。所以,你该怎么办呢?很简单:把它管入format-list,让它变成清单(list)而非现在的表格(table)。就像这样:
get-casmailbox | select identity,guid,samaccountname,primarysmtpaddress | fl
图F 这个输出简单易读
总结
到此为止,Exchange Management Console的入门就算完成。在以后的许多文章里,我将着重探讨用EMS真刀真枪的完成工作任务,所以就这个话题,以后我们还有见面机会。Exchange Management Shell是Exchange Server 2007中的一个新的功能。这个shell的基本目的是做为一个命令行和脚本界面。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |