我正在编写一个用于管理Exchange通讯组和公用文件夹的Powershell脚本。
在公用文件夹管理控制台中,我创建了一个Mail Enabled文件夹。在该文件夹的“属性”中,在“电子邮件地址”选项卡下,我想从列表中删除包含“Correspondence”的所有出现的电子邮件地址。
我的问题是,您如何使用Powershell从公用文件夹的属性中删除电子邮件地址?
如果你想看一段代码,请点击这里:
# create the new public folder
New-PublicFolder -Name $nextProjectName -Path "\Projets"
Add-PublicFolderClientPermission -Identity "\Projets\$nextProjectName" -AccessRights CreateItems, ReadItems, CreateSubfolders, EditOwnedItems, FolderVisible, DeleteOwnedItems -User $nextProjectName
New-PublicFolder -Name "Correspondance" -Path "\Projets\$nextProjectName"
Enable-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance"
$correspondanceAlias = $nextProjectCode.Substring(1,6)
Set-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance" -Alias "bccp$correspondanceAlias" -DisplayName "bccp$correspondanceAlias"
这是截图,详细显示了我要删除的内容。两个SMTP地址和两个X400地址中的第二个。
答案 0 :(得分:1)
未经测试,但我认为这应该有效:
foreach ($mailpf in get-mailpublicfolder){
$addrs = $mailpf.emailaddresses |
where {$_.proxyaddressstring -notmatch "smtp:.*correspondence.*"}
set-mailpublicfolder $mailpf.identity -emailaddresses $addrs -whatif
}
答案 1 :(得分:1)
我已经解决了这个问题。我所做的就是重复设置公用文件夹属性的cmdlet以添加电子邮件地址,因此错误的电子邮件地址永远不会出现。
$correspondanceAlias = $nextProjectCode.Substring(1,6)
Set-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance" -Alias "bccp$correspondanceAlias" -DisplayName "bccp$correspondanceAlias"
Set-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance" -EmailAddresses "bccp$correspondanceAlias@matricis.local", "bccp$correspondanceAlias@matricis.com"
答案 2 :(得分:0)