dosperados
03-04-2012, 05:55
Стоит задача создавать в Outlook группы рассылок (или она же "группа контактов") (Distanation List). Путем проб и ошибок я нашел как создать объект "группа рассылок"
$VerbosePreference = "Continue"
Write-Verbose "Подключаемся к Outlook"
$oOutlook = New-Object -ComObject Outlook.Application
Write-Verbose "Получаем MAPI"
$oNameSpace = $oOutlook.GetNamespace("MAPI")
Write-Verbose "Получаем папку Контакты"
$oMAPIFolder = $oNameSpace.GetDefaultFolder(10)
Write-Verbose "Создаем папку"
$oMyMAPIFolder = $oMAPIFolder.Folders.Add("Контакты организации")
Write-Verbose "Устанавливаем на эту папку галочку ""Показывать как адресную книгу"""
$oMyMAPIFolder.ShowAsOutlookAB = "True"
Write-Verbose "Получаем содержимое папки контактов"
$cContacts = $oMyMAPIFolder.Items
$a2 = $cContacts | select -Index 2
$a5 = $cContacts | select -First 5
Write-Verbose "Создание объекта ""DistList"""
$oContact = $oMyMAPIFolder.Items.Add(7)
$oContact.DLname = "distlist"
$oContact.body = "Описание группы рассылки"
$oContact.AddMember($a2)
#$oContact.AddMembers($a5)
#Сохраняем контакт
$oContact.Save()
Я не могу понять как добавить в созданную группу рассылки адресы на которые будет рассылка.
пробовал добавлять массив с адресами контактов, вручную адреса почты.
Самое главное это научится добавлять и удалять из этого объекта адреса контактов.
Заранее благодарен за помощь!!!!!
Созданные объект имеет вот такие поля:
Application : Microsoft.Office.Interop.Outlook.ApplicationClass
Class : 69
Session : Microsoft.Office.Interop.Outlook.NameSpaceClass
Parent : System.__ComObject
Actions : System.__ComObject
Attachments : System.__ComObject
BillingInformation :
Body : Тело группы рассылки
Categories :
Companies :
ConversationIndex : 01CD1140C64F7274E4C9F6ED4906A40075EC151ABE8D
ConversationTopic : distlist
CreationTime : 03.04.2012 9:23:36
EntryID : 0000000059AD1D58D7D0254DA4C3F892D929361C84A92500
FormDescription : System.__ComObject
GetInspector : System.__ComObject
Importance : 1
LastModificationTime : 03.04.2012 9:23:36
MAPIOBJECT : System.__ComObject
MessageClass : IPM.DistList
Mileage :
NoAging : False
OutlookInternalVersion : 146109
OutlookVersion : 14.0
Saved : True
Sensitivity : 0
Size : 1620
Subject : distlist
UnRead : False
UserProperties : System.__ComObject
DLName : distlist
MemberCount : 0
CheckSum : 0
Members : {}
OneOffMembers : {}
Links : System.__ComObject
DownloadState : 1
ItemProperties : System.__ComObject
MarkForDownload : 0
IsConflict : False
AutoResolvedWinner : False
Conflicts : System.__ComObject
PropertyAccessor : System.__ComObject
TaskSubject : distlist
TaskDueDate : 01.01.4501 0:00:00
TaskStartDate : 01.01.4501 0:00:00
TaskCompletedDate : 01.01.4501 0:00:00
ToDoTaskOrdinal : 01.01.4501 0:00:00
ReminderOverrideDefault : False
ReminderPlaySound : False
ReminderSet : False
ReminderSoundFile :
ReminderTime : 01.01.4501 0:00:00
IsMarkedAsTask : False
ConversationID :
RTFBody : {123, 92, 114, 116...}
$VerbosePreference = "Continue"
Write-Verbose "Подключаемся к Outlook"
$oOutlook = New-Object -ComObject Outlook.Application
Write-Verbose "Получаем MAPI"
$oNameSpace = $oOutlook.GetNamespace("MAPI")
Write-Verbose "Получаем папку Контакты"
$oMAPIFolder = $oNameSpace.GetDefaultFolder(10)
Write-Verbose "Создаем папку"
$oMyMAPIFolder = $oMAPIFolder.Folders.Add("Контакты организации")
Write-Verbose "Устанавливаем на эту папку галочку ""Показывать как адресную книгу"""
$oMyMAPIFolder.ShowAsOutlookAB = "True"
Write-Verbose "Получаем содержимое папки контактов"
$cContacts = $oMyMAPIFolder.Items
$a2 = $cContacts | select -Index 2
$a5 = $cContacts | select -First 5
Write-Verbose "Создание объекта ""DistList"""
$oContact = $oMyMAPIFolder.Items.Add(7)
$oContact.DLname = "distlist"
$oContact.body = "Описание группы рассылки"
$oContact.AddMember($a2)
#$oContact.AddMembers($a5)
#Сохраняем контакт
$oContact.Save()
Я не могу понять как добавить в созданную группу рассылки адресы на которые будет рассылка.
пробовал добавлять массив с адресами контактов, вручную адреса почты.
Самое главное это научится добавлять и удалять из этого объекта адреса контактов.
Заранее благодарен за помощь!!!!!
Созданные объект имеет вот такие поля:
Application : Microsoft.Office.Interop.Outlook.ApplicationClass
Class : 69
Session : Microsoft.Office.Interop.Outlook.NameSpaceClass
Parent : System.__ComObject
Actions : System.__ComObject
Attachments : System.__ComObject
BillingInformation :
Body : Тело группы рассылки
Categories :
Companies :
ConversationIndex : 01CD1140C64F7274E4C9F6ED4906A40075EC151ABE8D
ConversationTopic : distlist
CreationTime : 03.04.2012 9:23:36
EntryID : 0000000059AD1D58D7D0254DA4C3F892D929361C84A92500
FormDescription : System.__ComObject
GetInspector : System.__ComObject
Importance : 1
LastModificationTime : 03.04.2012 9:23:36
MAPIOBJECT : System.__ComObject
MessageClass : IPM.DistList
Mileage :
NoAging : False
OutlookInternalVersion : 146109
OutlookVersion : 14.0
Saved : True
Sensitivity : 0
Size : 1620
Subject : distlist
UnRead : False
UserProperties : System.__ComObject
DLName : distlist
MemberCount : 0
CheckSum : 0
Members : {}
OneOffMembers : {}
Links : System.__ComObject
DownloadState : 1
ItemProperties : System.__ComObject
MarkForDownload : 0
IsConflict : False
AutoResolvedWinner : False
Conflicts : System.__ComObject
PropertyAccessor : System.__ComObject
TaskSubject : distlist
TaskDueDate : 01.01.4501 0:00:00
TaskStartDate : 01.01.4501 0:00:00
TaskCompletedDate : 01.01.4501 0:00:00
ToDoTaskOrdinal : 01.01.4501 0:00:00
ReminderOverrideDefault : False
ReminderPlaySound : False
ReminderSet : False
ReminderSoundFile :
ReminderTime : 01.01.4501 0:00:00
IsMarkedAsTask : False
ConversationID :
RTFBody : {123, 92, 114, 116...}