确定可供 Exchange Online 管理员使用的 cmdlet

 

上一次修改主题: 2014-06-09

**摘要:**使用 Windows PowerShell 来管理使用 Windows PowerShell cmdlet、脚本和批处理过程的 Office 365。

可以在两个不同的地方找到适用于 Exchange Online 管理员的所有 cmdlet 的帮助主题。首先,大约有 40 个左右只可与 Exchange Online 一起使用的 cmdlet;这组 cmdlet 无法与 Exchange Server 的本地版本一起使用。这些 cmdlet 都记录在此处。(到时候您也可以看看文章使用远程 PowerShell 连接 Exchange Online。)

但是,可供 Exchange Online 管理员使用的绝大多数 cmdlet 也可以与 Exchange Server 的本地版本一起使用。所有这些 cmdlet 都可以在这里找到。您如何知道哪些 cmdlet 可以与 Exchange Online 一起使用,而哪些不可以?一种方法是看一看有关给定 cmdlet 的文档:

Exchange cmdlet 的“适用于”框。

如果文档指出 cmdlet 适用于 Exchange Online,那么,该 cmdlet 就适用于 Exchange Online。

或者,在使用 Windows PowerShell 连接到 Exchange Online 之后,您可以轻松检索可供您使用的 cmdlet 列表。要做到这一点,首先运行命令 Get-Module,以返回当前在您的 Windows PowerShell 实例中加载的所有模块的列表。将会返回类似于以下的信息:

ModuleType  Version  Name             ExportedCommands
----------  ------- ----              ----------------
Manifest    1.0      MSOnline         {Add-MsolForeignGroupToRol...
Script      1.0      tmp_lqy0pg2k.aij {Add-AvailabilityAddressSpace...

在此示例中,模块 tmp_lqy0qypg2k.aij 是一个 Exchange Online 模块。请注意,模块名称会在每次连接到 Exchange Online 时发生变化;这是因为该模块没有安装在本地计算机上,而是在每次连接到 Exchange Online 时动态生成的。幸运的是,您可以简单地看一下导出的命令列表,以确定哪些临时模块适用于 Exchange Online:至少在目前,为 Exchange Online 列出的第一个 cmdlet 会是 Add-AvailabilityAddressSpace。

一旦您知道了模块名称,就可以使用类似以下的命令返回所有 Exchange Online cmdlet 的列表:

Get-Command -Module "tmp_lqy0pg2k.aij"     

备注

您应如何记住像 tmp_lqy0pg2k.aij 这样的模块名称?好吧,幸运的是您不必去记。如果您看了可用模块的列表,就会知道只有 Exchange Online 模块以字母 t 开头。因此,键入以下命令,然后按 TAB 键:
Get-Command –Module t
试一试,看看效果。

顺便说一句,492 个 Exchange Online cmdlet 将显示在一个巨大的滚动列表中,以很快的速度在您面前掠过,这可能会让您感到晕眩。如果您想让速度变得慢一点,也许一次只显示一屏有价值的 cmdlet,请使用以下命令:

Get-Command -Module "tmp_lqy0pg2k.aij" | More    

该命令将为您显示一屏有价值的 cmdlet,接着就会暂停,直到您按键盘上的任意键继续。在这种情况下,它将为您显示第二屏有价值的 cmdlet。如果您厌倦了通过一屏一屏地分页显示 cmdlet 名称,只需按 Ctrl-C 组合键退出。

如果您只对 cmdlet 的某个子集(例如,所有用来禁用功能的 cmdlet)感兴趣,您可以根据 cmdlet 名称使用通配符 (*) 筛选 cmdlet。例如,以下命令只返回以单词“Disable”开头的 Exchange Online cmdlet:

Get-Command -Name "Disable*" -Module "tmp_lqy0pg2k.aij" 

它会返回以下内容:

CommandType     Name                             ModuleName
-----------     ----                             ----------
Function        Disable-App                      tmp_lqy0pg2k.aij
Function        Disable-HostedContentFilterRule  tmp_lqy0pg2k.aij
Function        Disable-InboxRule                tmp_lqy0pg2k.aij
Function        Disable-JournalRule              tmp_lqy0pg2k.aij
Function        Disable-Mailbox                  tmp_lqy0pg2k.aij
Function        Disable-MailPublicFolder         tmp_lqy0pg2k.aij
Function        Disable-MalwareFilterRule        tmp_lqy0pg2k.aij
Function        Disable-OutlookProtectionRule    tmp_lqy0pg2k.aij
Function        Disable-TransportRule            tmp_lqy0pg2k.aij
Function        Disable-UMAutoAttendant          tmp_lqy0pg2k.aij
Function        Disable-UMCallAnsweringRule      tmp_lqy0pg2k.aij
Function        Disable-UMIPGateway              tmp_lqy0pg2k.aij
Function        Disable-UMMailbox                tmp_lqy0pg2k.aij

以下命令仅返回 cmdlet 名称中包含单词 Junk 的 cmdlet:

Get-Command -Name "*Junk*" -Module "tmp_lqy0pg2k.aij" 

也就是会返回以下内容:

CommandType     Name                               ModuleName
-----------     ----                               ----------
Function        Get-MailboxJunkEmailConfiguration  tmp_lqy0pg2k.aij
Function        Set-MailboxJunkEmailConfiguration  tmp_lqy0pg2k.aij

无需赘言,当您在处理所有这些 cmdlet 时,类似这样的技巧使用起来会十分方便。

另请参阅

概念

使用 Windows PowerShell 管理 Exchange Online