В настоящее время я работаю над сценарием Powershell для извлечения данных из CSV из пары тысяч встреч, которые необходимо перенести в календарь группы Outlook. На данный момент мне удалось проанализировать данные в событиях Outlook и успешно загрузить их в свой личный календарь.
Однако загрузка файла в календарь group не удалась. Любые предложения о том, как я могу изменить путь к папке в своем коде (см. Ниже), чтобы изменить место сохранения из моего личного календаря по умолчанию на групповой календарь, владельцем которого я являюсь? (Например, у меня есть группа «Test-Group», которую я использую для проверки, это календарь, который я могу выбрать и опубликовать в Outlook). Кроме того, мне нужна сама группа O365, чтобы быть владельцем событий.
#Currently handles subject, start date, end date, duration, all day event, body, required attendees, location (room)
Add-Type -AssemblyName 'Microsoft.Office.Interop.Outlook'
$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.GetNameSpace('MAPI')
$Calendar = [Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderCalendar
# vv folder path for the calendar we are uploading to
$folder = $namespace.getDefaultFolder($Calendar)
$ImportFile ="C:\Users\evanv\Downloads\Appointment-Outlook-Test.csv"
$calendar = $outlook.Session.GetFolderFromID($folder.EntryID, $folder.StoreID)
$csv = Import-CSV $ImportFile
foreach($row in $csv)
{
$appt = $calendar.Items.Add(1)
$appt.Subject = $row.Subject
$appt.Start = $row.StartDate
#$appt.End = $row.EndDate
$appt.Duration = $row.Duration
$appt.AllDayEvent = $false
$appt.Body = $row.ApptID
#$appt.Organizer = $row.Clinic --read only property :(
$appt.RequiredAttendees = $row.Attendees
$appt.Location = $row.Room
$appt.Body = $row.Location_Street + "\n" + $row.ApptID
Write-Host "Row " $row.Subject " added to calendar" -ForegroundColor green
$appt.Save()
}
Для справки, я искал Google и до сих пор не смог найти ничего, что соответствовало бы моим потребностям; фактическое решение здесь будет долгожданным сюрпризом. Тем не менее, любые другие идеи о том, как добавить эти события в мой групповой календарь, также будут с благодарностью приняты!