Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Автоархивация всех папок в Outlook через скрипт (http://forum.oszone.net/showthread.php?t=296021)

zhuk09 25-02-2015 11:14 2475618

Автоархивация всех папок в Outlook через скрипт
 
Добрый день!
Есть необходимость организовать архивирование сообщений в Outlook в локальные pst файлы.
Шаблоны для организации этого через GPO применены, но вопрос остался в том, что по умолчанию автоархивируются только папки Отправленные и Удаленные. А необходимо архивировать все папки пользователя со всеми родительскими папками и подпапками (делается при помощи нажатия на кнопку "Применить настройки ко всем папкам").
Нашел подобную тему http://social.technet.microsoft.com/...814a12c4b/-gpo где есть ссылка вот на этот скрипт Save Auto-Archive Properties of a Folder in Solution Storage
Код:

Function ChangeAgingProperties(oFolder As Outlook.Folder, _
    AgeFolder As Boolean, DeleteItems As Boolean, _
    FileName As String, Granularity As Integer, _
    Period As Integer, Default As Integer) As Boolean
   
    '6 MAPI properties for aging items in a folder
    Const PR_AGING_AGE_FOLDER = _
        "http://schemas.microsoft.com/mapi/proptag/0x6857000B"
    Const PR_AGING_DELETE_ITEMS = _
        "http://schemas.microsoft.com/mapi/proptag/0x6855000B"
    Const PR_AGING_FILE_NAME_AFTER9 = _
        "http://schemas.microsoft.com/mapi/proptag/0x6859001E"
    Const PR_AGING_GRANULARITY = _
        "http://schemas.microsoft.com/mapi/proptag/0x36EE0003"
    Const PR_AGING_PERIOD = _
        "http://schemas.microsoft.com/mapi/proptag/0x36EC0003"
    Const PR_AGING_DEFAULT = _
        "http://schemas.microsoft.com/mapi/proptag/0x685E0003"
   
    Dim oStorage As StorageItem
    Dim oPA As PropertyAccessor
   
    ' Valid Period:
    ' 1-999
    '
    ' Valid Granularity:
    ' 0=Months, 1=Weeks, 2=Days
    '
    ' Valid Default:
    ' 0=All settings do not use a default setting
    ' 1=Only the file location is defaulted
    ' "Archive this folder using these settings" and
    ' "Move old items to default archive folder" are checked
    ' 3=All settings are defaulted
    ' "Archive items in this folder using default settings" is checked
   
    If (oFolder Is Nothing) Or _
        (Granularity < 0 Or Granularity > 2) Or _
        (Period < 1 Or Period > 999) Or _
        (Default < 0 Or Default = 2 Or Default > 3) _
    Then
        ChangeAgingProperties = False
    End If
       
    On Error GoTo Aging_ErrTrap
   
    'Create or get solution storage in given folder by message class
    Set oStorage = oFolder.GetStorage( _
        "IPC.MS.Outlook.AgingProperties", olIdentifyByMessageClass)
    Set oPA = oStorage.PropertyAccessor
   
    If Not (AgeFolder) Then
        oPA.SetProperty PR_AGING_AGE_FOLDER, False
    Else
        'Set the 6 aging properties in the solution storage
        oPA.SetProperty PR_AGING_AGE_FOLDER, True
        oPA.SetProperty PR_AGING_GRANULARITY, Granularity
        oPA.SetProperty PR_AGING_DELETE_ITEMS, DeleteItems
        oPA.SetProperty PR_AGING_PERIOD, Period
        If FileName <> "" Then
            oPA.SetProperty PR_AGING_FILE_NAME_AFTER9, FileName
        End If
        oPA.SetProperty (PR_AGING_DEFAULT), Default
    End If
    'Save changes as hidden messages to the associated portion of the folder
    oStorage.Save
    ChangeAgingProperties = True
    Exit Function
   
Aging_ErrTrap:
    Debug.Print Err.Number, Err.Description
    ChangeAgingProperties = False
End Function

Sub TestAgingProps()
    Dim oFolder As Outlook.Folder
    Set oFolder = Application.ActiveExplorer.CurrentFolder
    If ChangeAgingProperties(oFolder, True, False, "", 0, 6, 1) Then
        Debug.Print "ChangeAgingProperties OK"
    Else
        Debug.Print "ChangeAgingProperties Failed"
    End If
End Sub

1.Не пойму одного, что делает этот скритп и что нужно менять в нем, для того что бы применять его на своих доменных машинах?!
2. Или ни чего не надо менять в нем, т.к он работает со стандартными объектами Outlook?!

zhuk09 25-02-2015 19:21 2475816

Хм, ни одного ответа ни на одном форуме! Не ужели ни кто не реализовывал данный метод?!

zhuk09 26-02-2015 19:04 2476287

Гуру скриптов VBS/VBA, help me))))!!!

zhuk09 02-03-2015 15:05 2477824

UP UP UP!!!!

zhuk09 03-03-2015 19:33 2478360

К кому можно обратиться (даже не в рамках форума) за разъяснением работы данного скрипта. Много что не понятно в нем!
Спасибо!

zhuk09 11-03-2015 20:31 2481497

Командармы!!! Реально,к то-нибудь справился с данным методом реализации автоархивирования?!
Т.к нашел еще одну похожую тему, и там то же глухо
http://www.cyberforum.ru/post4966127.html
Цитата:

Осталось 2 проблемы, как засунуть этот макрос на каждый клиент и как его автоматом запускать (ведь нужно чтобы у вновь созданных папок тоже выставлялась эта настройка).
Второе я сделал процедурой Private Sub Application_Startup() но эта процедура срабатывает ещё до того как оболочка загрузится и макрос отрабатывает в холостую. Помогите = )
Ну хоть кто-нибудь сделал это до конца?!

maslennikove 22-10-2020 11:49 2937192

выход тут - http://powershellblogger.com/2015/08...okautoarchive/

Раскидываете через GPO эмсиайки и наслаждайтесь
Не за что :)


Время: 23:34.

Время: 23:34.
© OSzone.net 2001-