Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Microsoft Exchange Server

Mitglied: BirdyB

BirdyB (Level 2) - Jetzt verbinden

22.09.2013, aktualisiert 19:18 Uhr, 3298 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
Exchange Server
Office365 Öffentlicher Ordner an mobiles (1)

Frage von PizzaPepperoni zum Thema Exchange Server ...

VB for Applications
gelöst Outlook Formular aus öffentlichem Ordner bearbeiten (6)

Frage von runner-ralf zum Thema VB for Applications ...

Exchange Server
gelöst Öffentliche Ordner können von Jedem gelöscht werden (2)

Frage von TIM589 zum Thema Exchange Server ...

Microsoft Office
gelöst Office 365 und öffentliche Ordner (1)

Frage von DeathNote zum Thema Microsoft Office ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...