Назад | Перейти на главную страницу

Outlook 2007 / MS Exchange 2003 - глобальная принудительная установка определенного набора папок

У нас есть 150 клиентов, подключенных к серверу Exchange 2003. Я пытаюсь сделать так, чтобы каждый клиент Outlook 2007 имел определенный набор папок и чтобы пользователи не могли их удалить.

Я попытался найти какие-либо параметры групповой политики, связанные с этим, но, похоже, ничего не связано. Google ничего не сообщает по этому поводу.

Это просто невозможно? У кого-нибудь есть идеи или опыт в этом вопросе?

Вы можете использовать CDO / MAPI только в Exchange 2003. Примеров не так много, но посмотрите там: КАК: установить разрешения на уровне папки с помощью CDO 1.21 и ACL.dll

Хорошо ли это работает, не знаю (но это из блога микросота и написано сотрудником Microsoft)

Отредактировано: Чтобы создать папку, пример CDO:https://msdn.microsoft.com/en-us/library/ms878640(v=exchg.65).aspx

The following examples show how to create a folder in the Exchange store. The function in each example performs the following steps:
The function attempts to create a folder at this URL. If an error occurs, the function fails.
If the function is successful, it sets the new folder's contentclass Field to the value "urn:content-classes:folder".
The function returns a reference to the Record object that is bound to the new folder.
VBScript
If WScript.Arguments.Count < 1 Then
 WScript.Echo "Usage: cscript createfolder.wsf URL [content class]"
 WScript.Quit
End If

Dim sUrl
Dim sContentClass

' Note: It is recommended that all input parameters be validated when they are
' first obtained from the user or user interface.
sUrl = WScript.Arguments(0)
sContentClass = WScript.Arguments(1)

Dim Rec
Wscript.Echo "Creating folder at URL: " & sUrl
Set Rec = CreateFolder(sUrl, sContentClass, Nothing)
Wscript.Echo "Succeeded."

Function CreateFolder( sUrl, sContentClass, Conn )

 Dim Rec
 Set Rec    = CreateObject("ADODB.Record")

 ' Did caller pass a Connection object reference?
 If Not ( VarType(Conn) = vbObject AND TypeName(Conn) = "Connection" ) Then
   Set Conn = CreateObject("ADODB.Connection")
   Conn.Provider = "ExOLEDB.DataSource"
   Conn.Open sUrl
 End If

 If sContentClass = "" Then
  sContentClass = "urn:content-classes:folder" ' The Default is urn:content-classes:folder.
 End If

 ' Try to create the folder

 Rec.Open sUrl, Conn, adModeReadWrite, adCreateCollection
 Rec.Fields("DAV:contentclass") = sContentClass
 Rec.Fields.Update

 Set CreateFolder = Rec

End Function

EWS может изменять ACL папки, но Exchange 2003 не поддерживает это. Вам нужен как минимум Exchange 2007.

Set-MailboxFolderPermission тоже может, но опять же, он недоступен в 2003 году.

Некоторый пример, там и там

Он называется «Управляемые папки» и был введен в Exchange 2007 и объявлен устаревшим в пользу тегов хранения в Exchange 2010, хотя он все еще существует. Не уверен насчет 2013/365/2016.

В Exchange 2003 нет собственных опций. Вы можете найти сторонний инструмент или просто обновить платформу 10-летней давности.