我有一个客户正在将一个业务部门剥离到一个新的 AD 森林、Exchange 组织等。
我们正在使用 Quest 工具来迁移用户和邮箱。但是,我必须建立新的基础设施来匹配旧的基础设施。
在旧版本中,我们使用托管文件夹邮箱策略来限制(或允许)保留。他们从 Exchange 2007 开始,从未升级到保留策略;那好吧。
因此,在旧环境中,当您使用 2007 服务器定义新的托管内容设置时,您可以从 MessageClass 的下拉列表中选择“电子邮件”。这是一个显示名称;因此,实际的 MessageClass 值是:
MessageClass : IPM.Note;IPM.Note.AS/400 移动通知表单 v1.0;IPM.Note.Delayed;IPM.Note.Exchange.ActiveSync.Report;IPM.Note.JournalReport.Msg;IPM.Note.JournalReport。 Tnef;IPM.Note.Microsoft.Missed.Voice;IPM.Note.Rules.OofTemplate.Microsoft;IPM.Note.Rules.ReplyTemplate.Microsoft;IPM.Note.Secure.Sign;IPM.Note.SMIME;IPM.Note。 SMIME.MultipartSigned;IPM.Note.StorageQuotaWarning;IPM.Note.StorageQuotaWarning.Warning;IPM.Notification.Meeting.Forward;IPM.Outlook.Recall;IPM.Recall.Report.Success;IPM.Schedule.Meeting.*;报告。 IPM.Note.NDR
如果我接受它并尝试在我的新环境中将其修改为 Ex2010 的新 cmdlet,这就是我得到的
New-ManagedContentSettings -Name "Delete Messages older then 90 days" -FolderName "Entire Mailbox" -RetentionEnabled $True -AgeLimitForRetention 90 -TriggerForRetention WhenDelivered -RetentionAction DeleteAndAllowRecovery -MessageClass "IPM.Note","IPM.Note.AS/400MoveNotificationFormv1.0","IPM.Note.Delayed","IPM.Note.Exchange.ActiveSync.Report","IPM.Note.JournalReport.Msg","IPM.Note.JournalReport.Tnef","IPM.Note.Microsoft.Missed.Voice","IPM.Note.Rules.OofTemplate.Microsoft","IPM.Note.Rules.ReplyTemplate.Microsoft","IPM.Note.Secure.Sign","IPM.Note.SMIME","IPM.Note.SMIME.MultipartSigned","IPM.Note.StorageQuotaWarning","IPM.Note.StorageQuotaWarning.Warning","IPM.Notification.Meeting.Forward","IPM.Outlook.Recall","IPM.Recall.Report.Success","IPM.Schedule.Meeting.*","REPORT.IPM.Note.NDR" -whatif
调用命令:无法将参数“MessageClass”绑定到目标。异常设置“MessageClass”:“属性的长度太长。最大长度为 255,提供的值的长度为 518。” 在 C:\Users\MFinnigan.sa\AppData\Roaming\Microsoft\Exchange\RemotePowerShell\pfexcas02.fve.ad.5ssl.com\pfexcas02.fve.ad .5ssl.com.psm1:28204 char:29 + $scriptCmd = { & <<<< $script:InvokeCommand ` + CategoryInfo : WriteError: (:) [New-ManagedContentSettings], ParameterBindingException + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.Exchange.Management.SystemConfigurationTasks.NewManaged ContentSettings
因此,配置对象可以存储所有这些乱七八糟的东西,但我无法通过 cmdlet 将其放入来创建对象。迷人的。
有任何想法吗?
哇。答案既明智又丑陋。我把讨厌的东西放在一个变量中,然后将它传递给 cmdlet。我不是一个盲目抨击微软的人,我知道他们希望人们在大约 4 年前停止使用托管文件夹,但到底是什么。
它比我考虑的其他解决方案要好,后者安装 Ex2007 管理工具(或可能是 Ex2007 服务器)只是为了让 GUI 在 2007 Exchange 管理控制台中执行此操作。
Mfinni 将它推入变量的工作可能是最好的方法,特别是如果有任何机会在其他脚本/保留策略中重用它。但是,如果只是减少长度,您还应该能够使用以下内容。