Room display

Background

The room display was a bit of a gimmick as I no longer had any use for an old tablet. I had an old HP Stream 7 tablet lying around, which I had bought for a bargain price at some point. After a few little gimmicks, it was just a dust collector. It was quite suitable as a dust collector, but not for anything else, as you can see from the hardware data:

Hardware HP Stream 7

1 GB RAM and the small Atom CPU were simply no fun. Originally, the Stream 7 ran "Windows 8 with Bing", but that could be updated to Windows 10 Home at some point and then upgraded to Windows 10 Pro. However, Windows 8 already ran like a bag of screws on the thing and with the touchscreen it was more a matter of luck to get what you wanted.

Somewhere on a training course I saw these "room displays" on the meeting rooms and thought that could give the tablet a second life. Just hang it up next to the bathroom door. Create the bathroom as a "meeting room" on the Exchange server and make it "bookable" for the ladies of the house. I don't know why, 3 ladies and 2 bathrooms (of which one lady can't yet see over the edge of the sink) seem to represent an undersupply of wet rooms for reasons I don't understand. Joking aside, it was purely a DIY project.

The implementation

The tablet should therefore display whether a room is booked and use the EWS interface of the Exchange server. Whether the room is free or booked can then be displayed via the website. The tablet's browser in full screen mode is sufficient to display the website.

This resulted in the following small PowerShell script:

The script requires the EWS API 2.2 (Download). I installed the EWS API directly on the tablet, or rather I copied the directory from my PC to the tablet, because the EWS installer is only available as a 64-bit installer, while only 32-bit Windows is running on the tablet. I then started the PowerShell script every 5 minutes with the Windows Task Scheduler.

The script retrieves the relevant data via EWS and creates a small HTML file, which I then simply display in full screen mode using Internet Explorer. Special feature: The HTML file contains a meta tag in the header that instructs the browser to update the HTML file every 60 seconds. This was necessary so that a status change is also displayed.

The status pages for the room should then look something like this (free and occupied):

Room display Free

Room display Occupied

The result

It didn't actually work that badly, but would have needed some fine-tuning:

Room display on HP Stream 7

You can still see the scrollbars at the bottom and right of the display in the picture. However, this could have been done quickly by adjusting the script accordingly. However, I didn't finish developing the room display for a relatively banal reason: There is no socket next to the bathroom door...

By the way, the display has 7 inches, so that would have been enough for a nice display, and I would have had to adjust the colors. I think a black background would have looked better. However, the tablet would have had to be charged at some point (several times a day) and repeatedly taking it off the wall, charging it and hanging it up again was not an option.

By the way: The tablet is back in the cupboard and serves as a dust catcher, but it still works. I reloaded it for this page and tried out the script. Maybe I'll find another use for it...

