2011-05-17 85 views
8

我正在寫一個腳本,用AD和Exchange做很多事情,剛到GUI的那一部分,我需要開始使用Exchange,但沒有看到我可以手動指定的地方包含Exchange模塊。我熟悉的正常流程是import-module activedirectory,但導入模塊交換不起作用。Exchange Powershell - 如何從腳本內部調用Exchange 2010模塊?

我執行了Get-Module-ListAvailable |選擇名稱,並沒有看到任何指示Exchange。但是,Exchange管理外殼已加載到我正在處理的Exchange服務器上。

有誰知道如何在我的腳本中包含Exchange 2010模塊,以便我可以在內部使用特定於交換的cmdlet? TIA ...

回答

18

你可以這樣做:

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

16

我知道這是一個老問題,但不是添加明顯不受支持的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

0

與像一些實施進口模塊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