Powershell v2 und Outlook - Erstellen eines Termins in zusätzlichem Kalender
Hallo zusammen,
mit folgendem Codeschnipsel kann ich Problem aus Powershell heraus Termine in meinem Kalender eintragen. Leider aber nur in meinen Standard Kalender der auch für die Öffentlichkeit frei gegeben ist. Ich möchte aber Termine in einen zusätzlich angelegten Kalender namens "Zeiten" einfügen
Kann mir hier einer auf die Sprünge helfen?
danke
mit folgendem Codeschnipsel kann ich Problem aus Powershell heraus Termine in meinem Kalender eintragen. Leider aber nur in meinen Standard Kalender der auch für die Öffentlichkeit frei gegeben ist. Ich möchte aber Termine in einen zusätzlich angelegten Kalender namens "Zeiten" einfügen
$outlook = new-object -comObject Outlook.Application
$olAppointmentItem = 1
$termin = $outlook.createItem($olAppointmentItem)
$termin.start = (get-date -hour 7 -minute 0 -second 0)
$termin.duration = ( 60 * 9 )
$termin.subject = "test"
$termin.reminderminutesbeforestart = 15
$termin.ReminderSet = $False
$result = $termin.save()
Kann mir hier einer auf die Sprünge helfen?
danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 208981
Url: https://administrator.de/contentid/208981
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo @KOschi55
probier es mal so:
u.U. musst du erst in deinen Posteingang bzw. deine Mailbox wechseln, bevor du in den Kalendar kannst. (Zeile 3)
Allerdings kenne ich mich nicht wirklich mit Outlooks COM-Objekten aus. Kann also auch Unsinn sein
Gruß,
@Snowman25
probier es mal so:
$outlook = new-object -comObject Outlook.Application
$olNamespace = $outlook.GetNamespace("MAPI")
$calendar = $olNamespace.Folders("<kalendar-name>")
$olAppointmentItem = 1
$termin = $calendar.Items.Add("IPM.Appointment")
$termin.start = (get-date -hour 7 -minute 0 -second 0)
$termin.duration = ( 60 * 9 )
$termin.subject = "test"
$termin.reminderminutesbeforestart = 15
$termin.ReminderSet = $False
$result = $termin.save()
u.U. musst du erst in deinen Posteingang bzw. deine Mailbox wechseln, bevor du in den Kalendar kannst. (Zeile 3)
Allerdings kenne ich mich nicht wirklich mit Outlooks COM-Objekten aus. Kann also auch Unsinn sein
Gruß,
@Snowman25
Hallo Koschi55,
noch als Ergänzung bzw. Korrektur von @Snowman25 's Script:
Zeile 3 muss so lauten sonst gibt die Powershell einen Fehler aus:
Die Powershell nimmt es hier mit den Objekten sehr genau - das
Alternativ wenn der Kalender "Zeiten" ein Unterobjekt des Standardkalenders ist schreibst du die Zeile so:
Grüße Uwe
noch als Ergänzung bzw. Korrektur von @Snowman25 's Script:
Zeile 3 muss so lauten sonst gibt die Powershell einen Fehler aus:
$calendar = $olNamespace.Folders.Item("Kalendername")
Folders("Kalendername")
ist quasi eine Abkürzung wenn man es in Outlook schreibt, die Powershell braucht es aber ganz genau, deshalb Folder.Item("Kalendername")
Alternativ wenn der Kalender "Zeiten" ein Unterobjekt des Standardkalenders ist schreibst du die Zeile so:
$calendar = $olNamespace.GetDefaultFolder(9).Folders.Item("Kalendername")
Grüße Uwe