扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在2007年,就算患有命令行恐惧症的Exchange管理员,也必须克服自己的恐惧,硬着头皮学习那些看起来只有在Unix世界才会出现的内容:命令行。当然,大部分Windows管理员对于命令行并不陌生,但是基于Exchange Management Shell的PowerShell,却可以提供数量惊人的命令参数,实现多种功能。要掌握这一工具,不但要花不少时间,也许还会让管理员有一种失败的感觉。
本系列内容分为两部分,本文是第一部分,主要介绍在Exchange Management Shell(EMS)中出现的术语。
Cmdlet
Cmdlet也就是“command-let”,它就是我们在EMS里输入的命令行。EMS的命令和我们在Windows的命令行窗口中输入的命令没有什么差别。比如“copy”命令和“dir”命令,就是用来拷贝文件以及给出文件和文件夹列表的命令。ESM 的cmdlet其实就是这些日常的命令。另外,cmdlet主要分为两种类型:
· Get: 获取某一对象的信息。比如, get-casmailboxcmdlet 会从基于 Client Access 服务器的邮箱中获取信息并显示出来。
· Set: 控制对象的信息。比如, set-casmailboxcmdlet 可以让管理员修改位于Client Access 服务器上的邮箱参数。
Pipelining
在Windows的命令行窗口中,你是否使用过“dir|more”这样的命令呢?如果回答是肯定的,那么恭喜你,你对管道已经有了一定的认识。“pipelining”或者说“piping”管道的基本概念是将一个命令的运行结果作为另一个命令的输入内容,进行进一步的处理。比如刚才提到的命令,就是将列表结果输入more命令,可以实现列表的分屏显示。如果你要列出好几千个文件,那么为了防止文件列表在你眼前一闪而过,就应该是用这样的管道命令。EMS支持多级管道命令,因此你可以通过管道命令一次执行多个命令,实现连续性的处理。但是使用管道命令也应该符合一定的规范,比如你不可能将get-casmailbox的结果传递给export-activesynclogcmdlet。
Aliases
如果你要学习全新的命令结构,但是拼写方面又不是很熟悉,EMS还提供了别名功能。别名功能可以让你在不输入完整命令的情况下使用EMS。EMS内置了不少别名,比如Epcsv,就是export-csv的别名。对于常用的命令,你也可以自己创建适合自己习惯的别名。
Parameters
和很多系统的命令一样,EMS命令行也支持通过参数的方式准确完成用户的工作意图。EMS拥有多种不同类型的命令参数,还包括布尔参数。在本系列文章的第二部分,你将看到不同类型的命令参数是如何工作的。下面是一些你应该知道的常用的命令参数:
· Identity 参数: Identity 可以通过某个对象的GUID(全局唯一身份)或者对象名字来指定对象。
· WhatIf参数: 这个参数是一个非常实用的命令行参数,当你在命令行中使用了WhatIf参数,就可以查看你的命令对于操作对象的影响,而不是真正去执行这个命令。这个参数可以让你查看这个命令行的其他参数是否设置正确,避免因为疏忽造成的意外灾难,比如不小心删除了服务器上的所有邮箱账号。
· Confirm参数: 这个参数可以让你更好地应对那些返回结果较多的命令,可以逐个判断是否要将命令应用于某个记录。
在本系列文章的下半部分,我将向大家介绍通用的EMS命令以及管道命令,另外还将介绍如何格式化命令的输出结果。
(责任编辑:陈毅东)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者