如何从标准PowerShell(而不是EMS)中找出Exchange服务器名称?

时间:2014-01-21 10:49:17

标签: powershell exchange-server

假设我想从PowerShell中检查一些用户邮箱属性。我可以在Exchange命令行管理程序中运行该脚本,但问题是我无法保证最终用户将直接在Exchange或具有任何Exchange工具的计算机上运行该脚本。所以,我可以告诉最终用户只需在PowerShell(而不是EMS)中运行脚本,并将pssesion编码到脚本中。

然而,这里出现了我的主要问题,我无法将服务器名称硬编码到脚本中(它将在许多不同的环境中使用),我想避免要求最终用户提供Exchange Server名称对于pssesion。

有没有办法只使用vanilla PowerShell(没有EMS等)自动获取Exchange Server名称?该脚本将由具有域管理员权限的用户运行,很可能机器上没有Outlook(因此没有MAPI配置文件配置),如果有任何帮助的话。

1 个答案:

答案 0 :(得分:1)

我不确定这是多么便携(它适用于我的E2K7设置,但你的里程可能会有所不同)......

您可以通过执行以下操作来查看AD以获取交换服务器列表:

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

在我的环境中,这会列出所有Exchange服务器计算机帐户以及其他一些组,但这是一个起点。