Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Anzahl ungelesener Objekte im öffentlichen Ordner auf Statusmonitor anzeigen

Mitglied: BirdyB

BirdyB (Level 2) - Jetzt verbinden

22.09.2013, aktualisiert 19:18 Uhr, 3689 Aufrufe, 2 Kommentare

Hallo miteinander,

ich suche nach einer Möglichkeit, auf einem Exchange-Server die Anzahl der ungelesenen Objekte in einem öffentlichen Ordner anzuzeigen.
Hintergrund ist der, dass wir einen Bereitschaftsdienst haben, der nicht immer am PC sitzt, der aber auf E-Mails möglichst schnell reagieren soll
Im Büro haben wir diverse Monitore, auf denen Status angezeigt werden.
Am besten wäre eine Lösung auf Linux-Basis, da ich dann evtl. noch einen Raspberry Pi verwenden könnte um einen weiteren Statusmonitor bereitzustellen. Windows-basiert ginge allerdings auch.
Kennt jemand eine Lösung für diese Fragestellung oder hat einen Ansatz, wie ich das realisieren kann?
Danke für eure Hilfe!

Gruß!

Berthold
Mitglied: colinardo
24.09.2013 um 11:29 Uhr
Hallo Berthold,
ich würde dies via Exchange Webservices API (EWS) machen. In folgendem Thread habe ich ein Beispiel für das Darstellen von Kalendereinträgen via ASP.Net auf einer Webseite gepostet. Dies ließe sich an deine Anforderungen anpassen...
Grüße Uwe
Bitte warten ..
Mitglied: colinardo
24.09.2013, aktualisiert um 12:27 Uhr
-- Nachtrag -- hier ein Beispiel mit dem EWS-API und ASP.Net:
(Im Beispiel wird ein öffentlicher Ordner Namens "Bestellungen" der sich in einem Ordner namens "Aufträge" befindet auf ungelesene Elemente abgefragt(Zeile 22 des Codebehind). / Exchange Version(Zeile 16) URL sowie Username,Password und Domain[Zeilen 20-21 des Codebehind-Files] müssen natürlich angepasst werden).
Diese Seite könntest du dann mit curl oder wget auf deinem Linux-System regelmäßig abfragen. Ansonsten gibt es auch noch einige Bibliotheken um via PHP mit dem EWS zu kommunizieren.

ASP.Net Seite (Default2.aspx):

01.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
02.

03.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04.

05.
<html xmlns="http://www.w3.org/1999/xhtml">
06.
<head runat="server">
07.
    <title></title>
08.
</head>
09.
<body>
10.
    <form id="form1" runat="server">
11.
    <div style="font-size: 30pt; font-weight: bold; font-family: Arial, Helvetica, sans-serif">
12.
        Ungelesene Elemente: <asp:Label ID="pfUnreadCount" runat="server" 
13.
            ForeColor="#FF3300"></asp:Label>
14.
    </div>
15.
    </form>
16.
</body>
17.
</html>

Codebehind-File (Default2.aspx.cs)

01.
using System;
02.
using System.Data;
03.
using System.Collections.Generic;
04.
using System.Linq;
05.
using System.Web;
06.
using System.Web.UI;
07.
using System.Web.UI.WebControls;
08.
using Microsoft.Exchange.WebServices;
09.
using Microsoft.Exchange.WebServices.Data;
10.
using System.Net;
11.
using System.Net.Security;
12.
using System.Security.Cryptography.X509Certificates;
13.

