假设我想从PowerShell中检查一些用户邮箱属性。我可以在Exchange命令行管理程序中运行该脚本,但问题是我无法保证最终用户将直接在Exchange或具有任何Exchange工具的计算机上运行该脚本。所以,我可以告诉最终用户只需在PowerShell(而不是EMS)中运行脚本,并将pssesion编码到脚本中。
然而,这里出现了我的主要问题,我无法将服务器名称硬编码到脚本中(它将在许多不同的环境中使用),我想避免要求最终用户提供Exchange Server名称对于pssesion。
有没有办法只使用vanilla PowerShell(没有EMS等)自动获取Exchange Server名称?该脚本将由具有域管理员权限的用户运行,很可能机器上没有Outlook(因此没有MAPI配置文件配置),如果有任何帮助的话。
答案 0 :(得分:1)
我不确定这是多么便携(它适用于我的E2K7设置,但你的里程可能会有所不同)......
您可以通过执行以下操作来查看AD以获取交换服务器列表:
$exchangeServers = [ADSI]"LDAP://contoso.com/CN=Exchange Servers,OU=Microsoft Exchange Security Groups,DC=contoso,DC=com"
$exchangeServers.Member
在我的环境中,这会列出所有Exchange服务器计算机帐户以及其他一些组,但这是一个起点。