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

Auswertung E-Mailverkehr von Gruppen Postfächern im Exchange 2010

Frage Microsoft Exchange Server

Mitglied: Kempchen

Kempchen (Level 1) - Jetzt verbinden

13.08.2014 um 16:32 Uhr, 2051 Aufrufe, 4 Kommentare

Hallo Zusammen,


wir haben bei uns eine Reservierungsabteilung welche mit Gruppenpostfächern arbeitet.
Nun habe ich die Aufgabenstellung erhalten, dass man den E-Mailverkehr (Anzahl ein- / ausgehend) auswerten möchte und in einem Diagramm am besten bereitstellen möchte erhalten.

Ich kenne zwar ein Tool (MailDetectiv falls es wer kennen sollte) nur kommt dies in diesem Fall nicht in Frage.... jetzt suche ich nach einer Alternative zu diesem tool.

Vielleicht kennt ja wer von euch eine gute Alternative darf auch was kosten.

Besten Dank für eure Hilfe.

Kempchen
Mitglied: colinardo
13.08.2014, aktualisiert um 19:05 Uhr
Hallo Kempchen,
gibt's auch umesöns mit Powershellauswertung und Excel:
http://blogs.technet.com/b/neiljohn/archive/2011/08/09/user-profile-ana ...

Grüße Uwe
Bitte warten ..
Mitglied: Kempchen
14.08.2014 um 16:54 Uhr
Hallo Uwe,

danke für deine rasche Hilfestellung.

Leider kann ich mit dem Script aktuell nix anfangen, weil dieser das Falsche Datumformat verwendet und ich nicht tief genug in der PS-Programmierung drinnen bin um diese so abzuändern, dass der diese ins Deutsche Zeitformat ändert.

@all sollte sonst jemand eine Idee haben würde ich mich sehr über Unterstützung freuen.

