
114293
20.03.2019
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:
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:
Ist die überhautp möglich?
Vielen Dank im Voraus!
Gruss
InnProTec
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 430319
Url: https://administrator.de/forum/liste-mit-allen-appointments-aus-outlook-ziehen-430319.html
Ausgedruckt am: 03.05.2025 um 01:05 Uhr
3 Kommentare
Neuester Kommentar

Ü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.
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.
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!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.
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?
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"`""