У меня есть клиент, который переводит бизнес-подразделение в новый лес AD, организацию Exchange и т. Д.
Мы используем инструменты Quest для переноса пользователей и почтовых ящиков. Однако мне нужно построить новую инфраструктуру, чтобы она соответствовала старой.
В старом мы используем политики почтовых ящиков управляемых папок, чтобы ограничить (или разрешить) хранение. Они начали с Exchange 2007 и никогда не обновлялись до политик хранения; Ну что ж.
Итак, в старой среде, когда вы используете сервер 2007 для определения новой настройки управляемого содержимого, вы можете выбрать «Электронная почта» из раскрывающегося списка для MessageClass. Это отображаемое имя; фактические значения MessageClass таковы:
Класс сообщения: IPM.Note; IPM.Note.AS/400 Move Notification Form 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. *; REPORT. IPM.Note.NDR
Если я возьму это и попытаюсь преобразовать его в новый командлет для Ex2010 в моей новой среде, вот что я получу
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
Invoke-Command: невозможно привязать параметр 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
Итак, объект конфигурации может хранить весь этот беспорядок, но я не могу уместить его с помощью командлета для создания объекта. Прекрасно.
Любые идеи?
Вот это да. Ответ одновременно разумный и уродливый. Я поместил неприятную вещь в переменную, а затем передал ее в командлет. Я не из тех, кто слепо критикует Microsoft, и я знаю, что они хотели, чтобы люди прекратили использовать управляемые папки около 4 лет назад, но какого черта?
Это лучше, чем другое решение, которое я рассматривал, который устанавливал инструменты управления Ex2007 (или, возможно, сервер Ex2007) просто для того, чтобы GUI делал это в консоли управления 2007 Exchange Management Console.
$class = "IPM.Note;IPM.Note.AS/400 Move Notification Form 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.*;REPORT.IPM.Note.NDR"
New-ManagedContentSettings -Name "Delete Messages older then 90 days" -FolderName "Entire Mailbox" -RetentionEnabled $True -AgeLimitForRetention 90 -TriggerForRetention WhenDelivered -RetentionAction DeleteAndAllowRecovery -MessageClass $class
Работа Mfinni по включению его в переменную, вероятно, лучший способ, особенно если есть шанс повторно использовать его в других сценариях / политиках хранения. Но если вы просто сокращаете длину, вы также можете использовать следующее.
New-ManagedContentSettings -Name "Delete Messages older than 90 days" -FolderName "Entire Mailbox" -RententionEndabled $True -AgeLimitForRetention 90 -TriggerForRetention WhenDelivered -RetentionAction DeleteAndAllowRecovery -MessageClass "IPM.Note.*","IPM.Notification.Meeting.Forward","IPM.Outlook.Recall","IPM.Recall.Report.Success","IPM.Schedule.Meeting.*","REPORT.IPM.Note.NDR"