none
Как через PS вытянуть все митинги из подключённого календаря? RRS feed

  • Вопрос

  • Добрый день,

    Есть необходимость вытягивать митинги из календаря, для этого вполне подошёл бы скрипт взятый отсюда:

    http://weblogs.asp.net/whaggard/archive/2007/03/21/retrieving-your-outlook-appointments-for-a-given-date-range.aspx

    Но проблема усложняется тем, что к профайлу пользователя подключён ряд ресурсов(митинг румов). Как вытянуть события не из дефолтного календаря пользователя, а имеено из этих подключенных?

     

    Буду признателен, за любую помощь.

Ответы

  • Добрый день Илья,

     

    Спасибо за ответ. Я пробовал работать с этим примером и оригинальный календарь оно тянет без проблем, а вот к подключённым обратиться никак не получается.

    В целом я вчера решил эту проблему вставкой С# кода. Вот решение:

    Add-Type -AssemblyName Microsoft.Office.Interop.Outlook

    # define new class
    $class = @"
    using Microsoft.Office.Interop.Outlook;public class MyOL
    {
        public MAPIFolder GetInbox(string userName)
        {
            Application oOutlook = new Application();
            NameSpace oNs = oOutlook.GetNamespace("MAPI");
            Recipient oRep = oNs.CreateRecipient(userName);
            MAPIFolder calendar  = oNs.GetSharedDefaultFolder(oRep, OlDefaultFolders.olFolderCalendar);
            return calendar;
        }
    }
    "@

    Add-Type $class -ReferencedAssemblies Microsoft.Office.Interop.Outlook
    $MyOL = New-Object MyOL

    # specify user name
    $olInbox = $MyOL.GetInbox("UserName")

     

    • Помечено в качестве ответа Oleh Tserkovnyuk 1 июня 2011 г. 7:13

Все ответы

  • 1. Я думаю, что надо обращаться к "оригинальному" календарю, а не "подключенному".

    2. Посмотрите пример http://weblogs.asp.net/whaggard/archive/2007/03/21/retrieving-your-outlook-appointments-for-a-given-date-range.aspx


    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
    Модератор
  • Добрый день Илья,

     

    Спасибо за ответ. Я пробовал работать с этим примером и оригинальный календарь оно тянет без проблем, а вот к подключённым обратиться никак не получается.

    В целом я вчера решил эту проблему вставкой С# кода. Вот решение:

    Add-Type -AssemblyName Microsoft.Office.Interop.Outlook

    # define new class
    $class = @"
    using Microsoft.Office.Interop.Outlook;public class MyOL
    {
        public MAPIFolder GetInbox(string userName)
        {
            Application oOutlook = new Application();
            NameSpace oNs = oOutlook.GetNamespace("MAPI");
            Recipient oRep = oNs.CreateRecipient(userName);
            MAPIFolder calendar  = oNs.GetSharedDefaultFolder(oRep, OlDefaultFolders.olFolderCalendar);
            return calendar;
        }
    }
    "@

    Add-Type $class -ReferencedAssemblies Microsoft.Office.Interop.Outlook
    $MyOL = New-Object MyOL

    # specify user name
    $olInbox = $MyOL.GetInbox("UserName")

     

    • Помечено в качестве ответа Oleh Tserkovnyuk 1 июня 2011 г. 7:13