Powershell - электронный адрес организатора - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь получить адрес электронной почты Организатора собрания в MS Exchange 2010, используя Powershell.

(Get-Mailbox -Identity "John Doe").PrimarySmtpAddress

Я получаю ошибку ниже

Операция не может быть выполнена, поскольку объект 'John Doe' не найден в 'xxxxxxxxxxxxxx'

Это для только что созданных собраний, так как организатор может не существовать?

Edit:

Вот последовательность событий:

  • Получить список событий календаря из биржи в пределах определенного диапазона дат
  • Получение адреса электронной почты Организатора для каждого события <- вот где я застрял </li>

Полный скрипт:

$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username,$password
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://xxxxxxxxxxxxxxx/PowerShell -Authentication kerberos -Credential $credential
Import-PSSession -Session $session -DisableNameChecking

#Date ranges
$exportDate = Get-Date -Format d
$startTime = (Get-Date).AddDays(-1) 
$endTime = (Get-Date).AddDays(+1)

$app = New-Object -ComObject Outlook.Application
$ns = $app.GetNamespace('MAPI')
$calFolder = 9
$calItems = $ns.GetDefaultFolder($calFolder).Items
$calItems.Sort("[Start]")
$calItems.IncludeRecurrences = $true
$dateRange = "[Start] >= '{0}' AND [End] <= '{1}'" -f $startTime.ToString("g"), $endTime.ToString("g")
$calExport = $calItems.Restrict($dateRange)

$exportFile = "D:\file.csv"
$calExport | select Subject, StartInStartTimeZone, EndInEndTimeZone, Duration, Organizer, RequiredAttendees, OptionalAttendees, Location | sort StartUTC -Descending | Export-Csv $exportFile
$exportData = Import-Csv $exportFile

foreach ($line in $exportData)
    {
        $emailAddress = $line.Organizer
        $emailAddress = (Get-Mailbox -Identity $line.Organizer).PrimarySmtpAddress
        $line | Add-Member -Membertype Noteproperty -Name OrganizerEmail -Value $emailAddress
        [array]$csvData += $line
        $emailAddress = $null
    }

Remove-PSSession $session

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 14 марта 2019

Вот что я использовал, чтобы получить адрес электронной почты организаторов

 Get-ADUser -Filter {SamAccountName -like "*John Doe*"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...