Jump to content

Cedric

Members
  • Gesamte Inhalte

    5
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Cedric

  1. vor 38 Minuten schrieb MurdocX:

    Hier hast du etwas entfernt aber nicht wieder hinzugefügt....

     

    ConnectingIdType:: ????

     

    Schau Dir mal das Original an ;-) 

    Zitat

    $service.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress,$MailboxName);

    Habe ich gemacht, vielen Dank!

    Nun funktioniert es auch auf einmal. :D:lol2:

  2. vor 15 Minuten schrieb MurdocX:

    Vor der Impersonifizierung hast du ein '#' gesetzt. Zeile 10 von Oben. Das steht für ein Kommentar. Ich kann Dir übrigens die ISE an Herz legen, denn dann musst du nicht über "Copy & Paste" arbeiten. 

    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?

     

    vor 13 Minuten schrieb Dukel:

    Oder gleich VS-Code.

    Die ISE wird nicht mehr weiter entwickelt.

    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.). :hmmm:

     

    2019026209_Skript_Angepasst_ausgefhrt.PNG.6181a1c1c4f182ed7f54a52bb9e0dd87.PNG

     

  4. Danke für eure schnellen Antworten!

    vor 3 Stunden schrieb Nobbyaushb:

    Mir fehlt die Zeile mit der Impersonation

     

    Mal abwarten, was Franky dir antwortet.

     

    Die Impersonation hatte ich vorher schon ausgeführt:DSC_7145_impersonation.thumb.JPG.509943c41003246162e3b62da29311b6.JPG.

    Bin ich auch mal gespannt, ob bzw. was er antwortet..

     

    vor 2 Stunden schrieb MurdocX:

    Objekt sind kein Wunschkonzert. Da muss man im Zweifel schon nachschlagen. ;-)

     

    Die genannte „Version“ muss nicht zum Exchange passen, laut Microsoft Dokumentation. Heißt für Dich: Einfach stehen lassen was stand :-) 

     

    https://docs.microsoft.com/de-de/dotnet/api/microsoft.exchange.webservices.data.exchangeversion?view=exchange-ews-api

    Ok, dann will ich das mal probieren (mangels Remote-Zugriff leider erst am Montag :sauer:).

    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 :frown:).

    Jedenfalls erscheinen bei der Ausführung des Skripts in der Exchange-Konsole zwei Fehlermeldungen:

     

    Skript_Angepasst_ausgefuehrt.PNG.ada87af9e4d9965cf3e9d6c45437816f.PNG

     

    Danke schon mal für eure Hilfe.

     

    Viele Grüße,

    Cedric

     

×
×
  • Neu erstellen...