lodder 0 Posted July 30, 2014 Report Posted July 30, 2014 Moin, wir nutzen bei uns Exchange/Outlook 2013. Unser Zeiterfassungssystem generiert z.B. bei einem genehmigten Urlaubsantrag einen Termin (abwesend) für den betreffenden User. Um diese Abwesenheit weiter zu verarbeiten (OOF -> MS Project Server) muss der User diese Einladung aber annehmen, damit der Kalendereintrag von anderen Programmen erkannt wird. Gibt es eine Möglichkeit die Einladungen von bestimmten Benutzern automatisch akzeptieren zu lassen? Ich kenne bisher nur den Weg entweder alle oder keine Einladung zu akzeptieren. Gruß, lodder
RobertWi 81 Posted July 30, 2014 Report Posted July 30, 2014 Moin, wie generiert denn das Zeiterfassungssystem diesen Termin?
lodder 0 Posted July 31, 2014 Author Report Posted July 31, 2014 Für mich sieht es so aus als ob das Zeiterfassungssystem eine normale Mail generiert die eine Einladung zu einer Besprechung enthält. (Genau wie Outlook es selbst tut)
RobertWi 81 Posted July 31, 2014 Report Posted July 31, 2014 OK. Das Problem bei Terminen ist, dass zum Großteil Outlook diese bearbeitet. Ohne Outlook gibt es nur Ja oder Nein. Das sieht man immer gut, wenn ein Anwender ein Einladung annimmt "ohne Antwort". Dann sieht der Einladende nichts davon, weil keine Mail an sein Outlook geschickt wurde. Eventuell wäre ein VB-Makro dafür eine Möglichkeit. Oder eine Änderung in der Zeiterfassung, damit die nicht ein Mail verschickt (das ist eher eine Spielerei), sondern direkt via EWS auf die Postfächer zugreift und in den Kalender einträgt.
lodder 0 Posted July 31, 2014 Author Report Posted July 31, 2014 An EWS hab ich auch schon gedacht, ich kenne das Zeiterfassungssystem nicht wirklich. Es ist aber definitiv möglich ein Skript mit Parametern zu starten. Leider bin ich kein großer Könner was die Exchange-Shell angeht. Ich habe es bisher geschafft für den aktuell angemeldeten Benutzer einen Eintrag anzulegen und für einen Benutzer dessen PW ich kenne einen Eintrag anzulegen. Aber ich weiß nicht ob und wie es möglich ist für anderen Benutzer einen Kalendereintrag anzulegen ohne das dieser behelligt wird. Ideen?
NorbertFe 2,315 Posted July 31, 2014 Report Posted July 31, 2014 Impersonation wäre ein Stichwort. Alternativ kann man sich das Recht natürlich auch einfach auf Datenbankebene holen und an den Serviceuser vergeben. ;)
lodder 0 Posted August 1, 2014 Author Report Posted August 1, 2014 Danke... durch eure Hilfe komm ich bisher gut vorran. Aktuell läuft ein Script wunderbar das (über Impersonation) wunderbar Einträge aus einer .csv Datei für Nutzer anlegt. Die Einträge werden wie folgt erzeugt: Über folgenende Variablen werden die Parameters des Kalendereintrags festgelegt: $Appointment = New-Object Microsoft.Exchange.WebServices.Data.Appointment($service); $Appointment.Subject=$CalendarItem."Subject"; $StartDate=[DateTime]($CalendarItem."StartDate" + " " + $CalendarItem."StartTime"); $Appointment.Start=$StartDate; $EndDate=[DateTime]($CalendarItem."EndDate" + " " + $CalendarItem."EndTime"); $Appointment.End=$EndDate; Der Eintrag wird dann über folgenden Aufruf gespeichert: $Appointment.Save([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Calendar); Jetzt möchte in einem anderen Script eben jenes vorher angelegten Eintrag löschen... bin aber aktuell zu doof dazu... habt ihr eine Idee wie ich das möglich mache? Gruß und danke
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now