我需要编辑一个创建新用户的 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
,因为它们可能有很多,而且与问题无关。您可以看这里了解更多信息。