Gerade habe ich die neue Version 3.10 des Exchange Reporters hochgeladen. In der neuen Version habe ich zahlreiche Fehler behoben, welche mir gemeldet wurden. Hier eine Liste der behobenen Probleme:
- mbxreport.ps1: Mailboxen nahe des Sendelimits werden nicht angezeigt (Danke Mario)
- mailreport.ps1: Schreibfehler korrigiert (Danke Matthias)
- Fehler der Modulzuordnung in settings.ini korrigiert
- HealthChecker.ps1: HealthChecker Script aktualisiert
- HealthChecker.ps1: Fehler beim Import der XML Daten behoben
- redirectreport.ps1: Zeigt an ob Regel aktiviert oder deaktiviert ist
- pfreport.ps1: Der Report liefert nun auch Daten zu Exchange 2019 Public Folders (Danke Mario)
- easreport.ps1: Liefert zusätzlich Daten der ActiveSync Geräteklassen
- includefunctions.ps1: Exchange Versionsermittlung liefert nun die aktuellste Exchange Version (während Migrationsphase)
Außerdem gibt es ein neues Modul:
- clientinfo.ps1: Liefert die eingesetzten Outlook Versionen
Das Modul clientinfo.ps1 gab es bis einschließlich der Exchange Reporter Version 3.5. Ich musste es zunächst leider entfernen, da es keine verlässlichen Daten mehr geliefert hat. Das Modul ist nun zurück und liefert wieder eine Übersicht der Outlook Versionen, welche sich mit den Exchange Server verbinden. Leider lässt sich aber nicht die genaue Outlook Version aus den Logs auslesen, da mitunter unterschiedliche Outlook Versionen die gleiche Build Nummer tragen (Mehr dazu hier: Outlook Version aus Exchange MAPI Log auslesen).
Hier noch ein Screenshot des Moduls clientinfo.ps1:
Die neue Exchange Reporter Version kann direkt hier runtergeladen werden:
Exchange Reporter
Hier finden sich die Beschreibung der Features und weitere Screenshots:
Für die nächste Version sind zwei weitere Module in der Entwicklung, zum einen werden die AMSI Logfiles (wenn verfügbar) in den Report integriert und auch der durch Exchange Logfiles verbrauchte Speicherplatz wird seinen Platz im Report finden. Aktuell habe ich aber noch keinen Zeitplan für die nächste Version.
Hallo Frank,
vielen Dank für das Tool, ich habe von einer älteren Version upgedatet und die neuen Module aktiviert, alles Funktioniert, bis auf daß der Healthchecker nicht in die Mail eingebunden ist, die Überschrift ist da mit einem Fragezeichen als Icon aber darunter ist kein Inhalt.
Gruß
Dreas
Hallo Nochmal,
wenn ich nur das Modul Healthchecker aktiviere und den Report starte hab ich den Report in der Mail.
Gruß
Dreas
Hallo Frank und alle anderen :-)
Danke für das Reporting tool aber leider funktioniert es bei mir nicht so wie es muss.
Ich habe eine Peinliche Frage :-)
Bei ausführen des Skript erhalte ich bei den Module folgender Fehlermeldung. (Working on Module Mailreport.ps1: Error)
Wenn ich das Skript per PowerShell Manuel ausführe um zu schauen was nicht stimmen könnte. bekomme ich das gewisse CMDLET-Befehle nicht recognized sind.
Beispiel:
Generate-ReportHeader : The term ‚Generate-ReportHeader‘ is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At C:\Exchange Reporter 3.10\Modules\mailreport.ps1:2 char:15
+ $mailreport = Generate-ReportHeader „mailreport.png“ „$l_mail_header“
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Generate-ReportHeader:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Da ich nicht so versiert bin mit Skripten dachte ich frage lieber nach bevor mehrere Tagen verloren gehen.
Hallo
Ich habe jetzt alles zum funktionieren gebracht und habe jetzt nur ein problem der Mailreport liefert mir Null Daten und im Error Log steht nichts alles ok. Alle Module die ich einsetze liefern mir Daten und Informationen aber den MailReport hat nichts. Der Intervall habe ich auch schon von 7 auf 1 gestellt und der MessageTracking ist auch aktiv. Wir haben Exchange2019 CU10 im Einsatz.
Was kann ich noch versuchen?
Besten Dank für das Feedback
Vielen Dank Frank für die Pflege und das erneute Update Deines Exchange Reporter.
Ich bin leider auf der Suche nach der Dokumentation zu den Modulen ;28=PRTGReport.ps1und ;29=UTMMailreport.ps1 nicht fündig geworden. Wo kann ich diese finden? Lieben Dank.
Mir ist aufgefallen, dass der deutsche HTML Bericht zu den Modulen der eingesetzten Outlook Versionen und des Health Checkers keine Umlaute verwendet.
Des weiteren bekomme ich bei der Erstellung eines neuen Berichtes zu den Modulen folgende Meldungen:
dmarcreport.ps1
Der Parameter „Path“ kann nicht an das Ziel gebunden werden. Ausnahme beim Festlegen von „Path“: „Der Pfad „C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll“ kann nicht gefunden werden, da er nicht vorhanden ist.“
SSLLabsReport.ps1 und updatereport.ps1
Der Antwortinhalt kann nicht analysiert werden, da das Internet Explorer-Modul nicht verfügbar ist, oder die Konfiguration beim ersten Start von Internet Explorer ist nicht abgeschlossen. Geben Sie den UseBasicParsing-Parameter an, und wiederholen Sie den Vorgang.
Liebe Grüße
Michael
Hallo Micha,
hatte auch den Fehler „Der Antwortinhalt kann nicht analysiert werden, da das Internet Explorer-Modul nicht verfügbar ist…“.
Bei mir lag es daran dass die Aufgabe von einem User ausgeführt wurde, welcher sich noch nie selber am Server angemeldet hatte.
Einfach als dieser Benutzer anmelden, 1x Internet Explorer starten und Meldung zur Konfiguration (Vorgeschlagene Werte verwenden / nicht verwenden) bestätigen. Dann hat’s bei mir funktioniert…
Schöne Grüße,
Micha
Klasse Micha
Der Tipp mit dem Anmelden auf der entsprechenden Maschine hat geholfen. SSLLabsReport.ps1 und updatereport.ps1 laufen nun einwandfrei.
Geblieben ist mir nun noch Meldungen zum DMARC Report Modul:
dmarcreport.ps1
Der Parameter „Path“ kann nicht an das Ziel gebunden werden. Ausnahme beim Festlegen von „Path“: „Der Pfad „C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll“ kann nicht gefunden werden, da er nicht vorhanden ist.“
sowie die fehlerhafte Zeichendarstellung für die Outlook Versionen und dem Health Checker, bei dem bspw. die Umlaute nicht korrekt dargestellt werden. Vermutlich wird hier noch keine UTF-8 formatierter HTML Code für den Report verwendet?!
Last, but not least … fehlt mir die Dokumentation zu den Modulen PRTGReport.ps1 und UTMMailreport.ps1.
Hat jemand eine Idee? Frank?
Hi. hab mal das Modul POPconReport.ps1 für die aktuelle Version 4.5.1 angepasst:
$POPconInstallPath = „C:\Program Files\Servolutions\POPcon“
$popconreport = Generate-ReportHeader „POPconReport.png“ „$l_pc_header“
#Übersicht
$cells=@(„$l_pc_servicedname“,“$l_pc_servicename“,“$l_pc_state“)
$popconreport += Generate-HTMLTable „$l_pc_header2“ $cells
$pcservice = Get-Service POPconService
$pcprocess = Get-Process POPconService
$pcservicedname = $pcservice.DisplayName
$pcservicename = $pcservice.name
$pcstate = $pcservice.status
$cells=@(„$pcservicedname“,“$pcservicename“,“$pcstate“)
$popconreport += New-HTMLTableLine $cells
$popconreport += End-HTMLTable
#Verzeichnisse
$pcbadmailcount = (Get-ChildItem $POPconInstallPath\BADMAIL | where {$_.name -notmatch „was_ist“}).count
$pcpickupcount = (Get-ChildItem $POPconInstallPath\PICKUP | where {$_.name -notmatch „was_ist“}).count
$pctoolargecount = (Get-ChildItem $POPconInstallPath\TOOLARGE | where {$_.name -notmatch „was_ist“}).count
$cells=@(„$l_pc_dirName“,“$l_pc_dirItems“)
$popconreport += Generate-HTMLTable „$l_pc_header3“ $cells
$cells=@(„$l_pc_dirBadmail“,“$pcbadmailcount“)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_dirPickup“,“$pcpickupcount“)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_dirToolarge“,“$pctoolargecount“)
$popconreport += New-HTMLTableLine $cells
$popconreport += End-HTMLTable
#Konfiguration
$cells=@(„$l_pc_settingname“,“$l_pc_value“)
$popconreport += Generate-HTMLTable „$l_pc_header4“ $cells
$pclizenz = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\registration).Name
$pcpostmaster = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\SMTP).Postmaster
$pcserver = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\SMTP).Server
$pcerr1 = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\SMTP).React_on_Exchange_Err1
$pcerr2 = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\SMTP).React_on_Exchange_Err2
$pcerr3 = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\SMTP).React_on_Exchange_Err3
$pcwait = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\Schedule).Schedule_Waittime
$pcwait = switch ($pcwait)
{
0 {„$l_pc_continusly“}
1 {„$pcwait $l_pc_minute“}
default {„$pcwait $l_pc_minutes“}
}
$pcerr1 = switch ($pcerr1)
{
0 {„$l_pc_action2“}
1 {„$l_pc_action1“}
2 {„$l_pc_action3“}
3 {„$l_pc_action4“}
}
$pcerr2 = switch ($pcerr2)
{
0 {„$l_pc_action2“}
1 {„$l_pc_action1“}
2 {„$l_pc_action3“}
3 {„$l_pc_action4“}
}
$pcerr3 = switch ($pcerr3)
{
0 {„$l_pc_action2“}
1 {„$l_pc_action1“}
2 {„$l_pc_action3“}
3 {„$l_pc_action4“}
}
$cells=@(„$l_pc_license“,“$pclizenz“)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_postmaster“,“$pcpostmaster“)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_exserver“,“$pcserver“)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_userunknown“,“$pcerr1″)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_msgrefued“,“$pcerr2″)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_addrmissing“,“$pcerr3″)
$popconreport += New-HTMLTableLine $cells
$cells=@(„$l_pc_wait“,“$pcwait“)
$popconreport += New-HTMLTableLine $cells
$popconreport += End-HTMLTable
#Postfächer
$cells=@(„$l_pc_mbxdname“,“$l_pc_mbxsmtp“,“$l_pc_mbxuser“)
$popconreport += Generate-HTMLTable „$l_pc_header5“ $cells
$popmbxcount = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\POP3).nPOP3
$i = 1
do
{
$mbxdname = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\POP3\$i).displayname
$mbxsmtp = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\POP3\$i).server
$mbxuser = (Get-ItemProperty HKLM:\Software\Wow6432Node\POPcon\POP3\$i).username
$cells=@(„$mbxdname“,“$mbxsmtp“,“$mbxuser“)
$popconreport += New-HTMLTableLine $cells
$i++
}
while ($i -le $popmbxcount)
$popconreport += End-HTMLTable
#Log
$cells=@(„$l_pc_logentry“)
$popconreport += Generate-HTMLTable „$l_pc_header6“ $cells
#$pclogfile = get-content $POPconInstallPath\POPconSrv.log | select -last 50
$pclogfile = get-content $POPconInstallPath\POPconService.log | select -last 50
foreach ($pclogentry in $pclogfile)
{
$pclogentry = $pclogentry.replace(„-„,““)
$cells=@(„$pclogentry“)
$popconreport += New-HTMLTableLine $cells
}
$popconreport += End-HTMLTable
$popconreport | set-content „$tmpdir\pfreport.html“
$popconreport | add-content „$tmpdir\report.html“