powershell - Powershell 脚本 - 将约会上传到 Outlook 组日历
问题描述
我目前正在使用 Powershell 脚本从需要迁移到 Outlook 组日历的数千个约会的 CSV 中提取数据。到目前为止,我已经能够将数据解析为 Outlook 事件并成功上传到我的个人日历。
但是,我未能成功上传到组日历。关于如何修改代码中的文件夹路径(见下文),将保存目的地从我的个人默认日历更改为我拥有的组日历的任何建议?(例如,我有一个名为“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()
}
郑重声明,我已经搜索了谷歌,但到目前为止都没有找到适合我需要的任何东西;这里的实际解决方案将是一个受欢迎的惊喜。也就是说,任何其他关于如何将这些事件添加到我的小组日历的想法也将受到欢迎!
解决方案
推荐阅读
- git - 用develop覆盖master
- sql-server - 使用 SQL 进行字符串拆分
- sql-server - DbFit - 如何从不同的服务器查询 2 个数据库?
- c++ - Clang 无法在打开的 SUSE Leap 15 上使用 -m32 进行编译
- python - 如何将sql语句转换为json
- hadoop - 重试连接服务器:hadoopmaster/IP:9000
- python - 通过crontab运行python脚本找不到导入
- tensorflow - TensorFlow Keras GCP ML 引擎模型服务
- html - 错误:“body”之后的无效 CSS:预期的选择器或 at-rule,在第 4 行是“{”
- sql - BigQuery 中的数据透视表