VG
Kempchen
Bitte warten ..
Mitglied: colinardo
14.08.2014, aktualisiert um 20:33 Uhr
Ja, das habe ich damals auch feststellen müssen, das es nicht mehr ganz aktuell ist.
Habe dir das Script von der obigen Seite ein wenig angepasst:
Du rufst das Script dann mit folgenden zwei Parametern auf, die selbsterklärend sein sollten (Start- und Enddatum für das Erfassen des gewünschten Zeitraumes). Die CSV-Dateien landen dann im aktuellen Verzeichnis.
.\GetEMailStats.ps1 -startdate "01.01.2014" -enddate "14.08.2014"
GetEMailStats.ps1 (wurde etwas angepasst / das Ursprungsscript stammt von dieser Seite)
01.
param( 
02.
    [parameter(mandatory=$true)][string]$start, 
03.
    [parameter(mandatory=$true)][string]$ende 
04.
05.
$today = get-date  
06.
$rundate = $today 
07.
$startdate = get-date $start 
08.
$enddate = (get-date $ende).AddDays(1).AddSeconds(-1) 
09.
 
10.
$outfile_date = $rundate.toString("yyyy_MM_dd") 
11.
$outfile = "email_stats_" + $outfile_date + ".csv"  
12.
  
13.
$dl_stat_file = "DL_stats.csv"  
14.
  
15.
$accepted_domains = Get-AcceptedDomain |% {$_.domainname.domain}  
16.
[regex]$dom_rgx = "`(?i)(?:" + (($accepted_domains |% {"@" + [regex]::escape($_)}) -join "|") + ")$"  
17.
  
18.
$mbx_servers = Get-ExchangeServer |? {$_.serverrole -match "Mailbox"}|% {$_.fqdn}  
19.
[regex]$mbx_rgx = "`(?i)(?:" + (($mbx_servers |% {"@" + [regex]::escape($_)}) -join "|") + ")\>$"  
20.
  
21.
$msgid_rgx = "^\<.+@.+\..+\>$"  
22.
  
23.
$hts = get-exchangeserver |? {$_.serverrole -match "hubtransport"} |% {$_.name}  
24.
  
25.
$exch_addrs = @{}  
26.
  
27.
$msgrec = @{}  
28.
$bytesrec = @{}  
29.
  
30.
$msgrec_exch = @{}  
31.
$bytesrec_exch = @{}  
32.
  
33.
$msgrec_smtpext = @{}  
34.
$bytesrec_smtpext = @{}  
35.
  
36.
$total_msgsent = @{}  
37.
$total_bytessent = @{}  
38.
$unique_msgsent = @{}  
39.
$unique_bytessent = @{}  
40.
  
41.
$total_msgsent_exch = @{}  
42.
$total_bytessent_exch = @{}  
43.
$unique_msgsent_exch = @{}  
44.
$unique_bytessent_exch = @{}  
45.
  
46.
$total_msgsent_smtpext = @{}  
47.
$total_bytessent_smtpext = @{}  
48.
$unique_msgsent_smtpext=@{}  
49.
$unique_bytessent_smtpext = @{}  
50.
  
51.
$dl = @{}  
52.
  
53.
  
54.
$obj_table = {  
55.
@"  
56.
StartDate = $(get-date $startdate -Format "dd.MM.yyyy HH:mm:ss") 
57.
EndDate = $(get-date $enddate -Format "dd.MM.yyyy HH:mm:ss") 
58.
User = $($address.split("@")[0])  
59.
Domain = $($address.split("@")[1])  
60.
Sent Total = $(0 + $total_msgsent[$address])  
61.
Sent MB Total = $("{0:F2}" -f $($total_bytessent[$address]/1mb))  
62.
Received Total = $(0 + $msgrec[$address])  
63.
Received MB Total = $("{0:F2}" -f $($bytesrec[$address]/1mb))  
64.
Sent Internal = $(0 + $total_msgsent_exch[$address])  
65.
Sent Internal MB = $("{0:F2}" -f $($total_bytessent_exch[$address]/1mb))  
66.
Sent External = $(0 + $total_msgsent_smtpext[$address])  
67.
Sent External MB = $("{0:F2}" -f $($total_bytessent_smtpext[$address]/1mb))  
68.
Received Internal = $(0 + $msgrec_exch[$address])  
69.
Received Internal MB = $("{0:F2}" -f $($bytesrec_exch[$address]/1mb))  
70.
Received External = $(0 + $msgrec_smtpext[$address])  
71.
Received External MB = $("{0:F2}" -f $($bytesrec_smtpext[$address]/1mb))  
72.
Sent Unique Total = $(0 + $unique_msgsent[$address])  
73.
Sent Unique MB Total = $("{0:F2}" -f $($unique_bytessent[$address]/1mb))  
74.
Sent Internal Unique  = $(0 + $unique_msgsent_exch[$address])   
75.
Sent Internal Unique MB = $("{0:F2}" -f $($unique_bytessent_exch[$address]/1mb))  
76.
Sent External  Unique = $(0 + $unique_msgsent_smtpext[$address])  
77.
Sent External Unique MB = $("{0:F2}" -f $($unique_bytessent_smtpext[$address]/1mb))  
78.
"@  
79.
}  
80.
  
81.
$props = $obj_table.ToString().Split("`n")|% {if ($_ -match "(.+)="){$matches[1].trim()}}  
82.
  
83.
$stat_recs = @()  
84.
  
85.
function time_pipeline {  
86.
param ($increment  = 1000)  
87.
begin{$i=0;$timer = [diagnostics.stopwatch]::startnew()}  
88.
process {  
89.
    $i++  
90.
    if (!($i % $increment)){Write-host “`rProcessed $i in $($timer.elapsed.totalseconds) seconds” -nonewline}  
91.
    $_  
92.
    }  
93.
end {  
94.
    write-host “`rProcessed $i log records in $($timer.elapsed.totalseconds) seconds”  
95.
    Write-Host "   Average rate: $([int]($i/$timer.elapsed.totalseconds)) log recs/sec."  
96.
    }  
97.
}  
98.
  
99.
foreach ($ht in $hts){  
100.
  
101.
    Write-Host "`nStarted processing $ht"  
102.
  
103.
    get-messagetrackinglog -Server $ht -Start $startdate -End $enddate -resultsize unlimited |  
104.
    time_pipeline |%{  
105.
      
106.
      
107.
    if ($_.eventid -eq "DELIVER" -and $_.source -eq "STOREDRIVER"){  
108.
      
109.
        if ($_.messageid -match $mbx_rgx -and $_.sender -match $dom_rgx) {  
110.
              
111.
            $total_msgsent[$_.sender] += $_.recipientcount  
112.
            $total_bytessent[$_.sender] += ($_.recipientcount * $_.totalbytes)  
113.
            $total_msgsent_exch[$_.sender] += $_.recipientcount  
114.
            $total_bytessent_exch[$_.sender] += ($_.totalbytes * $_.recipientcount)  
115.
          
116.
            foreach ($rcpt in $_.recipients){  
117.
            $exch_addrs[$rcpt] ++  
118.
            $msgrec[$rcpt] ++  
119.
            $bytesrec[$rcpt] += $_.totalbytes  
120.
            $msgrec_exch[$rcpt] ++  
121.
            $bytesrec_exch[$rcpt] += $_.totalbytes  
122.
            }  
123.
              
124.
        }  
125.
          
126.
        else {  
127.
            if ($_messageid -match $messageid_rgx){  
128.
                    foreach ($rcpt in $_.recipients){  
129.
                        $msgrec[$rcpt] ++  
130.
                        $bytesrec[$rcpt] += $_.totalbytes  
131.
                        $msgrec_smtpext[$rcpt] ++  
132.
                        $bytesrec_smtpext[$rcpt] += $_.totalbytes  
133.
                    }  
134.
                }  
135.
          
136.
            }  
137.
                  
138.
    }  
139.
      
140.
      
141.
    if ($_.eventid -eq "RECEIVE" -and $_.source -eq "STOREDRIVER"){  
142.
        $exch_addrs[$_.sender] ++  
143.
        $unique_msgsent[$_.sender] ++  
144.
        $unique_bytessent[$_.sender] += $_.totalbytes  
145.
          
146.
            if ($_.recipients -match $dom_rgx){  
147.
                $unique_msgsent_exch[$_.sender] ++  
148.
                $unique_bytessent_exch[$_.sender] += $_.totalbytes  
149.
                }  
150.
  
151.
            if ($_.recipients -notmatch $dom_rgx){  
152.
                $ext_count = ($_.recipients -notmatch $dom_rgx).count  
153.
                $unique_msgsent_smtpext[$_.sender] ++  
154.
                $unique_bytessent_smtpext[$_.sender] += $_.totalbytes  
155.
                $total_msgsent[$_.sender] += $ext_count  
156.
                $total_bytessent[$_.sender] += ($ext_count * $_.totalbytes)  
157.
                $total_msgsent_smtpext[$_.sender] += $ext_count  
158.
                 $total_bytessent_smtpext[$_.sender] += ($ext_count * $_.totalbytes)  
159.
                }  
160.
                                 
161.
              
162.
        }  
163.
          
164.
    if ($_.eventid -eq "expand"){  
165.
        $dl[$_.relatedrecipientaddress] ++  
166.
        }  
167.
    }       
168.
      
169.
}  
170.
  
171.
foreach ($address in $exch_addrs.keys){  
172.
  
173.
$stat_rec = (new-object psobject -property (ConvertFrom-StringData (&$obj_table)))  
174.
$stat_recs += $stat_rec | select $props  
175.
}  
176.
  
177.
$stat_recs | export-csv $outfile -notype -Delimiter ";" 
178.
  
179.
if (Test-Path $dl_stat_file){  
180.
    $DL_stats = Import-Csv $dl_stat_file  
181.
    $dl_list = $dl_stats |% {$_.address}  
182.
    }  
183.
      
184.
else {  
185.
    $dl_list = @()  
186.
    $DL_stats = @()  
187.
    }  
188.
  
189.
  
190.
$DL_stats |% {  
191.
    if ($dl[$_.address]){  
192.
        if ([datetime]$_.lastused -le [datetime]$rundate){   
193.
            $_.used = [int]$_.used + [int]$dl[$_.address]  
194.
            $_.lastused = $rundate  
195.
            }  
196.
        }  
197.
}  
198.
      
199.
$dl.keys |% {  
200.
    if ($dl_list -notcontains $_){  
201.
        $new_rec = "" | select Address,Used,Since,LastUsed  
202.
        $new_rec.address = $_  
203.
        $new_rec.used = $dl[$_]  
204.
        $new_rec.Since = $rundate  
205.
        $new_rec.lastused = $rundate  
206.
        $dl_stats += @($new_rec)  
207.
    }  
208.
}  
209.
  
210.
$dl_stats | Export-Csv $dl_stat_file -NoTypeInformation -force -Delimiter ";" 
211.
  
212.
  
213.
Write-Host "`nRun time was $(((get-date) - $today).totalseconds) seconds."  
214.
Write-Host "Email stats file is $outfile"  
215.
Write-Host "DL usage stats file is $dl_stat_file" 
Grüße Uwe
Bitte warten ..
Mitglied: goserver
18.08.2014 um 09:40 Uhr
Probiere es mal mit Jamsoftware: Smarttoolbox für Exchange.
Da kann man den E-Mail Verkehr in eine Datenbank reinschreiben (SQL Server) o.a.
Außerdem Spamfilter usw.

Kannst das Teil 30 Tage testen, bei Bedarf kann ich dir das günstiger besorgen.
Viel Spaß
Bitte warten ..
Ähnliche Inhalte
Exchange Server
gelöst Exchange 2010: Größenbeschränkung für ein Postfach (13)

Frage von honeybee zum Thema Exchange Server ...

Exchange Server
Exchange 2016 routet E-Mails in falsches Postfach (13)

Frage von MasterPhil zum Thema Exchange Server ...

Exchange Server
gelöst Exchange 2007 und 2010 Koexistenz - Transportprobleme (3)

Frage von john-doe zum Thema Exchange Server ...

Exchange Server
Exchange 2010 Problem (6)

Frage von Peacer zum Thema Exchange Server ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

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

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...