在默认日历上未使用Powershell创建Outlook日历

时间:2019-02-28 13:11:39

标签: powershell outlook

我有一个简单的脚本,它将创建一个Outlook日历项(可在网上找到),并且将创建一个日历项就可以了,但是会将其放在我的默认日历中。如何获得将其放入特定日历的功能?这就是我所拥有的。

$outlook = new-object -com outlook.application
    $CalItem = "1"
    $newAppt = $outlook.CreateItem($CalItem)
    $newAppt.Body = "Test Body222"
    $newAppt.Subject = "Test Subject222"
    $newAppt.Start = $OutObject.StartDate
    $newAppt.End = $OutObject.ImpEndDate
    $newAppt.BusyStatus = 0
    $newAppt.Save()

2 个答案:

答案 0 :(得分:0)

不要使用Application.CreateItem(总是使用适当的默认文件夹),而是以编程方式打开目标文件夹并使用MAPIFolder.Items.Add

答案 1 :(得分:0)

我能够做到这一点

# Instantiate a new Outlook object
$ol = new-object -ComObject "Outlook.Application"
# Map to the MAPI namespace
$MyNameSpace = $ol.getnamespace("mapi")
#Default Calendar Folder
$MyDefCal = $MyNameSpace.GetDefaultFolder("olFolderCalendar")
#Folder or "Calendar" I want to add the Item to
$MySharedCal = $MyDefCal.Folders.Item("TestCal") 

#Create the Calendar Item
$MyItem = $MySharedCal.Items.Add(1)
$MyItem.Body = "Test"
$MyItem.Subject = "This Is A Test"
$MyItem.Start = "03/01/2019"
$MyItem.AllDayEvent = 1
$MyItem.ReminderSet = 0
$MyItem.BusyStatus = 0
$MyItem.Save()

感谢Dimitry的帮助。