扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:IT试验室 2008年4月9日
关键字: Exchange server 微软 电子邮件 协作办公 Office
管道传输 在 Exchange 命令行管理程序中,管道传输是指一个 cmdlet 在执行操作时使用另一个 cmdlet 的输出的行为。您可以使用管道传输将两个或更多 cmdlet 串联在一起。这样,您就可以将多个较小组件转换成功能更强大的命令。例如,可以使用一个 cmdlet 收集数据,然后将数据传递给第二个 cmdlet 以筛选数据得到一个子集,然后,将该数据传递给第三个 cmdlet 以只处理该子集。如以下示例所示,它将 Sales 数据库中的所有邮箱移动到同一服务器上的 Research 数据库中:
复制代码
Get-MailboxDatabase Sales | Get-Mailbox | Move-Mailbox -TargetDatabase Research
让我们来了解一下如何使用管道符号“|”。首先,使用 Get-MailboxDatabase cmdlet 检索 Sales 邮箱数据库,生成的对象会通过管道传递到 Get-Mailbox cmdlet。然后,Get-Mailbox cmdlet 会检索 Sales 数据库中的所有邮箱。生成的邮箱集然后会通过管道传输到 Move-Mailbox cmdlet,该命令将邮箱移动到 Research 邮箱数据库。本文上文中的图 1 显示了该命令。
同一名词 cmdlet 集中的所有动词都可以使用其他命令通过管道传递来的信息。一些名词 cmdlet 集还允许通过管道向另一个名词 cmdlet 集传递数据。“名词 cmdlet 集?”它是什么意思?管理特定功能的所有 Exchange 命令行管理程序 cmdlet 都共享同一个名词,如 Mailbox 或 AddressList。要获取按名词整理的所有 cmdlet 列表,请参阅 Cmdlet List。
●启动 Exchange 命令行管理程序
Windows PowerShell 管理单元是用于管理某个应用程序或主要组件的 cmdlet 集合。如果不加载特定应用程序的管理单元,就不能使用相关联的 cmdlet。
这对您来说意味着什么呢?如果启动 PowerShell 而不加载 Exchange 命令行管理程序管理单元,并且尝试执行 Exchange 命令行管理程序 cmdlet(如 Get-Mailbox),则会出现错误。为什么?因为 Get-Mailbox cmdlet 不存在于核心 PowerShell cmdlet 集中。
所以,首先应该做的事为:打开 Exchange 命令行管理程序。只需依次单击“开始”、“程序”、“Microsoft Exchange Server 2007”和“Exchange 命令行管理程序即可。
有关入门的更多背景信息,请参阅 New Administration Functionality in the Exchange Management Shell。
●根据需要获取相关帮助
对于 Exchange 2007,Microsoft Exchange 用户培训工作组已经编写了一套全面的文档,位于 Exchange 命令行管理程序和 Exchange Server 2007 帮助文件中,该文件可以从 Exchange 管理控制台和通过联机方式获得。
在命令行程序中,您会发现在学习导航 Exchange 命令行管理程序时,Get-Help cmdlet 是宝贵的资源。请务必参考 Exchange Server 2007 帮助文件中的“操作”部分。它包含很多过程主题,这些主题将帮助您使用 Exchange 命令行管理程序和 Exchange 管理控制台执行大多数管理任务。您可以从 Exchange 2007 的“开始”菜单中访问 Exchange Server 2007 帮助文件,或者联机访问 Microsoft Exchange Server 2007。
命令行程序中的帮助
在命令行程序中,可以使用 Get-Help cmdlet 以多种形式访问特定于 cmdlet 的帮助。键入 Get-Help 即可显示常规的帮助信息。如果应用参数,则 Get-Help cmdlet 的功能更强大。
要获取特定 cmdlet 的帮助,请键入 Get-Help,然后键入您希望了解其相关信息的 cmdlet,如 Get-Help Get-SystemMessage。默认情况下,命令行程序会显示对 cmdlet 及其语法的说明。它会隐藏可能并非所有管理员都使用的其他部分。
您可以使用 Detailed、Full 和 Example 参数控制显示哪些信息。只需将其添加到命令的末尾即可。例如,Get-Help –Full 返回可用于某个 cmdlet 的所有帮助部分。亲自试验一下这些命令,了解针对您选择的 cmdlet 会显示哪些信息。
如果要检索关于特定参数或某个 cmdlet 的参数的信息,可以将 Parameters 参数与 Get-Help cmdlet 配合使用。例如,如果要查看 Set-Mailbox cmdlet 的包含单词“quota”的所有参数及其说明,请键入 Get-Help Set-Mailbox –Parameter *quota*。
或者您可能要查看管理特定服务器角色或组件功能或者跨某特定功能作用域来影响对象的 cmdlet 列表。此时,使用 Get-Help cmdlet 和以下三个参数:Role、Component 和 Functionality。将 Get-Help cmdlet 与这些参数结合使用时,请牢记在使用这些参数指定的值两边加上通配符 (*)。下列示例说明了如何用每个参数调用 Get-Help:
Get-Help -Role *Mailbox*
Get-Help -Component *Recipient*
Get-Help -Functionality *Server*
Exchange Server 2007 帮助文件中的“Getting Help”主题列出了可以使用的所有角色、组件和功能值。
●设置命令输出的格式
默认情况下,当屏幕上显示命令输出时,Exchange 命令行管理程序只显示每个对象的可用属性的一部分。为什么?因为每个对象可能包含很多属性,您要根据需要优化命令输出。通过将命令输出用管道传递到以下三个格式设置 cmdlet,您可以轻松访问和查看所有这些属性:Format-List、Format-Table 和 Format-Wide。
Format-List 和 Format-Table 是最常用的 cmdlet,我们来更详细地了解一下它们。
Format-List cmdlet 接受来自管道的输入并将每个对象的所有指定属性以垂直列表格式输出。通过使用 Property 参数(该参数是一个位置参数),您可以指定要显示哪些属性。如果调用 Format-List cmdlet 而未指定任何参数,则将输出所有属性。Format-List cmdlet 会自动换行,而不是截断行。Format-List cmdlet 的最佳用途之一就是覆盖某个 cmdlet 的默认输出,以便检索其他信息或更受关注的信息,如 Get-DistributionGroup | Format-List Name, *OnlyFrom, PrimarySmtpAddress, *Size* 示例中所示。图 2 显示此命令的输出。
可以使用 Format-Table cmdlet 以表格格式显示项目,其中包含标签标题和属性数据列。默认情况下,许多 cmdlet(如 Get-Mailbox 和 Get-JournalRule cmdlet)都使用表格格式输出。Format-Table cmdlet 的参数中包括 Properties 和 GroupBy 参数。这些参数的作用与其在 Format-List cmdlet 中的作用完全相同。要完全显示较长的属性信息行,而不是在行的末尾截断,请将 Wrap 参数和 Format-Table cmdlet 结合使用,如以下示例所示:Get-Mailbox –Database Research | Format-Table Name, ProhibitSendQuota, Database –Wrap。图 3 显示了此命令的输出。
图 3 Format-Table 示例输出
在 Format-List 和 Format-Table cmdlet 中,您还可以指定使用通配符“*”代替部分属性名称,如图 2 中所示。如果包含通配符,则可以匹配多个属性,而不必单独键入每个属性名称。例如,Get-Mailbox | Format-List -Property Email* 返回以 Email 开头的所有属性。使用 Exchange 2007 可以减少键入的内容并节省时间!
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者