47 thoughts on “Raumanzeige”

  1. Hallo zusammen,
    bin auf dieses Script gestoßen und würde es gerne mit unserem Exchange 2019 zum laufen bekommen.
    Aber leider keine AHnung wie.
    Wo finde ich die EWS API 2.2 oder benötige ich diese nicht mehr beim 2019? Im Internet finde ich sie leider nicht…
    Wäre klasse wenn mir jemand helfen könnte.

    Reply
  2. Hallöchen,

    hat noch jemand das aufgebohrte Script, welches mit mehreren Raumpostfächern funktioniert und kann es hier posten?

    Grüße

    Reply
  3. Hallo Leute,

    tolles Projekt. Bekomme auch die Fehlermeldung:
    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    Wie habt ihr das gelöst?

    Danke,
    Benjamin

    Reply
  4. Hallo,
    erstmal Danke an Frank für das Skript. Ich habe dies für mein Unternehmen etwas abgeändert und möchte das natürlich keinem vorenthalten.
    Anpassungen sind:
    – Anzeige von maximal 2 Terminen (aktueller oder nächster Termin und ggf. darauffolgender Termin).
    – lauffähig unter Exchange 2016 (mit kleiner Änderung auch mit 2019: $version muss angepasst werden)
    – Ausgabe von Termininformationen (Organisatorname, Terminbetreff (Titel), Datum, Uhrzeit (von-bis))

    Hier mal das Coding:

    [CODE]
    $uisplayname = „BESPRECHUNG“
    $mailboxname = „email@domain.tld“
    $username = „BESPRECHUNG“
    $password = „12345678“
    $domain = „domain.local“
    $RoomHTMLPath = „\\server-ip\ordner\BESPRECHUNGSRAUM.html“
    $EWSPath = „C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll“

    # Termine per EWS abfragen (heute bis +30 Tage, maximal 10 Termine (es werden nur 2 Termine ausgegeben!))

    $creds = New-Object System.Net.NetworkCredential(„$username“, „$password“)
    Add-Type -Path $EWSPath
    $version = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2016

    $service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService($version)
    $service.Credentials = $creds
    $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.AddDays(0), [System.DateTime]::Now.AddDays(30))
    $calendarView.MaxItemsReturned = 10;
    $calendarView.PropertySet = new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties)

    $results = $calendar.FindAppointments($calendarView)

    #(Debug) Ergebnisse der EWS Abfrage anzeigen:
    #$results | ft subject,start,end

    #Termine verarbeiten

    $timenow = get-date
    $currentapp = $results | where {$timenow -ge $_.start -and $timenow -le $_.end}
    if ($currentapp)
    {
    #Wenn $currentapp existiert gibt es jetzt einen Termin und der Raum ist belegt
    $roomfree = $False

    #(Debug) Status des Raums ausgeben:
    #$roomfree

    #Details des Termins holen
    $MeetingStart = $currentapp.Start | get-date -format „HH:mm“
    $MeetingEnd = $currentapp.End | get-date -format „HH:mm“
    $MeetingDate = $currentapp.Start | get-date -format „dd.MM.yyyy“
    $MeetingSubject = $currentapp.Subject

    #zweiter Termin?
    $Nextmeeting2 = $results | where {$_.start -ge $timenow} | select -first 1

    #(Debug) Übernächstes Meeting ausgeben:
    #$Nextmeeting2 | ft

    $Nextmeeting2Start = $Nextmeeting2.start | get-date -format „HH:mm“
    $Nextmeeting2End = $Nextmeeting2.End | get-date -format „HH:mm“
    $Nextmeeting2Date = $Nextmeeting2.start | get-date -format „dd.MM.yyyy“
    $Nextmeeting2Subject = $Nextmeeting2.Subject

    }
    else
    {
    #Wenn $currentapp nicht existiert ist der Raum frei
    $roomfree = $True

    #Status des Raums ausgeben:
    #$roomfree

    $Nextmeeting = $results | where {$_.start -ge $timenow} | select -first 1

    #(Debug) Nächstes Meeting ausgeben:
    #$Nextmeeting | ft

    $NextmeetingStart = $Nextmeeting.start | get-date -format „HH:mm“
    $NextmeetingEnd = $Nextmeeting.End | get-date -format „HH:mm“
    $NextmeetingDate = $Nextmeeting.start | get-date -format „dd.MM.yyyy“
    $NextmeetingSubject = $Nextmeeting.Subject

    #übernächster Termin vorhanden?
    $Nextmeeting2 = $results | where {$_.start -gt $Nextmeeting.start} | select -first 1

    #(Debug) Übernächstes Meeting ausgeben:
    #$Nextmeeting2 | ft

    $Nextmeeting2Start = $Nextmeeting2.start | get-date -format „HH:mm“
    $Nextmeeting2End = $Nextmeeting2.End | get-date -format „HH:mm“
    $Nextmeeting2Date = $Nextmeeting2.start | get-date -format „dd.MM.yyyy“
    $Nextmeeting2Subject = $Nextmeeting2.Subject
    }

    #HTML Seite erstellen
    if ($roomfree -eq $true)
    {
    $html = “

    K2 Besprechungsraum

    AKTUELL FREI
    Nächste Buchung(en):
    (max. Anzeige von 2 Terminen in den nächsten 30 Tagen)
    $NextmeetingDate   $NextmeetingStart   $NextmeetingEnd
      $NextmeetingSubject
    $Nextmeeting2Date   $Nextmeeting2Start   $Nextmeeting2End
      $Nextmeeting2Subject


    }
    else
    {
    $html = “

    K2 Besprechung

    AKTUELL BELEGT
    Gebucht:
    $MeetingDate   $MeetingStart   $MeetingEnd
      $MeetingSubject
    Nächste Folgebuchung:
    $Nextmeeting2Date   $Nextmeeting2Start   $Nextmeeting2End
      $Nextmeeting2Subject


    }

    # Datei BESPRECHUNGSRAUM.html erstmal löschen
    Remove-Item $RoomHTMLPath -recurse

    #HTML Seite speichern
    $html | set-content „$RoomHTMLPath“
    #Debug – Pause setzen
    #Read-Host ‚Press Enter to continue…‘ | Out-Null

    [/CODE]

    Man kann das natürlich auch noch etwas „schöner“ gestalten, aber für’s Erste sollte das reichen.

    Viel Spaß damit,

    Mathias

    Reply
  5. Hallo, kann man das Script so anpassen, dass der nächste Termintitel angezeigt wird? Also Beispiel „Termin mit Herr Meier“.
    Welche Variable müsste man hier auslesen aus dem Kalender?
    Und könnte man auch mehrere nächste Termine anzeigen lassen?
    Also:
    10.00-10.30 Uhr Termin Meier
    11.00 – 12.30 Termin Müller

    Vielen Dank für eine Info.

    Reply
    • Hallo Bernd,
      habe gerade das Coding gepostet, welches Dir bei Deinem Problem weiterhelfen sollte.
      Viele Grüße
      Mathias

      Reply
  6. Hallo zusammen,

    ich Reihe mich hier auch einmal ein, dass ich Interesse hätte =) falls es mit Exchange 2019 auch funktioniert…

    Gruß und danke!

    Reply
  7. Hallo Alexander,
    ich wäre auch sehr an dem Skript für Exchange 2016 interessiert. Kannst du mir es bitte mailen.
    Vielen Dank
    Daniel

    Reply
  8. Hallo Alexander,

    auch mich würde das Skript brennend interessieren.
    Es wär net, wenn Du es mir zukommen lassen würdest.

    Herzlichen Dank

    Andreas

    Reply
  9. Hallo,

    super Skript, bin begeistert. Würde es gerne auf unserem Exchange 2016 nutzen. Bekomme aber folgende Fehler:
    In D:\Raumanzeige\Raumanzeige.ps1:15 Zeichen:65
    + … = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]:Exchange2016
    + ~~~~~~~~~~~~~
    Unerwartetes Token „:Exchange2016“ in Ausdruck oder Anweisung.
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

    PS D:\Raumanzeige> D:\Raumanzeige\Raumanzeige.ps1
    Ausnahme beim Aufrufen von „AutodiscoverUrl“ mit 1 Argument(en): „The Autodiscover service couldn’t be located.“
    In D:\Raumanzeige\Raumanzeige.ps1:19 Zeichen:1
    + $service.AutodiscoverUrl($mailboxName)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : AutodiscoverLocalException

    Ausnahme beim Aufrufen von „Bind“ mit 2 Argument(en): „The Url property on the ExchangeService object must be set.“
    In D:\Raumanzeige\Raumanzeige.ps1:21 Zeichen:1
    + $calendar = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($servi …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ServiceLocalException

    Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
    In D:\Raumanzeige\Raumanzeige.ps1:26 Zeichen:1
    + $results = $calendar.FindAppointments($calendarView)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In D:\Raumanzeige\Raumanzeige.ps1:61 Zeichen:44
    + … $NextmeetingStart = $Nextmeeting.start | get-date -format „HH:mm“
    + ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In D:\Raumanzeige\Raumanzeige.ps1:62 Zeichen:40
    + $NextmeetingEnd = $Nextmeeting.End | get-date -format „HH:mm“
    + ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In D:\Raumanzeige\Raumanzeige.ps1:63 Zeichen:43
    + … $NextmeetingDate = $Nextmeeting.start | get-date -format „dd.MM.yyyy“
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    Reply
  10. Hallo,

    auch ich erhalte folgende Fehlermeldung:

    Get-Date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akz
    eptiert oder die Eingabe und deren Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren

    Kann hier mal jemand das überarbeitete Skript posten? Ich bekomme es leider nicht zum Laufen. :-(

    Schöne Grüße Herbertus

    Reply
  11. Guten Morgen,
    ich weiß ich bin etwas spät aber vielleicht hilfts dem einen oder anderen noch. Vorweg ich bin kein Programmierer und Frank hat hier sehr gut gearbeitet und im Script entsprechend sauber kommentiert. Ich habe mir das Script angesehen und auch bei mir kam zunächst der Fehler mit der ParameterBindingsException. Beim genaueren testen, stellte ich fest dass der Fehler nur auftaucht wenn kein zukünftiger Termin gefunden wird. Damit ist es logisch dass ein Fehler auftaucht. Wenn kein Termin in dem Raum zu finden ist, bleibt die Variable „nextmeeting“ leer und somit kann er auch nichts formatieren.
    Ich habe das so gelöst, dass ich die Variable „nextmeeting“ prüfen ob leer oder nicht und die folgenden variablen erst setze und formatiere, wenn „nextmeeting“ = „NICHT LEER“ ist.
    Die Abfrage geht mit $nextmeeting(nicht leer) bzw. !$nextmeeting (leer)

    Das sieht dann bei mir so aus:
    .
    .
    .
    $Nextmeeting = $results | where {$_.start -ge $timenow} | select -first 1
    #Prüfung ob nextmeeting einen wert enthält
    if ($nextmeeting){
    $NextmeetingStart = $Nextmeeting.start | get-date -format „HH.mm“
    $NextmeetingEnd = $Nextmeeting.End | get-date -format „HH.mm“
    $NextmeetingDate = $Nextmeeting.start | get-date -format „dddd dd.MM.yyyy“
    $NextmeetingTitel = $Nextmeeting.Subject
    $NextmeetingOrg = $Nextmeeting.Organizer}

    #wenn nextmeeting leer, wird Variable $KeinTermin gesetzt.

    else {$KeinTermin = „Nix geplant“}
    .
    .
    .
    In dem HTML Teil habe ich dann mit
    elseif
    gearbeitet um bei 0 Zukunftsterminen, keine Leerfelder auf der HTML Seite auszugeben.

    OK, vielleicht ist dass auch nicht sauber programmiert, aber für mich als Code-Laie reichts, und es funktioniert.

    Beste Grüße

    Reply
  12. Da sich hier einige über den Selben Fehler beklagen, habe ich mir das Script genauer angesehen, und adaptiert. Bei mir Funktioniert es nun. Da wir mehrere Räume haben, habe ich das Script auch gleich aufgebohrt, um alle Räume auf einmal zu erstellen. Falls wer bedarf hat bitte einfach kurz einen Kommentar hinterlassen :)

    LG

    Reply
  13. Eine ganz andere Frage?! Wozu benötige ich für den Raum ein Passwort in dem Script?? Oder kann ich ein vorhandenes Konto samt Passwort verwenden? Wenn ich den Raum anlege werde ich nicht nach einem Passwort gefragt. Das Raumkonto schein auch gesperrt zu sein (Pfeil nach unten).

    Grüße Herta

    Reply
  14. Hallo,

    habe ebenfalls das Problem mit dem fehlerhaften Aufruf:

    —————————————————————–
    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben
    akzeptiert oder die Eingabe und deren Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben
    akzeptieren.
    In C:\neu\Raumanzeige.ps1:61 Zeichen:44
    + $NextmeetingStart = $Nextmeeting.start | get-date -format „HH:mm“
    + ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben
    akzeptiert oder die Eingabe und deren Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben
    akzeptieren.
    In C:\neu\Raumanzeige.ps1:62 Zeichen:40
    + $NextmeetingEnd = $Nextmeeting.End | get-date -format „HH:mm“
    + ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben
    akzeptiert oder die Eingabe und deren Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben
    akzeptieren.
    In C:\neu\Raumanzeige.ps1:63 Zeichen:43
    + $NextmeetingDate = $Nextmeeting.start | get-date -format „dd.MM.yyyy“
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand
    —————————————————————–
    es scheint so, als ob er keine Einträge findet.

    Reply
  15. Hi Frank,
    unser Azubi würde in dem Fall leider eher die ganze Exchange Farm zerstören :)

    Ich muss auch ehrlich gestehen, dass ich aktuell ziemlich auf dem Schlauch stehe…
    Dein Skript schmeißt mich in Zeile 19 immer raus mit dem Error:
    „The Autodiscover service couldn’t be located.“

    Hast du einen Lösungsansatz für mich?

    Reply
  16. Hi Franky,
    wir sind ein mittelständischer Konzern mit mehreren Standorten weltweit – wobei ich in der zentralen IT sitze, mitverantwortlich für AD & Exchange.
    Unser IT Kollege am Standort Österreich hat für diesen Fall ein sehr teures System gekauft und implementiert.
    Ein Monitor der neben jedem Meetingraum hängt und anzeigt, OB dieser Raum gebucht ist, WANN und durch WEN.
    Wenn dieser Raum frei ist, kann man darüber auch direkt „spontan“ buchen.

    Wie schwer wäre es, denn dein Skript in diese Weise zu erweitern?
    Evtl. ein Butten „jetzt buchen“ und die notwendige Zeit angeben, damit dieser Raum dann sofort gebucht wird.
    Wie schwer wäre das umzusetzen?

    Liebe Grüße
    Mille

    Reply
    • Hi,
      ich würde nicht dieses Script erweitern, dies war nur ein kleines Spielprojekt. Grundsätzlich ist es aber nicht weiter kompliziert deine Anforderung umzusetzen. Man könnte daraus ein kleines Azubi Projekt machen.
      Gruß,
      Frank

      Reply
  17. Hi Franky,
    vielen Dank für das tolle Projekt. Ich komme allerdings genau wie mein Vorredner nicht weiter…
    LG Micha

    —————–

    PS D:\Userprofil\jelinski.KS\Desktop\Raumanzeige> D:\Userprofil\jelinski.KS\Desktop\Raumanzeige\Raumanzeige.ps1
    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In D:\Userprofil\jelinski.KS\Desktop\Raumanzeige\Raumanzeige.ps1:61 Zeichen:44
    + … $NextmeetingStart = $Nextmeeting.start | get-date -format „HH:mm“
    + ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In D:\Userprofil\jelinski.KS\Desktop\Raumanzeige\Raumanzeige.ps1:62 Zeichen:40
    + $NextmeetingEnd = $Nextmeeting.End | get-date -format „HH:mm“
    + ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren
    Eigenschaften mit keinem der Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In D:\Userprofil\jelinski.KS\Desktop\Raumanzeige\Raumanzeige.ps1:63 Zeichen:43
    + … $NextmeetingDate = $Nextmeeting.start | get-date -format „dd.MM.yyyy“
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (:) [Get-Date], ParameterBindingException
    + FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetDateCommand

    Reply
  18. Hi,
    bin gerade zufällig auf dieses Super Script gestoßen.
    Wir nutzen Exchange 2013. Leider erhalte ich einen Fehler bei get-date:
    get-date : Das Eingabeobjekt kann an keine Parameter des Befehls gebunden werden, da der Befehl keine Pipelineeingaben akzeptiert oder die Eingabe und deren Eigenschaften mit keinem der
    Parameter übereinstimmen, die Pipelineeingaben akzeptieren.
    In Z:\Installationen\Software\Scripts\Raumanzeige\Raumanzeige\Raumanzeige.ps1:61 Zeichen:44
    + … $NextmeetingStart = $Nextmeeting.start | get-date -format „HH:mm“

    Kann ich da irgendwas tun?

    Reply
  19. Moin,
    Nettes Tool!
    Wäre es auch möglich die Aufbereitung und die Seite direkt auf dem Server laufen zu lasen und die Seite dann von einem anderen Device aus aufzurufen?
    Habe hier noch einige ale Androiden rumliegen die ich gerne für solch zwecke nutzen würde.
    Ein Webserver läuft ja auf dem Server sowieso.
    Gruss Ralf

    Reply

Leave a Comment