114293
Goto Top

Liste mit allen Appointments aus Outlook ziehen

Hallo Zusammen

Für einen Kunden würde ich gerne ein Script erstellen, mit welchem ich alle Outlook Appointments mit folgenden Informationen aus dem Outlook ziehen kann:
  • Subject
  • Start
  • End
  • Location
  • Organizer
  • Attendees
  • Beschreibung/ Inhalt des Meeting
  • Occurrence

folgendes Script habe ich schon gefunden:
"
Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null
$olFolders = "Microsoft.Office.Interop.Outlook.OlDefaultFolders" -as [type]
$outlook = new-object -comobject outlook.application
$namespace = $outlook.GetNameSpace("MAPI")
$folder = $namespace.getDefaultFolder($olFolders::olFolderCalendar)
$folder.items |
Select-Object -Property Subject, Start, End, Location, organizer, attendees, Occurence
} #end function Get-OutlookCalendar

Get-OutlookCalendar | Out-GridView
"
Jedoch werden nur die Informationen Subject, Start, End, Location und Organizer gezogen. Die restliche geben keine infos aus.
Weiss jemand von euch wie man dies ändern kann?

Das Ganze benötige ich, da wir Probleme mit den Berechtigungen haben.
Sobald der obere Teil funktioniert, wäre folgendes noch zum implementieren:
  • Alle Termine welche mit dem Script gefunden wurden, erneut erstellen (So werden die Berechtigungen neu gesetzt)
  • Da die Termine nun redundant sind, sollen alle "alten" gelöscht werden.

Ist die überhautp möglich?

Vielen Dank im Voraus!

Gruss
InnProTec

Content-Key: 430319

Url: https://administrator.de/contentid/430319

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: 138810
138810 20.03.2019 aktualisiert um 13:44:42 Uhr
Goto Top
Überflüssig, einfach Export in eine CSV oder ICS machen, oder drag n drop in ein Verzeichnis.
https://www.google.de/search?q=outlook+export+appointments
Dann Kalender in Listenansicht stellen STRG+A, ENTF.
Und wie Import der CSV, feddich.

Die restliche geben keine infos aus.
Ist logisch, denn das sind Objekte und keine Strings, deren Eigenschaften musst du erst expandieren.
Mitglied: 114293
114293 20.03.2019 um 14:05:21 Uhr
Goto Top
Danke für deine Rückmeldung.
Deine Lösung bring meine Ansicht nach jedoch nicht das Resultat dass ich mich wünsche.
Mit einem manuellen Export kann ich die Termine nicht neu erstellen.

Mir geht es darum, dass momentan die Berechtigungen, aufgrund einer Migration, falsch/ unbrauchbar sind.

Mit dem script muss ich vor dem Löschen noch alle Termine neu erstellen, sodass die Berechtigungen neu gesetzt werden.

Ist dies in diesem Umfang überhaupt möglich?
Mitglied: 138810
138810 20.03.2019 aktualisiert um 15:56:18 Uhr
Goto Top
Zitat von @114293:

Danke für deine Rückmeldung.
Deine Lösung bring meine Ansicht nach jedoch nicht das Resultat dass ich mich wünsche.
Mit einem manuellen Export kann ich die Termine nicht neu erstellen.
Doch., über den Import! Erst mal genau lesen!
Mir geht es darum, dass momentan die Berechtigungen, aufgrund einer Migration, falsch/ unbrauchbar sind.
Klar das wurde selbstverständlich berücksichtigt.

Mit dem script muss ich vor dem Löschen noch alle Termine neu erstellen, sodass die Berechtigungen neu gesetzt werden.

Ist dies in diesem Umfang überhaupt möglich?
Genau die Vorgehensweise oben macht das, Berechtigungen landen nicht im CSV ebenso wie bei einer ICS werden keine Berechtigungen gespeichert. Dann werden nach dem Export alle Termine gelöscht und durch den anschließenden Import aus CSV/ICS sind die Termine dann jungfräulich ohne irgendwelchen alten Berechtigungen!

Add-Type -A "microsoft.visualbasic"  
$ol = [microsoft.visualbasic.interaction]::GetObject($null,"Outlook.Application")  
if (!$ol){$ol = New-Object -Com Outlook.Application}
$cal = $ol.GetNamespace("MAPI").GetDefaultFolder(9)  
$exporter = $cal.GetCalendarExporter()
$exporter.IncludeWholeCalendar = $true
$exporter.CalendarDetail = 2
$exporter.SaveAsIcal("$env:TEMP\calendar.ics")  
while($cal.Items.count -gt 0){
    $cal.Items[1].Delete()
}
start outlook.exe -Argumentlist "/ical `""$env:TEMP\calendar.ics"`""