2014-01-21 23 views
0

假設我想從PowerShell中檢查一些用戶郵箱屬性。我可以在Exchange命令行管理程序中運行腳本,但問題是我不能保證最終用戶將直接在Exchange或具有任何Exchange工具的計算機上運行腳本。因此,我可以告訴最終用戶只需在PowerShell(而不是EMS)中運行腳本並將腳本導入到腳本中。如何從標準PowerShell(而不是EMS)中找到Exchange服務器名稱?

但是,我的主要問題在於,我無法將服務器名稱硬編碼到腳本中(它將用於許多不同的環境中),我想避免要求最終用戶提供Exchange Server名稱爲pssesion。

有沒有什麼辦法可以只用vanilla PowerShell自動獲得Exchange Server名稱(不需要EMS等)?該腳本將由具有域管理員權限的用戶運行,很可能在計算機上沒有Outlook(因此沒有MAPI配置文件配置),如果有幫助的話。

+0

您運行的是什麼版本的Exchage,機器上安裝了哪個版本的Powershell? – mjolinor

+0

理想情況下,它可以在從2003年到2013年的任何Exchange Server版本上運行。假設至少使用2.0版本的PowerShell。 – streamofstars

+1

那麼我恐怕你可能會運氣不好。我不認爲你會發現任何知道如何找到Exchange 2003服務器來從中導入PSSesson的人。 – mjolinor

回答

1

我不知道這是怎麼便攜式(它適用於我的E2K7安裝,但您的里程可能會發生變化)...

你可以看看在AD通過做這樣的事情讓Exchange服務器的列表以下內容:

$exchangeServers = [ADSI]"LDAP://contoso.com/CN=Exchange Servers,OU=Microsoft Exchange Security Groups,DC=contoso,DC=com" 
$exchangeServers.Member 

在我的環境,這列出了所有的Exchange服務器的計算機帳戶,加上其他一些羣體,但它是一個起點。

相關問題