Jump to content

Cedric

Members
  • Gesamte Inhalte

    5
  • Registriert seit

  • Letzter Besuch

Fortschritt von Cedric

Rookie

Rookie (2/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

0

Reputation in der Community

  1. Habe ich gemacht, vielen Dank! Nun funktioniert es auch auf einmal.
  2. Ups, ja das war ein Test, den ich zwischendurch mal im Code drin hatte. Hat aber nicht funktioniert. Ich habe das Ganze ja in der ISE, aber ich muss den Code doch in der Exchange Management Shell ausführen, oder? Wäre mir an sich auch recht, nur wie muss ich da vorgehen?
  3. So, ich konnte es nun ausprobieren und habe entsprechend @MurdocX's Vorschlag aus Exchange2016 wieder Exchange2010_SP2 gemacht: $MailboxName = "besprechungsraum-ks@xxxx" $EWSPath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" Add-Type -Path $EWSPath $version = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP2 $service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService($version) $service.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::,$MailboxName); $service.AutodiscoverUrl($mailboxName) $calendar = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Calendar) $calendarView = new-object Microsoft.Exchange.WebServices.Data.CalendarView([System.DateTime]::Now, [System.DateTime]::Now.AddDays(365)) $calendarView.MaxItemsReturned = 5; $calendarView.PropertySet = new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties) $results = $calendar.FindAppointments($calendarView) $results | ft subject,start,end Es sieht zwar schon besser aus, aber die Fehlermeldung "Ausnahme beim Aufrufen von "Bind" mit 2 Argumenten: "The Id property must be set."" bleibt leider Bestehen. Darunter habe ich $service mal ausgegeben, kann der ImpersonatedUserId-Eintrag so stimmen? Eigentlich soll ja der User "Administrator" impersonated sein und ein entsprechendes Objekt ist ja auch bereits erstellt (s. o.).
  4. Danke für eure schnellen Antworten! Die Impersonation hatte ich vorher schon ausgeführt:. Bin ich auch mal gespannt, ob bzw. was er antwortet.. Ok, dann will ich das mal probieren (mangels Remote-Zugriff leider erst am Montag ). Ich hatte die verlinkte Seite auch gefunden, konnte mir aber keinen Reim drauf machen und hätte eher vermutet, dass Exchange 2016 oder neuer vielleicht nicht unterstützt wird..
  5. Hallo zusammen, ich habe in Exchange 2016 ein Raumpostfach erstellt. Nun möchte ich auslesen, ob es gebucht ist oder nicht. Leider kenne ich mich mit EWS oder was man dafür braucht, nicht aus und bitte daher um eure Hilfe, wie man das Ganze, z. B. als Powershell-Skript (wird auf dem Server ausgeführt), realisieren kann. Natürlich habe ich schon mal die Google-Suche bemüht und bin dabei u. a. auf ein recht vielversprechend aussehendes Skript gestoßen: https://www.frankysweb.de/exchange-20102013-kalender-eines-raumpostfachs-mit-ews-abfragen/ Beim Versuch, es entsprechend anzupassen und schließlich auszuführen, bin ich aber auf Probleme gestoßen: $MailboxName = "Besprechungsraum-KS@proj-cl.hessenmobil.de" $EWSPath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" Add-Type -Path $EWSPath $version = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2016 $service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService($version) $service.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::,$MailboxName); $service.AutodiscoverUrl($mailboxName) $calendar = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($service,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Calendar) $calendarView = new-object Microsoft.Exchange.WebServices.Data.CalendarView([System.DateTime]::Now, [System.DateTime]::Now.AddDays(365)) $calendarView.MaxItemsReturned = 5; $calendarView.PropertySet = new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties) $results = $calendar.FindAppointments($calendarView) $results | ft subject,start,end In der vierten Zeile habe ich als ExchangeVersion einfach "Exchange2016" angegeben, allerdings ohne zu wissen, ob das so richtig ist (vermutlich nicht ). Jedenfalls erscheinen bei der Ausführung des Skripts in der Exchange-Konsole zwei Fehlermeldungen: Danke schon mal für eure Hilfe. Viele Grüße, Cedric
×
×
  • Neu erstellen...