Jump to content

Raumpostfach -> Kalender in .txt/.csv auslesen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Freunde der Sonne :-)

 

Vielleicht hat jemand einen entscheidenden Tipp. Ich habe hier mehrere Raumpostfächer in Exchange 2007 SP3, welche für Besprechungsräume genutzt werden. Autoaccept ist eingeschaltet, jeder kann den Raum buchen.

 

Der Raum ist mit Kosten verbunden und bis jetzt wurde es immer per Hand und pauschal vom Sekräteriat den Kunden in Rechnung gestellt. Es soll nun eine Stundenabrechnung, möglichst automatisiert, erfolgen.

 

D.h. ich benötige eine Möglichkeit, die Termine im Raumpostfach mittels Script (PS, VBS?) in eine Art Log File auslesen lassen zu können. Benötigt werden der Owner, Startzeit, Endzeit, Subject, Teilnehmer.

 

Ich kann mir dann ein VB Scirpt schreiben, welches diese Logdatei analysiert und entsprechend z.B. eine Excel Liste erstellt.

Anhand der Teilnehmer (möglichst AD Loginname oder Mailadresse, hauptsache eindeutig zuordbar im AD) und der gebuchten Zeit kann ich dann dem User die Raum pro angefangene Stunde in Rechnung stellen. Die Kostenstellen stehen nämlich bei jedem User im AD.

 

Mein Lösungsansätz:

Ein Script, welches einmal am Tag läuft und alle aktuellen Buchungen in eine TXT/CSV schreibt. Am Monatsende lasse ich dann mein zweites Script laufen, welches das Log ausliest.

 

Probleme: Wie handele ich Absagen und Terminverschiebungen? Der Owner könnte den Termin ja einfach am Ende der Besprechung löschen und somit würde es nicht in der Abrechnung auftauchen... Aber das sind spätere Themen, erst einmal muss ich es schaffen den Kalender überhaupt auszulesen.

 

Kennt jemand ähnliche Szenarien und hat Tipps für mich?

 

Wie gesagt, mein Problem ist das Script Nummero 1. In VBS bin ich schon etwas geübt, AD Connect und Files einlesen sind kein Thema. Nur mittels Mapi-Schnittstelle VBS connecten... entweder suche ich in Google falsch, oder finde wirklich nichts brauchbares (nur VBA für Excel etc.). Outlook sollte möglichst nicht mit einbezogen werden, und dass ich keine 10 Profile auf dem Client erstellen muss. Useru nd Kennwort für die Raumpostfächer liegen vor (User sind aktiviert da ein Raumbuchungssystem sich die Daten ebenfalls ausliest). Ich erwarte auch kein fertiges Script. Module, Codebeispiele, Links etc. reichen mir vollkommen.

 

Danke im Voraus!

Link zu diesem Kommentar

Jau, Merci! Das hilft schonmal weiter. Konnte es zwar jetztnur kurz überfliegen, aber die alte VBS Variante werden ich mal zuerst versuchen. Wobei hier von Ex2000 die Rede ist, ob das noch mit den CDO Install dann klappt? Es ist ja auch von free/busy die Rede, es würden evtl. die Info "Owner" fehlen (?), welche ja sehr wichtig ist. Vermutlich wird dort nur der Anzeigename dann stehen, aber soweit ich weiß noch die Mailadresse, und anhand der Mailadresse kann ich im AD eindeutig suchen.

Link zu diesem Kommentar
Wobei hier von Ex2000 die Rede ist, ob das noch mit den CDO Install dann klappt?

 

Wo ist von Exchange 2000 die rede?

 

Es ist ja auch von free/busy die Rede, es würden evtl. die Info "Owner" fehlen (?), welche ja sehr wichtig ist. Vermutlich wird dort nur der Anzeigename dann stehen, aber soweit ich weiß noch die Mailadresse, und anhand der Mailadresse kann ich im AD eindeutig suchen.

 

Bei Exchange 2007 läßt man den Organisator einfach in den Betreff schreiben. Geht alles automagisch. ;)

 

Bye

Norbert

Link zu diesem Kommentar

Jau, wie gesagt, hatte es nur kurz überflogen. :-)

 

Habe mit dem Stichwort "CDO" nun ein paar mehr Infos beim "bingen" gefunden, wie immer eine gute Quelle:

MSXFAQ.DE - MAPI/CDO

 

Die Voraussetzungen habe ich nun geschaffen, mittels VBS und CDO auf Postfächer zuzugreifen und die Testscripte funktionieren auch wunderbar.

 

Ich finde jetzt aber keine gute Seite bzw. habe keine Idee, wie ich die die Befehle für die Child-Attribute lauten, hier ein Beispiel:

 

const strHomeServer = "srv01"
const strMailbox = "Admin@msxfaq.local"
Const CdoDefaultFolderCalendar = 0

Set oMapiSession = CreateObject("MAPI.Session")
oMapiSession.Logon "", "", False, True, 0, true, strHomeServer & vbLf & strMailbox 
Set mailboxfolder = oMapiSession.GetDefaultFolder(CdoDefaultFolderInbox)

for each child in mailboxfolder.messages 
wscript.echo "  Subject:" & child.subject , 5
next

 

Wie bekomme ich nun für "child.???" die Eigenschaften raus?

bearbeitet von blob
Link zu diesem Kommentar

Ja richtig, ich habe es halt mal mit der alten Methode probiert (wir haben NOCH eine Exch 2003/2007 Umgebung), klappt ja auch soweit. Will im Endeffekt nur ein kleines Log aus meinem Kalender bzw. des Raumpostfaches, alla:

 

...
wscript.echo "  Subject:" & child.subject
wscript.echo "  Sender:" & child.sender
wscript.echo "  Start:" & child.starttime
wscript.echo "  Ende:" & child.endtime
wscript.echo "  Duration:" & child.duration
wscript.echo "  Status Meeting:" & child.meetingstatus 
wscript.echo "  Organisator:" & child.organizer
wscript.echo "  Location:" & child.location
wscript.echo "########################################"

 

Mir fehlen jetzt eben nur kleine Dinge wie z.B. das unter "Sender" nicht der Anzeigename, sondern z.B. die Mailadresse oder der Logonname angezeigt wird. Einen "Müller, Peter" kann es ja mehrmals geben.

 

Ich schau mir mal den Weg über die Webservices an, evtl. finde ich mehr zu dem Thema.

 

Trotzdem Danke.

Grüße

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...