确定可供 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 的文档:
如果文档指出 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 时,类似这样的技巧使用起来会十分方便。