Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Смотрите, как это работает в целом:
Код: Выделить весь код
$oOutlook    = New-Object -ComObject Outlook.Application
$oNameSpace  = $oOutlook.GetNamespace("MAPI")
$oMAPIFolder = $oNameSpace.GetDefaultFolder(10)


# Подключаемся или создаём папку «Контакты моей компании»
try {
    $oMyMAPIFolder = $oMAPIFolder.Folders.Item("Контакты моей компании")
} catch {
    $oMyMAPIFolder = $oMAPIFolder.Folders.Add("Контакты моей компании")
}

$cContacts = $oMyMAPIFolder.Items


# Добавляем Контакт №1
$oContact = $cContacts.Add(2)

$oContact.LastName         = "Test_LastName"
$oContact.Email1Address    = "test@email.ru"
$oContact.CompanyName      = "Моя компания"
$oContact.Department       = "test_Department"
$oContact.BusinessHomePage = "http://company.com/"
$oContact.Mileage          = "1"

$oContact.Save()

# Добавляем Контакт №2
$oContact = $cContacts.Add(2)

$oContact.LastName         = "Test_LastName2"
$oContact.Email1Address    = "test2@email.ru"
$oContact.CompanyName      = "Моя компания"
$oContact.Department       = "test_Department"
$oContact.BusinessHomePage = "http://company.com/"
$oContact.Mileage          = "1"

$oContact.Save()

# Добавляем Контакт №3
$oContact = $cContacts.Add(2)

$oContact.LastName         = "Test_LastName3"
$oContact.Email1Address    = "test3@email.ru"
$oContact.CompanyName      = "Не моя компания"
$oContact.Department       = ""
$oContact.BusinessHomePage = "http://non-my-company.com/"
$oContact.Mileage          = "1"

$oContact.Save()


# Перечисляем все контакты из папки «Контакты моей компании»
$cContacts | ForEach-Object -process {
    Write-Host $oContact.LastName $oContact.Email1Address $oContact.EntryID -ForegroundColor Blue
}


# Удаляем контакты из папки «Контакты моей компании»
$oContact = $cContacts.Find("[Mileage] = ""1"" AND [BusinessHomePage] = ""http://company.com/""")

while ($oContact -ne $null) {
    Write-Host $oContact.LastName $oContact.Email1Address $oContact.EntryID -ForegroundColor Red
    
    $oContact.Delete()
    $oContact = $cContacts.FindNext()
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:59, 13-09-2011 | #12