如何在 powershell 中创建邮箱并确定在哪个邮件存储中创建它?

如何在 powershell 中创建邮箱并确定在哪个邮件存储中创建它?

我需要编辑一个创建新用户的 powershell 脚本并添加一个为他们创建邮箱的部分,我遇到的问题是我需要它检查用户名的首字母以确定它是在“Store AM”还是“Store AZ”数据库中创建它。据我所知,我可以将 exchange 模块导入 powershell(我不会在 exchange shell 中)并使用 enable-mailbox cmdlet,只是在尝试所有操作时遇到问题。任何帮助都将不胜感激

编辑:我在 2008R2 机器上运行 Exchange 2010,但更有可能从 2012 R2 服务器运行脚本。

答案1

我使用这些命令来创建会话并导入模块,这样我就不必使用 EMS:

New-PSSession -Name Exchange -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchangeserver.domain.com/powershell/ -AllowRedirection -Authentication Kerberos
Import-Module (Import-PSSession (Get-PSSession -Name Exchange)) -Global

导入模块后,您可以像这样启用邮箱(假设您已经拥有用户的详细信息):

$mailstore = ""
if($user.Surname[0] -le 'M')
    { $mailstore = "Store A-M" }
else
    { $mailstore = "Store N-Z" }

Enable-Mailbox -Identity $user.samAccountName -Database $mailstore

我没有添加您可能需要的所有命令参数Enable-Mailbox,因为它们可能有很多,而且与问题无关。您可以看这里了解更多信息。

相关内容