一、New-MailboxFolder命令的使用范围
可能大家在看到标题的时候,首先会想到使用New-MailboxFolder cmdlet来为用户创建邮箱文件夹。但是在使用中会发现,这一条命令只能够为用户自己创建邮箱文件夹,并不能够给其他用户进行创建,即使你具有邮件系统管理员的权限;
通过查看New-MailboxFolder cmdlet的权限范围,我们可以发现收件人的读写范围仅仅是用户自己,没有权限为他人创建邮箱文件夹。根据官方资料说明,即使人为地修改这两个值,也会被Overwritten掉。如下图所示:
二、为用户批量创建邮箱文件夹:
为了能够实现服务器为其他用户创建邮箱文件夹,需要进行如下两个准备工作:
1. 安装EWS API,如下图所示:
2. 准备专门的powershell脚本
3. 使用此脚本创建单个用户的邮箱文件夹,运行如下命令,为用户exadmin在收件箱下创建一个名称为”personal”的文件夹:
.\Create-Folders.ps1 exadmin@contoso.com “personal”
4. 单个用户测试通过后,我们为所有用户创建邮箱文件夹,运行如下命令:
Get-Mailbox |foreach {try {.\Create-Folders.ps1 $_.primarysmtpaddress "personal" -Impersonate}catch{}}
5. 需要特别指出的是,如果在创建过程中,发现用户已经存在此邮箱文件夹,则会提示该文件夹已经存在,跳过此邮箱;同时,该脚本不仅仅只能在收件箱下创建文件夹,还可以在其他路径下进行邮箱文件夹的创建。
三、统一设置收件箱规则
使用New-InboxRule cmdlet命令可以为所有用户设置收件箱规则,进而实现将特定主题的邮件投递到我们前面创建的”personal”文件夹下。为此,需要执行以下步骤:
1. 赋予邮件管理员对所有邮箱完全访问的权限,运行如下命令:
Get-Mailbox |Add-MailboxFolderPermission -AccessRights fullaccess -User exadmin
2. 以exadmin身份打开EMS,运行如下命令,创建规则:
Get-Mailbox |foreach {New-InboxRule -Mailbox $_.alias -Name MoveMail -SubjectContainsWords "test" –MoveToFolder $($_.alias):\收件箱\personal }
3. 需要特别注意的是,当您使用 Outlook Web App 创建、修改、删除、启用或禁用收件箱规则时,使用 MicrosoftOutlook 禁用的任何规则都将被删除。
联系客服