14.
public partial class Default2 : System.Web.UI.Page
15.
{
16.
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
17.
    protected void Page_Load(object sender, EventArgs e)
18.
    {
19.
        ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
20.
        service.Url = new Uri("https://server.doimain.local/EWS/Exchange.asmx");
21.
        service.Credentials = new WebCredentials("[USERNAME]", "[PASSWORD]", "[DOMAIN]");
22.
        Folder fldr = GetPublicFolderByPath(@"Aufträge\Bestellungen");
23.
        fldr.Load();
24.
        pfUnreadCount.Text = fldr.UnreadCount.ToString();
25.
    }
26.

27.
    public Folder GetPublicFolderByPath(string ewsFolderPath)
28.
    {
29.
        string[] folders = ewsFolderPath.Split('\\');
30.

31.
        Folder parentFolderId = null;
32.
        Folder actualFolder = null;
33.

34.
        for (int i = 0; i < folders.Length; i++)
35.
        {
36.
            if (0 == i)
37.
            {
38.
                parentFolderId = GetTopLevelFolder(folders[i]);
39.
                actualFolder = parentFolderId;
40.
            }
41.
            else
42.
            {
43.
                actualFolder = GetFolder(parentFolderId.Id, folders[i]);
44.
                parentFolderId = actualFolder;
45.
            }
46.
        }
47.
        return actualFolder;
48.
    }
49.
    private Folder GetTopLevelFolder(string folderName)
50.
    {
51.
        FindFoldersResults findFolderResults = service.FindFolders(WellKnownFolderName.PublicFoldersRoot, new FolderView(int.MaxValue));
52.
        foreach (Folder folder in findFolderResults.Where(folder => folderName.Equals(folder.DisplayName, StringComparison.InvariantCultureIgnoreCase)))
53.
            return folder;
54.

55.
        throw new Exception("Top Level Folder not found: " + folderName);
56.
    }
57.

58.
    private Folder GetFolder(FolderId parentFolderId, string folderName)
59.
    {
60.
        FindFoldersResults findFolderResults = service.FindFolders(parentFolderId, new FolderView(int.MaxValue));
61.
        foreach (Folder folder in findFolderResults.Where(folder => folderName.Equals(folder.DisplayName, StringComparison.InvariantCultureIgnoreCase)))
62.
            return folder;
63.

64.
        throw new Exception("Folder not found: " + folderName);
65.
    }
66.
    private static bool CertificateValidationCallBack(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
67.
    {
68.
        return true;
69.
    }
70.
}
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
CSS
Breite objekt mit css
Frage von jensgebkenCSS3 Kommentare

Hallo Gemeinschaft, gibt eine Möglichkeit einen bild 100% breite anzeigen zu lassen max aber nur 350 px das bild ...

Visual Studio
VB.Net - Datagridview Objekt Update
gelöst Frage von PatrickB90Visual Studio1 Kommentar

Guten Morgen zusammen, als neu Einsteiger im Bereich VB.Net steh ich grade vor einem Problem. In einer Form wurde ...

Windows 10

RuntimeError429ActiveXCompomentcan not create Objekt

Frage von Fitzel69Windows 102 Kommentare

Hallo zusammen Anbei folgende Information Ich habe ein Laptop mit Windows 10 64 bit neu installiert. Office 2016 + ...

Visual Studio

Singletone Objekt in Datei speichern

gelöst Frage von it4baerVisual Studio12 Kommentare

Hallo, ist es möglich ein Singleton-Objekt zu "serialisieren" und dann in eine Datei zu speichern um es später wieder ...

Neue Wissensbeiträge
Humor (lol)
Preisvertipper
Information von Dilbert-MD vor 4 TagenHumor (lol)8 Kommentare

Moin! weil heute Freitag ist, zeige ich Euch den Preisvertipper der Woche: vergesst den Acer Predator 21x, der ist ...

Windows Update
Sicherheitsupdate für SQL Server 2014 SP3
Information von sabines vor 5 TagenWindows Update2 Kommentare

Für den SQL Server 2014 existiert ein Sicherheitsupdate. Laut KB Artikel wird es als CU3 angezeigt: Server 2014 SP3 ...

Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 6 TagenBackup1 Kommentar

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 8 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Heiß diskutierte Inhalte
Windows Server
Lange Wartezeiten beim speichern und öffnen auf Win Server 2019
Frage von installerWindows Server46 Kommentare

Hallo, habe ein Problem mit langen Wartezeiten beim öffnen / speichern von Office Dokumenten etc. auf Netzlaufwerken auf einem ...

LAN, WAN, Wireless
Durchblick im Ubiquiti Dschungel
Frage von installerLAN, WAN, Wireless26 Kommentare

Hallo, ich möchte gerne ein Wohnhaus mit Ubiquiti WLAn Access Points (inkl. Mesh Funktion) austatten und auch eine grafische ...

Utilities
TeamViewer - Software installieren mit Admin Account
Frage von gwitzigUtilities26 Kommentare

Hallo, ich bin bei einem Großkunden und muss einen Hotfix (Windows 7 Notebook) installieren. Habe es mit TeamViewer Version ...

Grafikkarten & Monitore
Server mit extra Graphikkarte
gelöst Frage von EuroPCGrafikkarten & Monitore18 Kommentare

Moin, ich habe hier ein Angebot unseres IT- Dinstleisters über einen Server mit Xeon E2176G Prozessor. Laut Intel hat ...