Exchange Powershell - 如何从脚本内部调用Exchange 2010模块?

问题描述:

我正在写一个脚本,用AD和Exchange做很多事情,刚到GUI的那一部分,我需要开始使用Exchange,但没有看到我可以手动指定的地方包含Exchange模块。我熟悉的正常流程是import-module activedirectory,但导入模块交换不起作用。Exchange Powershell - 如何从脚本内部调用Exchange 2010模块?

我执行了Get-Module-ListAvailable |选择名称,并没有看到任何指示Exchange。但是,Exchange管理外壳已加载到我正在处理的Exchange服务器上。

有谁知道如何在我的脚本中包含Exchange 2010模块,以便我可以在内部使用特定于交换的cmdlet? TIA ...

你可以这样做:

add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010 

而且大部分会工作(虽然MS支持,会告诉你,这样做是不支持,因为它绕过RBAC)。

我见过一些cmdlet问题(特别是启用/禁用UMmailbox),只是加载管理单元无法正常工作。

在Exchange 2010中,他们基本上不支持在实际EMS外壳的隐式远程环境之外使用Powershell。

+0

谢谢MJ - 正是我一直在寻找和我”由于微软似乎决定将其作为利用固有Exchange2010 cmdlet的非标准方式,因此预计会出现错误。 – thepip3r 2011-05-17 19:58:21

+0

这似乎不再适用于Windows 10. – 2016-03-04 22:20:44

我知道这是一个老问题,但不是添加明显不受支持的snapin,而是查看EMS快捷方式属性并复制这些命令。

完整的快捷方式目标是:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto" 

所以我把我的剧本开始下面,它似乎按预期:

. 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1' 
Connect-ExchangeServer -auto 

注:

  • 必须在64位运行PS
  • 这是在服务器上测试j安装管理工具。它自动连接到我们现有的Exchange基础结构。
  • 没有进行广泛的测试,所以我不知道这种方法是否可行。如果遇到任何问题,我将编辑此帖子。
+0

第一个命令适用于我,即使在运行第一个命令后也找不到Connect-ExchangeServer命令行开关。这是在Windows 10几年后,所以事情可能已经改变了这个问题。 – 2016-03-04 22:20:27

与像一些实施进口模块Microsoft.Exchange.Management.PowerShell.E2010aTry:

$exchangeser = "MTLServer01" 
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionURI http://${exchangeserver}/powershell/ -Authentication kerberos 
import-PSSession $session 

add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010