Exchange Server: Statistiken und Reports per Mail
Wie auch der Exchange Reporter 2010 versendet das Script „New-ExchangeReport.ps1“ einen Report per Mail. Exchange Reporter ist kompatibel zu Exchange 2010, 2013, 2016, 2019 und benötigt die PowerShell mindestens in Version 4.
- Anzahl gesendete Mails pro Wochentag
- Anzahl empfangene Mails pro Wochentag
- Empfangene/Gesendete Mails pro Wochentag
- Volumen gesendete Mails pro Wochentag
- Volumen empfangene Mails pro Wochentag
- Volumen Empfangene/Gesendete Mails pro Wochentag
- Durchschnittliche Anzahl Mails je Postfach
- Durchschnittliche Volumen je Postfach
- Durchschnittliche Größe einer Mail
- Top 10 Empfänger
- Top 10 Sender
- Top 10 Empfänger (Volumen)
- Top 10 Absender (Volumen)
- Postfächer mit Um- oder Weiterleitungen die Benutzer eingerichtet haben
- Postfächer mit Um- oder Weiterleitungen die am Exchange Server konfiguriert wurden
- Freier und belegter Speicherplatz auf allen Volumes aller Exchange Server und Domain Controller
- Größe der Datenbanken
- DAG Übersicht
- Die 10 größten Postfächer
- Inaktive ActiveSync Geräte
- Active ActiveSync Geräte
- Exchange Versionsnummern und Rollenverteilung aller Exchange Server
- Datum der letzten vollen Datenbanksicherung
- Report über Postfächer die sich nahe dem Sendelimit bewegen (Auch Postfach und Datenbanklimit)
- Benachrichtigung über neue Reporter Version
- Übersicht der IIS Zertifikate der Exchange Server
- Exchange Fehler im EventLog
- Betriebssystem Infos der Exchange Server (Version und Service Pack)
- Übersicht der Offline Adressbücher
- Windows Update Bericht
- Übersicht über die VMs (Snapshots, Datastore) bei VMware Umgebungen
- F5 BigIP LTM Unterstützung
- Kemp Loadmaster Unterstützung
- Übersicht über ActiveSync und Outlook Clients
- Übersicht über die Zertifizierungsstelle
- Statistiken zu Öffentlichen Ordnern
- Übersicht ungenutzte Verteilerlisten
- Übersicht zu dynamischen Verteilergruppen
- Übersicht zum Hardware Status von HP Servern
- Übersicht zu Cisco Ironport (ESA)
- Übersicht Postfachberechtigungen
- Anzeige von getrennten Postfächern
- Anzeige von Exchange Back Pressure Events
- Unterstützung für Office 365
- Abfrage von 78 Blacklisten, ob die eigene IP gelistet ist
- Prüfen der MX-Einträge mit Verbindungstest
- Unterstützung für DMARC
- Auswertung von Exchange Audit Logs
- Unterstützung für PRTG, POPcon und Sophos UTM
- Integration des Qualsys SSL Labs Reports
- Upload des Reports auch per FTP möglich
- Unterstützung für NoSpamProxy
- NEU: Exchange Health Checker Bericht auch im Exchange Reporter verfügbar
- NEU: Exchange Emergency Mitigation Report
Die Daten für gesendete und empfangene Mails, sowie die Daten zur Speicherplatz Nutzung werden grafisch durch Diagramme dargestellt. Im Gegensatz zu Exchange Reporter 2010 (alte Version) habe ich auf eine fehleranfällige Installationsroutine verzichtet. Eine Installationsanleitung liegt bei (Geplanten Task erstellen, INI Datei anpassen)
Hier sind ein paar Screenshots eines Reports:
Die Screenshots zeigen nicht den vollständigen Report. Getestet habe ich den Reporter mit Server 2012R2 und Exchange 2013 SP1.
Installation:
Siehe „Exchange Reporter Handbuch (DE).pdf“ im ZIP-Archiv.
Change Log:
Version 3.0:
- Neue Funktionen (Major Update)
- Erste Mehrsprachige Version (Deutsch und Englisch)
- Optische Anpassung der Grafiken, angelehnt an Windows 10 / Server 2016
- Ausfiltern von Empfängern und Absendern möglich
- Support für Exchange 2016 und Outlook 2016
- Möglichkeit zum Ausblenden bestimmter Postfächer, Absender und Empfänger
- Mailreport.ps1: Statistik gesendete / empfange Mails je Exchange Server bei mehr als einem Server
- Mit dem Parameter –ConfigFile kann Exchange Reporter in unterschiedlichen Konfigurationen gestartet werden
- Bugfixes
- Bpreport.ps1: Hinweis, wenn keine Back Pressure Events aufgetreten sind
- Spacereport.ps1: WMI Abfrage geändert um zuverlässiger die entsprechenden Volumes zu identifizieren
- Oabreport.ps1: Fehler behoben wenn Exchange auf einem anderen Laufwerk als C: installiert ist
- New-ExchangeReport.ps1: Logging verbessert
- Clientinfo.ps1: Outlook for MAC wird gesondert angezeigt
- Easreport.ps1: Anzeige der Outlook Mail App
- Server 2012 Wiederherstellungspartitionen werden ausgeblendet
- Dokumentation überarbeitet
- Neues Modul:
- dmarcreport.ps1: Zeigt die DMARC Einträge an und wertet die DMARC Reports aus
- auditlogtreport.ps1: Zeigt Exchange Konfigurationsänderungen und Mailbox Audit Logs an
Version 3.1:
- Bugfixes
- O365report.ps1: Der Report lieferte nur die ersten 1000 Ergebnisse zurück, Dank Kaari behoben
- Mbxreport.ps1: Bug in der Auflistung der Limits behoben, wenn mehr als 1000 Postfächer in einer Datenbank gespeichert sind (Danke, Mario)
- Clientinfo.ps1: Abfrage der Outlook Versionen innerhalb des gewählten Intervalls
- Rightsreport.ps1: Verweigern Berechtigungen werden ausgefiltert (Danke, Daniel)
- Mailreport.ps1: Anzahl und Volumen empfangener Mails bei mehr als einem Transportserver/dienst wird nicht angezeigt (Danke, Martin)
- Mailreport.ps1: Fehlerbehandlung verbessert
- Neues Modul
- KempReport.ps1: Unterstützung für Kemp Loadbalancer
Version 3.2:
- Bugfixes
- Erkennung Exchange Version verbessert
- Kemp Einstellungen in Settings.ini eingefügt
- Keine Daten bei mehreren AD-Domains
- Office365Report: Keine Sortierung der größten Postfächer (Danke Kaari)
- DGreport: Probleme bei Gruppen mit mehr als 1000 Mitgliedern behoben (Danke Marcel)
- MXreport: Probleme beim SMTP Verbindungstest (Danke Ajdin)
- RBLreport: In manchen Konfigurationen wurden nicht alle IPs geprüft (Danke Ajdin)
- CAreport: Fehlerbehandlung verbessert
- Exchange Reporter Temp Verzeichnis wird bei Start gelöscht
- DMARC und RBLReport verwenden gleiche Varibale „UseExchangeDefaultDomain“ behoben (Danke Mario)
- Neues Modul:
- SSLLabsReport.ps1: Prüft Webserver und Exchange externe URLs mittels Qualys SSL Labs Test
- POPconReport: Übersicht für Servolutions POPcon
- PRTGReport: Ruft die Sensoren der Server aus Paessler PRTG ab und bindet sie in den Report ein (Siehe Modul Doku)
- UTMReport: Extrahiert die AntiSPAM Übersicht der Sophos UTM Firewall aus den E-Mail Reports und bindet sie in den Exchange Report ein (Siehe Modul Doku)
- Neue Funktionen:
- UpdateReport: Zeigt neue Blogbeiträge von FrankysWeb innerhalb des Reportintervalls
Version 3.3
- Bugfixes:
- HPiLOreport.ps1
- Bugfixes und Fehlerbehandlung (Vielen Dank an Timbo)
- Link zum Download der HPE iLO PowerShell Module korrigiert
- UpdateReport.ps1
- Umstellung auf HTTPS
- UTF8 Encoding Problem behoben
- Clientinfo.ps1:
- Bugfix bei der Darstellung der ActiveSync Devices (Vielen Dank an Timbo)
- HPiLOreport.ps1
Version 3.4
- Neue Funktionen
- Unterstützung für Server 2016 (AD) und Exchange 2019
- Bugfixes
- Link in der Doku zu PSPKI korrigiert
- DBReport: Anzeige freier Speicherplatz in der Datenbank (Danke an Anton)
- MBXReport: Fehlermeldung bei Postfächern an denen sich nie angemeldet wurde korrigiert (Danke an Florian)
- UpdateReport: Fehler beim Suchen der Updates behoben, wenn Exchange Reporter auf einem Exchange Server ausgeführt wird
- UpdateReport: Verbindung zum Exchange Reporter Update Check erfordert nun mindestens TLS1.0
- DGReport: Fehlermeldung beim Ermitteln von Verteilerlisten behoben
- CAReport: Modul wird jetzt abgebrochen wenn das Modul PSPKI nicht gefunden wurde
- SSLLabsReport: Für die Verbindung zur SSLLabs API wird nun mindestens TLS1.0 vorausgesetzt
Version 3.5
- Neue Funktionen
- FTP Upload Funktion (Danke an Daniel)
- Bugfixes
- Rblreport: Blacklist bl.spamcannibal.org entfernt, da nicht mehr existent
- VmwareReport: PowerCli wird nun als Modul geladen (Dank an Steffen)
- SSLReport: Falsche Zeile wurde in bestimmten Fällen in den SSLReport eingefügt, da eine Variable doppelt verwendet wurde
- KempReport: Der KempReport wurde überarbeitet und funktioniert nun mit den aktuellen Loadmaster Versionen (getestet mit Version 7.2.46)
- Dokumentation angepasst
- Hinweise
- Es gab Änderungen an der settings.ini (FTP Upload), bitte die aktuelle Version anpassen und nutzen
Version 3.6
- Neues Modul
- ps1 – Liefert Statistiken zu NoSpamProxy
- Bugfixes
- ps1
- Wiederherstellungslaufwerk wird nicht mehr angezeigt
- Einheit wird angezeigt
- Warnung bei knappem Speicherplatz wird angezeigt
- Server wird nur noch einmal aufgelistet, wenn Exchange auf einem DC installiert wurde
- PowerShell Version angepasst
- Neues Exchange Logo eingefügt
- Diverse kleine Verbesserungen und Bugfixes
- ps1
- Das Modul „clientinfo.ps1“ wurde vorerst entfernt, da keine korrekten Daten ermittelt wurden
Version 3.7
- Bugfixes
- vmwarereport.ps1
- An neuere PowerCLI Version angepasst (Danke Steffen)
- careport.ps1
- Kleiner Bugfix beim prüfen den PSPKI Moduls (Danke Steffen)
- dmarcreport.ps1
- Neue Features (Danke an Timbo)
- rblreport.ps1
- Tote Blackliste bl.emailbasura.org entfernt (Danke an Andy)
- mbxreport.ps1
- kleiner Bugfix für die Mailbox Statistik (Danke an Thomas)
- nospamproxy.ps1
- Status der NSP Dienste wird angezeigt
- Lizenz Status wird angezeigt
- o265report.ps1
- Modul für das ExhangeOnline PowerShell Modul angepasst
- vmwarereport.ps1
Version 3.8 (Codename Leslie)
- Bugfixes
- updatereport.ps1
- Das Modul zeigte die falsche Version an. Vielen Dank an Leslie.
- rblreport.ps1
- Tote Blacklist dynip.rothen.com entfernt. Vielen Dank an Leslie.
- mailreport.ps1
- Rechtschreibfehler behoben. Vielen Dank an Leslie.
- updatereport.ps1
- Fehler bei Umlauten behoben / Fehler bei der Bennenung einer Variable behoben. Vielen Dank an Leslie.
- Ganze viele Rechtschreibfehler behoben. Vielen Dank an Leslie.
- Include_Functionsps1
- Titel der Diagramme wurden nicht immer korrekt angezeigt. Vielen Dank an Leslie.
- updatereport.ps1
Version 3.11
- Bugfixes
- Health Checker Bericht wird nun korrekt dargestellt
- Fehlerbehandlung im AD Bericht verbessert
- Neues Modul:
- Exchange Mitigations: Zeigt angewendete EM Regeln und den Status
Bekannte Bugs
- Derzeit keine Bugs bekannt
Bug melden:
Download
Download via GitHub:
Es kostet viel Freizeit “Exchange Reporter” weiterzuentwickeln. Wenn Sie mich unterstützen möchten, dann machen Sie Verbesserungsvorschläge oder Wünsche zu neuen Funktionen. Sie können auch einen kleinen Betrag spenden. Ich freue mich über jegliche Art der Unterstützung.
Hi,
hat jemand zufällig kürzlich den Exchange Reporter in den Exchange Monitor integriert. Laut Handbuch soll es ja gehen, leider funktioniert das nicht. Es sieht so aus, als wäre die Funktion entfernt worden. In der Settings.ini sind die Einträge nicht mehr vorhanden. Wenn ich Sie händisch hinzufüge funktioniert das nicht. Ich kann auch keine Integration in den Scripten finden.
Gruß
Hi,
bei mir funktioniert die Abfrage der EMS Version nicht. Beim Ausführen der Zeile
„$emsversion = Get-ExchangeVersionByRegistry“
erhalte ich den Fehler, dass Get-ExchangeVersionByRegistry nciht existiert
Gruß Pascal
Moin,
ich beziehe mich auf meinen Kommentar vom 7. Februar 2018 um 17:24 Uhr. Konkret auf den Wunsch:
– Öffentliche Ordner Statistiken zeigen zu PFs statt der DB nur das Primäre Postfach …
Ich bin endlich dazu gekommen mir das anzuschauen. Grundsätzlich ist alles da, ein Tippfehler verhindert jedoch, dass es funktioniert.
pfreport.ps1 Zeile 71: statt $pdid = $pf.EntryId soll dort sicherlich stehen $pfid = $pf.EntryId
Damit funktioniert dann auch die Zuweisung in der nächsten Zeile und der Report enthält die korrekten PF Postfächer.
LG
Timbo
Danke für den Hinweis. Jetzt passt es. Danke an Frank für das tolle Script.
Hallo zusammen, gigantisches Tool! Einfach Super um den Überblick zu behalten. Leider habe ich mit denn ILO Part das Zertifikat Problem…
—-
HPiLOreport.ps1
Ausnahme beim Aufrufen von „Load“ mit 1 Argument(en): „Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden..“
—
Stehe da leider etwas auf dem Schlauch, der Versuch den Aufruf mit dem Parameter ‚ -DisableCertificateAuthentication ‚ zu ergänzen läuft leider auch ins leere.
Wir haben das Tool seit gestern und haben uns schonmal unsere Berichte zusammen gestellt und ausgeführt.
Soweit funzt auch alles, doch bei der Anzahl der Mails (eingehend, ausgehend und Volumen eingehen und ausgehend) steht immer 0
Ansonsten haben wir aktuell noch folgende Module laufen
dagreport
dbreport
dgreport
easreport
mbxreport
spacereport
LicenceReport
und alle bringen vernüftige und plausible Werte
Wir haben Exchange 2019 CU13 im Einsatz und den Exchange Reporter 3.12
Im Errorlog, steht nur start und stop des Programms
Grüße
Lars
Hallo!
Ich bin aktuell dabei den Exchange Reporter in der Version 3.12 unter Exchange Server 2019 CU13 mit aktivierter Extended Protection zu testen. Leider kommt es beim Ausführen des Moduls Addresslistreport.ps1 zu nachfolgendem Fehler:
Das Argument für den Parameter „RecipientPreviewFilter“ kann nicht überprüft werden. Das Argument ist NULL oder leer. Geben Sie ein Argument an, das nicht NULL oder leer ist, und führen Sie den Befehl erneut aus
Die nachfolgenden Module werden dann auch nicht weiter ausgeführt.
Ist das Problem bereits bekannt?
VG, Maik
Hallo Zusammen,
ich nutze schon einige Zeit den Reporter, und wollte mir hier auch auf jeden Fall nochmal dafür bedanken. Nun habe ich eine Frage bezüglich der Berechtigungen für den Account mit dem der geplante Task ausgeführt wird. Welche Berechtigungen werden benötigt damit er den Report erfolgreich erstellen kann. Hatte ihm damals unterschiedliche Rechte vom Exchange gegeben, aber ohne Erfolg. Hinterher mit Domänen-Admin Rechten hat es funktioniert, was ich aber nur sehr ungern so lassen würde.
Vielleicht kann mir da jemand weiterhelfen.
Mit freundlichen Grüßen
Henrik Klemp
Hat jemand ne Idee, wie man den ExchangeReporter im Kontext eines gMSA laufen lassen kann?
Würde mich ebenfalls intressieren.. eingestellt habe ich es über Powershell (den Benutzer hinterlegt), aber seitdem läuft das Skript ohne ersichtlichen Fortschritt.. :(
Normalerweise läuft das Skript ca. 30 Minuten.. nun schon seit 2 Stunden
Ok wird wohl nicht funktionieren da diese nicht dafür ausgelegt sind:
https://stackoverflow.com/questions/60095918/remote-powershell-connection-to-exchange-using-a-managed-service-account
Habe nun alternativ einen dedizierten Benutzer angelegt, dieser ist Mitglied der „Protected User“ Gruppe, darf nicht delegiert werden und hat ein starkes Kennwort (50 Zeichen). Welches regelmäßig geändert werden muss..
Nicht schön, aber selten ..
Hallo,
funktioniert der Exchange Report auch nur mit Office365.
LG Derjan
Gibt es die Möglichkeit, das Script auch als System-User laufen zu lassen über die Aufgabenplanung?
Hallo Frank,
der DAG Report liefert leider falsche Ergebnisse. Bei dem Status „Healthy“ gibt er aktuell Error aus. Liegt wohl an folgender Funktion aus dem dagreport.ps1:
#Index Status
$indexstates = $dbstates
$dbindexstate = „OK“
foreach ($state in $indexstates)
{
$state = $state.ContentIndexState
if ($state -match „NotApplicable“)
{
$dbindexstate = „Not Applicable“
}
elseif ($state -match „Healthy“)
{
$dbindexstate = „Error“
}
}
Ich habe die Funktion mal ein wenig angepasst -> so Funktioniert es bei uns:
#Index Status
$indexstates = $dbstates
$dbindexstate = „OK“
foreach ($state in $indexstates)
{
$state = $state.ContentIndexState
if ($state -match „NotApplicable“)
{
$dbindexstate = „Not Applicable“
}
elseif ($state -match „Healthy“)
{
$dbindexstate = „Healthy“
}
elseif ($state -match „Failed“)
{
$dbindexstate = „Failed“
}
elseif ($state -match „FailedAndSuspended“)
{
$dbindexstate = „Failed And Suspended“
}
elseif ($state -match „Crawling“)
{
$dbindexstate = „Crawling“
}
}
Gruß Pascal
v.3.12 – vergessen dazu zuschreiben
Hallo Frank,
sollte das Script grunsätzlich auch mit Exchange 2019 unter Server-Core funktionieren, oder sind da umfangreichere Anpassungen erforderlich?
Bei mir klappte das so stante pede erst einmal nicht.
Guten Abend Frank,
ich habe einen Exchange Online und erhalte beim Start des Skriptes in der PS den Fehler „Loading global variables: Error“
Im Error Log findet sich folgender Eintrag:
„Die Benennung „Set-ADServerSettings“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.“
Hast du eventuell einen Lösungsansatz für mich?
Kannst vergessen, hab versucht das manuell zu fixen indem ich die Befehle im Skript auskommentiert habe, allerdings kommen dann weitere Fehler, das Skript kann nicht mal das Modul „o365report.ps1“ finden/laden bei manueller Ausführung in der PowerShell. Darüber hinaus kann der Exchange Reporter nur die Authentifizierung via Username/Password ohne MFA in der Cloud, nicht empfehlenswert. Eine Option zur Authentifizierung via Zertifikat wie von MS empfohlen bietet das Skript nicht. Alles in allem nicht brauchbar für eine Exchange Online Umgebung.
Guten Morgen in die Runde,
erst einmal vielen Dank an dich Frank für dein Tool :)
Leider tritt bei uns seit kurzer Zeit der Fehler auf, dass die Aufgabe sich nicht beendet und somit auch keine E-Mail, wie früher, an die entsprechende Adresse gesendet wird. Die Aufgabe wir durch den Manager ganz normal gestartet und wird auch durchgeführt, da im TEMP Ordner die ensprechenden Dateien abgelegt werden. Die Aufgabe wird dann aber nicht beendet. Wenn wir eine feste Zeit wie 2 Stunden hinterlegen steht in der Verlaufsanzeige Aktion abgeschlossen, Aufgabe abgeschlossen und Aufgabe beendet, aber wie gesagt kommt leider keine Mail an.
Habt ihr vielleicht eine Idee warum die E-Mail plötzlich nicht mehr verschickt wird und die Aufgabe sich nicht selbstständig beendet?
Guten Morgen Sascha,
starte doch das Skript einmal manuell. Dazu eine Powershell auf dem Server öffnen, in das Skript Verzeichnis wechseln und anschließend den selben Befehl wie in der geplanten Aufgabe ausführen. Wichtig, falls die geplante Aufgabe in Kontext eines anderen Benutzers läuft, die PowerShell in dessen Konext auch starten. So siehst du erst einmal, ob und was für ein Fehler auftritt.
Das Problem haben wir auch.
Das Script möchte immer am Ende ein Update durchführen und deshalb bleibt es im Aufgabenplaner hängen.
Wenn man das ganze manuell startet sagt er Update erfolgreich, aber beim nächsten Durchlauf möchte er wieder updaten :-(
Als Ergänzung, die Meldung lautet:
Working on Module ‚HealthChecker.ps1‘:
Bestätigung
Möchten Sie diese Aktion wirklich ausführen?
Ausführen des Vorgangs „Update script to latest version“ für das Ziel „HealthChecker.ps1“.
[J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten [?] Hilfe (Standard ist „J“):
Ja, der Healthcheck „stoppt“ scheinbar auch bei uns die eigentliche Ausführung (die Frage nach dem Update) – das Script läuft hier nicht weiter.
Der MS-Healthcheck bringt sehr oft ein Update. Hat man das Update durchgeführt, muss man die Powershell-Sitzung eigentlich neu starten, um ihn dann auszuführen.
Hier könnte der Hase begraben liegen.
Der Problematik würden wir uns anschließen wollen. Selbiges „Fehlerbild“ findet bei uns auch statt.
Ist hier evtl. ein Update/eine Anpassung in geraumer Zeit in Sicht?
Als Ergänzung, die Meldung lautet:
Working on Module ‚HealthChecker.ps1‘:
Bestätigung
Möchten Sie diese Aktion wirklich ausführen?
Ausführen des Vorgangs „Update script to latest version“ für das Ziel „HealthChecker.ps1“.
[J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten [?] Hilfe (Standard ist „J“):
Genialer Script…
Folgende Korrekturen:
Addsinfo.ps1:65
if ($schemaversion -eq „88“)
{
$schemaname = „Windows Server 2019/2022“
}
PRTGReport.ps1 hat auch ein paar Fehler.
Hier meine Version:
$PRTGreport = Generate-ReportHeader „PRTGReport.png“ „$l_prtg_header“
$PRTGsettingshash = $inifile[„PRTG-Report“]
$PRTGsettings = convert-hashtoobject $PRTGsettingshash
$prtgserver = ($PRTGsettings| Where-Object {$_.Setting -eq „PRTGServer“}).Value
$prtguser = ($PRTGsettings| Where-Object {$_.Setting -eq „PRTGUser“}).Value
$prtgpassword = ($PRTGsettings | Where-Object {$_.Setting -eq „PRTGPassword“}).Value
$serverlist = ($PRTGsettings | Where-Object {$_.Setting -match „Node“}).Value
$edate = $end | get-date -Format „yyyy-MM-dd-00-00-00“
$sdate = $start | get-date -Format „yyyy-MM-dd-00-00-00“
#$sensorlist = (invoke-webrequest -uri „$prtgserver/api/table.csv?content=sensors&columns=device,sensor,objid&username=$prtguser&passhash=$prtgpassword“).content | ConvertFrom-Csv
$devicelist = (invoke-webrequest -uri „$prtgserver/api/table.csv?content=devices&username=$prtguser&passhash=$prtgpassword&columns=device,objid“).content | ConvertFrom-Csv
$serverid = 1
foreach ($server in $serverlist)
{
$cells =““
#$PRTGreport += Generate-HTMLTable „$server“ $cells
$device = $devicelist | where {$_.gerät -match „$server“}
$serversensors = (invoke-webrequest -uri „$prtgserver/api/table.csv?id=$($device.id)&content=sensors&columns=device,sensor,objid&username=$prtguser&passhash=$prtgpassword“).content | ConvertFrom-Csv
foreach ($serversensor in $serversensors)
{
$sensorid = $serversensor.id
$sensorname = $serversensor.Sensor
$filename = „$tmpdir\“ + „PRTG_“ + „$serverid“ + „_“ + „$SensorID“ + „.png“
#$sensordata = (invoke-webrequest -uri „$prtgserver/api/historicdata.csv?id=$sensorid&avg=86400&sdate=$sdate&edate=$edate&username=$prtguser&passhash=$prtgpassword“).content | ConvertFrom-Csv | select -Property * -ExcludeProperty *RAW* | ConvertTo-Html -Fragment -PreContent „$sensorname“
#$PRTGreport += $sensordata
$sensordata = (invoke-webrequest -uri „$prtgserver/api/historicdata.csv?id=$sensorid&avg=86400&sdate=$sdate&edate=$edate&username=$prtguser&passhash=$prtgpassword“).content | ConvertFrom-Csv | select -Property * -ExcludeProperty *RAW*
$cells = $sensordata | Convertto-csv -NoTypeInformation | select -First 1
[array]$cells = $cells.Replace(„`““,““).split(„,“) #“
$PRTGreport += Generate-HTMLTable „$sensorname“ $cells
$cells = $sensordata | Convertto-csv -NoTypeInformation
$last = $cells.Length
$cells = $cells[1..$last]
foreach ($cell in $cells)
{
[array]$cell = $cell.Replace(„`““,““).split(„,“) #“
$PRTGreport += New-HTMLTableLine $cell
}
$img = (invoke-webrequest -uri „$prtgserver/chart.png?type=graph&id=$sensorid&avg=0&sdate=$sdate&edate=$edate&width=850&height=270&graphstyling=baseFontSize=’12’%20showLegend=’1’&graphid=-1&username=$prtguser&passhash=$prtgpassword“).content | Set-Content $filename -Encoding Byte
$PRTGreport += Include-HTMLInlinePictures „$filename“
}
$serverid++
$PRTGreport += End-HTMLTable
}
$PRTGreport | set-content „$tmpdir\PRTGreport.html“
$PRTGreport | add-content „$tmpdir\report.html“
## Comment SPAM Protection: Shield Security marked this comment as „Pending Moderation“. Grund: Menschlicher SPAM-Filter hat „, .“ in „comment_content“ gefunden ##
Hallo Frank,
nachdem ich das Skript in Version 3.1 das erste Mal mit unserer Exchange 2013 Umgebung genutzt habe, wollte ich die 3.10 jetzt in der aktuellen Umgebung (Ex2016) ans laufen bringen. Dazu möchte ich eine abgesetzte Maschine und nicht einen der 3 Exchangeserver benutzen (Auslastung).
Ich habe mir einen 2016-Server vorbereitet und die VMware-PowerCLI, .Net und die Exchange-Management-Tools installiert.
Allerdings bekomme ich in der Powershell beim händischen Durchlauf eine Menge Fehler angezeigt (z.B. Cannot process argument transformation on parameter ‚Identity‘.)
Wie ist denn die Vorgehensweise wenn ein abgesetzter Server verwendet werden soll?
Gruß Bernd
Habe es jetzt geschafft :-)
Mir haben die alten Exchange Server (2008 ohne DB) das Ergebnis verrissen.
Die wurden heute deinstalliert und jetzt klappt auch fast alles.
Der vmwarereport bringt noch den Fehler „Error loading PowerCli“.
Dabei wird die PowerCLI geladen (die Anzeige geht bis zum Copyright) aber dann geht etwas schief.
Hat dazu noch jemand eine Idee?
Gruß Bernd
Moin Alle zusammen,
Tja „wer lesen kann ist klar im Vorteil“ ;-)
Der Beitrag vom Markus vom 26.07.2019 war die Lösung für mein VMware-Problem.
Jetzt läuft alles.
Gruß Bernd
Hi Frank,
erstmal auch von mir vielen Dank für dieses tolle Script!!!!!!!
Nachdem ich es nun seit längerem im Einsatz habe, tritt bei mir leider ein Fehler auf. Lasse ich das Script durchlaufen bleibt es bei serverinfo.ps1 stehen und es passiert auch nichts mehr. Ich hab nun im Install Path alles bereinigt und die Scripte dort neu hineinkopiert und die RemoteWMI auch überall neu eingerichtet, leider ohne Erfolg. Im Error.log sieht man auch nur den Start vom Reporter, mehr nicht.
Hättest du noch eine Idee woran das liegen könnte?
Viele Grüße
Peter
Tolles Script, vielen Dank!
Ich habe nur das Problem, dass im Report keine Bilder angezeigt werden.
;)
ist noch niemandem aufgefallen, dass in der Settings.ini ein Tippfehler ist…?
unter [modules] 02=esareports.ps1 muß easreports.ps1 stehen… wenn man die inaktiven Actvesyncgeräte sehen möchte.
@Karsten Böhm
ah ne gibt den Eintrag für AS weiter unten…
Du hast den für die CISCO Geschichte damit gekillt.
Mfg
Wie sind hier eigentlich so die Laufzeiten?
Ich nutze auf einem DAG Cluster (2x EX2016) nur die Module:
01=mailreport.ps1
15=dbreport.ps1
16=dagreport.ps1
18=mbxreport.ps1
35=HealthChecker.ps1
+ PDF Generierung für die Mailnachricht.
Bei fast 3000 Postfächern und 26 Datenbanken, dauert das Skript gut 30 Minuten ausserhalb der Lastzeiten, und tagsüber 45-60 Minuten.
Hardwareseitig ist der Server sehr gut ausgestattet und auch die ganzen Optimierungsempfehlungen haben wir durch (zeigt ja auch der HealtChecker an).
Ist das „normal“?
@Michael
vollkommen normal. Trägt ja einiges an Infos bei dir zusammen.
Wenn du das mit klicken schneller hin bekommst… dann nur zu. ;-)
MfG
Bekomme den Reporter mit Office 365 überhaupt nicht zum Laufen. Einige Befehle aus den Skripten gibt es überhaupt nicht (mehr), nach Anpassung dieser (meistens solche, die mit Get-O365(…) beginnen), läuft das Skript zwar durch, wirft aber noch einige Fehler aus.
Im Errorlog finde ich nur:
—–
o365report.ps1
Ausnahme beim Aufrufen von „DataBindXY“ mit 2 Argument(en): „Der Wert darf nicht NULL sein.
Parametername: yValues“
—–
Hat jemand einen Tipp für mich, wie man das in einer O365 Umgebung (ohne lokalen Exchange) zum Laufen bekommt? Versuche das Skript bei mir auf dem Client auszuführen.
Hallo Philipp,
habe auch die Meldung im Errorlog. Hast Du schon eine Lösung gefunden?
Grüße, Marita
Wenn es keine lokale Exchange Installation gibt, kann der Wert für „OnlyUseOffice365“ in der settings.ini auf „ja“ gestellt werden, dann wird keine Exchange Management Shell benötigt.
Zusätzliche Module die die Exchange Management Shell erfordern können dann nicht mehr benutzt werden.
Hallo,
kann man das Modul vielleicht durch folgende Zeile beschleunigen?
Get-TransportService | Invoke-Command { Get-MessageTrackingLog … }
Gerade in großen Umgebungen sorgt das für einen massiven Geschwindigkeitsvorteil…
Hi Thomas,
gute Idee, ich werde es in der nächsten Version mit einbauen. Besten Dank für den Hinweis!
Beste Grüße,
Frank
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
Hallo
Ich habe mir gerade das Tool eingerichtet. Es Funktioniert Funktioniert grundsätzlich aber wen ich das Skript Ausführe ist alles Done bis er auf die einzelne Skripts zugreifen muss erhalte ich Fehlermeldung. Working on Module ‚mailreport.ps1:Error.
Danach wieder beim Sending Report:Done und die E-mail ist Leer.
Kann das mit Berechtigung zu tun haben oder wo ist hier das Problem?
Besten dank schon für die Hilfe
Gruss Vincenzo
Moin,
scheinbar gibt es in der Version 3.10 im Modules\HealtChecker.ps1 einen kleinen Fehler, die erzeugten XML-Dateien werden nur „HealthCheck-*.xml“ genannt und nicht „HealthCheckER-*.xml“. Somit werden die Dateien zwar angelegt aber nicht im Report inkludiert (es wird auch kein Fehler im Log erzeugt).
#Get HealthChecker XMLs
$HealthCheckerXMLs = Get-ChildItem „$tmpdir\HealthChecker-*.xml“ | foreach {$_.fullname}
Gruß
Karsten
Hallo zusammen,
ich habe mir grade das Tool installiert bzw. eingerichtet. Es funktioniert soweit alles bis auf die report.html Seite. Die Reports werden erstellt, jedoch werden keine Bilder (Grafiken) im HTML anzeigt. Auch wenn ich den Report als PDF generiere besteht das Problem.
Hat jemand eine Idee, was ich falsch mache?
Vielen Dank im Voraus
Mit freundlichen Grüßen
lebelflash
Hallo,
Vielen Dank für deine ganze Arbeit und dieses geniale Tool.
Bei dem Modul „Datenbank Übersicht“ bekommen wir falsche Meldungen, dass nur noch 1 GB Speicher frei sei und das letzte Backup 2 Monate her sei, obwohl wir täglich sichern.
Wo kann ich da schauen?
Beste Grüße
Hallo Zusammen,
ich habe ein noch nicht nachvollziehbares Problem. Wir führen den Report über einen Managment Server mit ExchangeShell aus (Exchange 2016)
Bei dem Modul mbxreports.ps1 erhalten wir einen Fehler :
Beim Senden von Daten für einen Remotebefehl ist folgender Fehler aufgetreten: Der WinRM-Client hat eine Anforderung
an den Remote-WS-Verwaltungsdienst gesendet und wurde benachrichtigt, dass die Anforderungsgröße die im Kontingent
„MaxEnvelopeSize“ konfigurierte maximale Größe überschritten hat. Weitere Informationen finden Sie im Hilfethema
Ich bekomme den Fehler reproduziert über den Befehl
$mailboxes = get-mailbox -ResultSize unlimited | Get-MailboxStatistics -ea 0 -wa 0
Wenn ich diesen Befehl auf dem Exchange direkt eingebe (Nicht Remote) erhalte ich diese Meldung nicht.
Ich habe bereits die MaxEnvelopeSizeKB angepasst über diesen Befehl:
Set-Item -Path WSMan:\localhost\MaxEnvelopeSizeKb -Value 8192
Das Problem besteht weiterhin.
Hallo Frank,
gibts eine Möglichkeit, um mal auszuwerten, welche Dateianhänge in welcher Anzahl etc. in der Datenbank vorhanden sind?
Hintergrund ist der, dass wir zwar schon sehr restriktiv am NoSpamProxy-GW filtern, jedoch das Ganze noch mehr, aus Sicherheitsgründen, einschränken möchten. Gibts da was?
Danke
Hi Fabian,
bist du damit damals weitergekommen? Wir stehen vor dem gleichen Punkt und würden das gerne auslesen.
Vielleicht hast du ja damals eine Lösung dafür gefunden.
LG
Thimo
Hallo Frank,
finden den Exchange Reporter extrem interessant und würde diesen gerne implementieren.
Das Thema Rechte der verschiedenen Modulen erschließt sich mir nicht und ich möchte nur die absolut nötigsten Rechte zuweisen (SICHERHEIT).
Können die jeweiligen Module um die Information Rechte ergänzt werden?
Kann der o365 Part mit OATH und MFA kombiniert werden?
Danke und Grüße
E.
Bei uns läuft die 3.8 ebenfalls super… Per geplantem Task bekomme ich morgentlich eine Info.
Ich freu mich schon auf das angekündigte Feature, das Mail Volumen in Intern/Extern aufgeteilt zu sehen.
Wir haben extrem viel Mails und da würde es mich stark interessieren, wieviel davon wirklich nach Extern geht… Viel wird ja heute in CC/BCC an einen Riesenverteiler geschickt ;-)
Vielleicht wäre das auch eine Vorlage, ein oder zwei weitere Exchangeserver einzuplanen, bei deutlich steigendem Volumen….
Vielen Dank schon mal
Moin,
erstmal vielen Dank für das Tool.
Ich versuche es seit gestern zum Laufen zu kriegen, allerdings laufen sich einige Module wie mailreport, rightsreport und pfreport gefühlt tot. Ich kommentiere eines nach dem anderen aus, damit es überhaupt mal durchläuft. Bisher leider immer noch ohne Erfolg, weil ich nicht weiß, ob er noch lebt oder sich dann doch wieder aufgehangen hat.
Gestern habe ich zudem noch folgenden Eintrag im Log gesehen:
Das Modul „bin“ konnte nicht geladen werden. Wenn Sie weitere Informationen wünschen, führen Sie „Import-Module bin“ aus.
Mich würde einmal interessieren, wie lange so ein Durchlauf normalerweise dauern sollte mit ca. 250 Postfächern, wobei einige leider sehr groß (bis zu 50GB) sind.
bei uns brauch der geplante Task für 400 Postfächer mit 750GB Daten ca. 9 Minuten
Hi,
ich habe den Fehler beim Laden der PowerCLI.
Nach dem manuellen Ausführen dieses Scripts:
C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Scripts\Initalize-PowerCLIEnvironment.ps1
habe ich folgendes Ergebnis:
PS C:\Users\Administrator.xxxx> Get-Module -ListAvailable VM*
Verzeichnis: C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules
ModuleType Version Name
———- ——- —-
Binary 6.0.0.0 VMware.DeployAutomation
Binary 6.0.0.0 VMware.ImageBuilder
Binary 6.5.0.4… VMware.VimAutomation.Ci
Binary 6.5.0.4… VMware.VimAutomation.Cl
Manifest 6.5.0.4… VMware.VimAutomation.Co
Binary 6.5.0.2… VMware.VimAutomation.Co
Binary 6.0.0.0 VMware.VimAutomation.HA
Binary 7.0.2.4… VMware.VimAutomation.Ho
Binary 6.5.0.4… VMware.VimAutomation.Li
Binary 6.5.0.4… VMware.VimAutomation.PC
Manifest 6.5.0.4… VMware.VimAutomation.Sd
Binary 6.5.0.4… VMware.VimAutomation.St
Binary 6.5.0.4… VMware.VimAutomation.Vd
Binary 6.5.0.4… VMware.VimAutomation.vR
Binary 6.0.0.0 VMware.VumAutomation
Also wäre doch die PowerCLI geladen, oder ? Woher kommt der Fehler und wie bekomme ich diesen weg?
Danke,
Ingo
Hallo,
bin auch grad bei der Installation bei. Leider bekomme ich folgende Fehlermeldung:
„The module ‚bin‘ could not be loaded. For more information, run ‚Import-Module bin‘.“
Scheint derselbe Fehler wie be Richard zu sein.
Gruß
Carsten
Hallo,
klasse Script!
Leider lädt es bei mir offensichtlich die INCLUDES nicht, oder nicht ordnungsgemäß. Es taucht beim manuellen Start allerdings keine Fehlermeldung auf, aber die Mail- und Serverstatistiken weisen keine Werte aus.
Beste Grüße
Uebuec
Hallo,
danke für den tollen Report – läuft soweit super.
AKtuell habe ich mit der PDF ERstellung noch Probleme – aber diese bekomme ich sicher noch gelöst…
Was ich klasse für weitere Entwicklung fände, wäre die Erweiterung der Emailstatistik (gesendete/empfangene Mails)
Für uns wäre es z.B. sehr interessant zu unterscheiden, was nach extern gesendet / von extern empfangen wurde.
Wir haben diverse System-Mails die am Tag sicher allein schon 10% des Volumens ausmachen – das verfälscht das Bild ein wenig.
Extern würde für mich z.B. bedeuten:
Alles was nicht unter „Mail Flow >> Accepted Domains“ steht ist EXTERN…
Hallo,
Super Report.
Seit den Mai 2020 Updates sind die Statistiken leer, ist dazu was bekannt oder bei mir ein Einzelschicksal?
Danke
Erik
Hallo Frank und Gemeinde!
Erst mal Danke für ein so geniales Tool!
Aber ich hätte da mal eine Frage…
Ist es möglich den Mailreport auf User einer OU zu begrenzen?
Hintergrund ist, dass wir mehrere Standorte haben, die alle auf ein Exchange-Cluster zugreifen und hier eine etwas differenziertere Auswertung der Gesendet/Empfangen Mail pro Standort vom Management gewünscht ist.
Ich könnte das ja zwar mit mehreren settings und darin exclusions regeln, denke ich, aber bei insgesamt 1000 Postfächern an 12 Standorten ist das ja äußerst Mühselig, da ja auch ein wenig Fluktuation besteht.
Viele Grüße
Axel
Hallo Axel,
das Filtern anhand einer OU ist aktuell nicht möglich. Ich habe derzeit auch keine Pläne diese Funktion einzubauen. Wenn du magst kannst du aber die relevanten Module entsprechend anpassen.
Gruß,
Frank
Hallo,
hat schon jemand das Script HPiLOreport.ps1 auf die HPEiLOCmdlets v2.2.0.0 angepasst und zum Laufen bekommen?
Die entsprechenden Befehle habe ich umgeschrieben und auch das schrittweise Ausführen in der Konsole funktioniert super.
Wenn ich dann New-ExchangeReport.ps1 ausführe erhalte ich den Fehler:
HPiLOreport.ps1
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
und der Abschnitt erscheint nicht im Report.
@Frank: Kann das Logging beeinflusst werden, um den Fehler besser einkreisen zu können?
Viele Grüße
Peter
Gefällt mir gut.
Kleiner Verbessungsvorschläge wären noch
– Im easreport.ps1 die Anzahl Tage über die settings.ini zu steuern.
– Temp Verzeichnisname in der settings.ini festhalten. Ich habe mir mehrere Scheduled Tasks für verschiedene Reports aufgebaut (wöchentlich, monatlich, on Demand). Diese dürfen mit der aktuellen Konfig nicht zugleich laufen. Mit verschiedenen Temp Verzeichnissen würde das aber gehen.
Ich habe für PRTG noch das selbst signierte Zertifikat. Um über invoke-webrequest die Verbindung aufbauen zu können, habe ich folgend Code am Anfang in die PRTGReport.ps1 eingefügt:
add-type @“
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
„@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3, [Net.SecurityProtocolType]::Tls, [Net.SecurityProtocolType]::Tls11, [Net.SecurityProtocolType]::Tls12
Die Verbindung kann jetzt hergestellt werden. Leider bleibt der Report leer. Muss an PRTG noch etwas eingestellt werden? Wenn ich den WebRequest direkt im Browser aufrufe, dann bekomme ich auch eine CSV Datei mit den Daten des Sensors.
https://prtgServer:9443/api/historicdata.csv?id=TSEXCH-01&avg=86400&sdate=2019-11-01-00-00-00&edate=2019-11-28-00-00-00&username=myUser&password=myPass
Jedoch nicht, wenn ich den Server (nicht den exakten Sensor) aufrufe. Dann kommt, dass die Seite nicht gefunden werden kann.
Hat da jemand eine Idee?
Hallo Frank,
wir haben bei unserem Office365 Tenant die Anmeldung per MFA und App-Kennwörtern aktiviert.
Vermutlich deshalb haben wir leider mit den Office365 Report Probleme. Mit dem Account-Kennwort scheitert die Anmeldung und mit dem App-Kennwort macht er zwar einige Zeit etwas, es wird aber keine Report-Datei erstellt.
Hast du (oder evtl. auch jemand anders) schon am laufen bzw. mal ausprobiert?
Viel Grüße
Roland
Moin,
ich bekomme folgende Fehlermeldungen:
-Start– 08/19/2019 16:03:59 ———————————————————————————-
addsinfo.ps1
Der RPC-Server ist nicht verfügbar
PSPKI PowerShell Module not found: Please read Exchange Reportter manual
-End— 08/19/2019 16:13:52 ———————————————————————————-
Wer kann helfen?
PSPKI habe ich nun selbst behoben bekommen. Wer kann beim RPC-Server helfen?
Wie hast du den PSPKI Fehler behoben?
@Oliver Kretschmer
Das würde mich auch interessieren. Danke
Hi Frank und Gemeinde ;)
der Reporter lief schon mal, aber plötzlich (?) nicht mehr…
sowohl als Aufgabe als auch interaktiv in elevated ISE mit execution Policy Unrestricted kommt:
Checking for Powershell Version 4.0:OK
Loading functions from Include-Functions.ps1:Error (not found)
ein manueller „test-path“ bringt aber „true“…
Was kann ich da mal versuchen ?
Vielleicht damit zusammenhängend:
Ein purgen der Log Dateien (bekanntes Script aus dem MS Blog) wird auch nicht mehr ausgeführt (Permission dnied)
Wäre toll, wenn da jemand Infos hätte.
Wir nutzen Ex16CU13 auf voll gepatchten Systemen.
Danke !
Rossi
Ein wenig LIcht ist im Dunkel…
wenn wir die Parameter Installpath und Configfile direkt am Anfang definieren läuft das Script durch …
Param(
[Parameter(Mandatory=$false)][string]$Installpath = $PSScriptRoot,
[Parameter(Mandatory=$false)][string]$ExchangeVersion,
[Parameter(Mandatory=$false)][string]$ConfigFile = „settings.ini“
)
$Installpath=“C:\Software\ExchangeReporter“
$ConfigFile=“settings.ini“
Hi,
bei mir hatte der Script auch wunderbar funktioniert aber seit 2 Tagen bekomme ich den selben Fehler:
Checking for Powershell Version 4.0:OK
Loading functions from Include-Functions.ps1:Error (not found)
Kann mir einer helfen?
Danke
Hallo,
mit dem neuen Exchnage 2016 CU 13 funktioniert wohl die Versionsermittlung von Exchange nicht mehr richtig. Seit dem Update liefert der Report das Ergebnis Error „(Wrong EMS Version)“.
Die Funktion Get-ExchangeVersionByRegistry liefert jetzt „Version 15.1 (Build 1779.2)“ und das verwirrt das Script. Könntest Du das mal bitte prüfen?
Vielen Danke
Katja
Hallo,
mein Fehler, hatte auf dem Managementserver das CU 13 vergessen. Mit läuft bei mir alles wieder normal :)
Grüße
Hi,
Zuerst einmal: großartige Arbeit! Danke, dass Du Dein wissen so großzügig teilst!
Nun genug geschleimt… :)
Wenn man die PowerCLI Version 6.5 nutzen möchte, muss man die vmwarereport.ps1 etwas anpassen.
Der Teil
„$loadpowercli = Get-PSSnapin -Registered -Name vm*
if ($loadpowercli)
{
$loadpowercli = Get-PSSnapin -Registered -Name vm* | Add-PSSnapin
}“
funktioniert so nicht mehr mit PowerCLI 6.5.
Das folgende funktioniert mit dieser Version dann wieder:
„$loadpowercli = Get-Module -name VMware.VimAutomation.Core -ListAvailable -ErrorAction Ignore
if ($loadpowercli)
{
$loadpowercli = import-module VMware.VimAutomation.Core
}“
Viele Grüße
Markus
Lieber Frank
Der Reporter ist der Hammer, vielen Dank für deine Bemühungen!
Leider funktioniert bei mir der Teil mit dem Kemp Loadbalancer nicht. Wenn ich manuelle Abfragen über Powershell mache, funktioniert es. Auch im Reporter zeigt er mir „done“ an und im Errorlog habe ich keine Einträge.
Nichtsdestotrotz ist im Reporter der Bereich unter „Kemp Loadmaster Overview“ sehr leer.
Woran kann das liegen?
Ich habe Exchange 2016 mit DAG in Betrieb, einen Loadbalancer mit V 7.2.43.0….
Wenn du oder jemand mir einen Hinweis hat, wäre ich sehr dankbar.
Liebe Grüsse
pineapple
Hi,
die VMware Cli sollte so eingebunden werden – sind keine Plugins mehr, sondern Module:
$loadpowercli = Get-Module –ListAvailable VM*
if ($loadpowercli)
{
$loadpowercli = Get-Module –ListAvailable VM* | Import-Module
}
else
{
…
Gruß
Hallo
erstmal vielen Dank für das super Tool.
Ich habe allerdings ein Problem mit dem o365report.ps1 Modul.
Folgender Fehler erscheint nach ca. 2 Stunden_
-Start– 06/28/2019 15:27:17 ———————————————————————————-
o365report.ps1
Ausnahme beim Aufrufen von „DataBindXY“ mit 2 Argument(en): „Der Wert darf nicht NULL sein.
Parametername: yValues“
-End— 06/28/2019 17:17:16 ———————————————————————————-
Kann mir vielleicht jemand helfen?
Vielen Dank
Michael
Hallo Michael, konntest Du das lösen? Ich habe auch diese Meldung. Grüße Marita
Hallo Frank,
nach wie vor vielen Dank für die großartige Arbeit! :-)
Was würdest du denn davon halten den Exchange Reporter in einem git-Repository zu veröffentlichen?
Dann könnten alle Interessierten gemeinsam daran arbeiten – seien es nun reine Verbesserungen oder Korrekturen am Script oder neue Module, die man direkt dort einbringen könnte. Nur eine Idee von mir und meinem Kollegen :-)
Viele Grüße,
Uwe
Großartige Idee! :)
@Robert: Hab dbreport.ps1 und um eine Spalte erweitert, Freier Speicher in der Datenbank.
language\de\dbreport.ps1
$l_db_header = „Exchange Datenbanken“
$l_db_dbname = „Name“
$l_db_servername = „Server“
$l_db_size = „Größe“
$l_db_overview = „Datenbank Übersicht“
$l_db_FreeSpace = „Freier Speicher“
$l_db_mbxcount = „Anzahl Postfächer“
$l_db_lastbackup = „Letzte Vollsicherung“
$l_db_dbcount = „Anzahl Datenbanken“
$l_db_overalldbsize = „Gesamtgröße Datenbanken“
$l_db_overallmbxcount = „Gesamt Anzahl Postfächer“
$l_db_summary = „Zusammenfassung Datenbanken“
$l_db_size = „Größe“
modules\dbreport.ps1
$dbreport = Generate-ReportHeader „dbreport.png“ „$l_db_header“
$cells=@(„$l_db_dbname“,“$l_db_servername“,“$l_db_size“,“$l_db_FreeSpace“,“$l_db_mbxcount“,“$l_db_lastbackup“)
$dbreport += Generate-HTMLTable „$l_db_overview“ $cells
$databases = get-mailboxdatabase -status | sort
$currentDate = Get-Date
foreach ($database in $databases)
{
$dbname = $database.name
$dbserver = $database.server
$dbsize = $database.DatabaseSize
$dbFreeSpace = $database.AvailableNewMailboxSpace
$pf = (Get-MailboxDatabase „$database“ | get-mailbox -ResultSize Unlimited).count
$lastbackup = $database.LastFullBackup
if ($lastbackup)
{
#Angepasster Aufruf
if (($lastbackup – $currentDate).Days -eq 0)
{
$lastbackup = „“ + (get-date $lastbackup -UFormat „%d.%m.%Y %R“) + „“
}
elseif (($lastbackup – $currentDate).Days -ge -1)
{
$lastbackup = „“ + (get-date $lastbackup -UFormat „%d.%m.%Y %R“) + „“
}
else
{
$lastbackup = „“ + (get-date $lastbackup -UFormat „%d.%m.%Y %R“) + „“
}
}
else
{
$lastbackup = „Nie“
}
$cells=@(„$dbname“,“$dbserver“,“$dbsize“,“$dbFreeSpace“,“$pf“,“$lastbackup“)
$dbreport += New-HTMLTableLine $cells
$dbsizeges = $dbsizeges + $database.databasesize
$gespf = $gespf + $pf
$dbsizegb=[double]$dbsize/1024/1024/1024
$dbvalues += @{$dbname=$dbsizegb}
}
$dbreport += End-HTMLTable
$cells=@(„$l_db_dbcount“,“$l_db_overalldbsize“,“$l_db_overallmbxcount“)
$dbreport += Generate-HTMLTable „$l_db_summary“ $cells
$anzdb = $databases.count
$cells=@(„$anzdb“,“$dbsizeges“,“$gespf“)
$dbreport += New-HTMLTableLine $cells
$dbreport += End-HTMLTable
new-cylinderchart 500 400 Datenbanken Name $l_db_size $dbvalues „$tmpdir\dbstat.png“
$dbreport += Include-HTMLInlinePictures „$tmpdir\dbstat.png“
$dbreport | set-content „$tmpdir\dbreport.html“
$dbreport | add-content „$tmpdir\report.html“
LG
Toni
Hallo Frank,
ich wollte Dir erst einmal ein großes Kompliment für Deine Arbeit machen. Bei den genutzten Reports hatte ich nur Probleme mit dem „mbxreport“ Modul. Wie auch schon bei einigen anderen hier taucht im Error Log nur der vielsagende Eintrag
-Start– 05/23/2019 14:19:09 ———————————————————————————-
mbxreport.ps1
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
-End— 05/23/2019 14:25:27 ———————————————————————————-
auf. Ich konnte das Problem, bei mir, auf folgende Zeile in dem Verarbeitungsblock für die Variable $mbxlimits eingrenzen:
$mbxsize = (Get-MailboxStatistics $mailbox -wa 0).TotalItemSize.Value.toMB()
Diese Variable ist bei einigen Usern nicht vorhanden und damit leer. Somit funktioniert die Umrechnung nicht. Auf der Konsole erhält man folgende Warnung (wenn man sich die anzeigen lässt):
WARNUNG: Der Benutzer hat sich nicht beim Postfach ‚xyz‘ (‚xyz‘) angemeldet, sodass keine zurückzugebenden Daten vorhanden sind. Nach erfolgter
Anmeldung wird diese Warnung nicht mehr angezeigt.
Der Grund dafür ist, das die User nie ihre Arbeitsstelle bei uns angetreten haben.
Ich habe das Problem folgendermaßen umgangen:
$temp = (Get-MailboxStatistics $mailbox -wa 0)
if (!$temp)
{
$mbxsize = „-1“
}
else
{
$mbxsize = $temp.TotalItemSize.Value.toMB()
}
Ob es eine elegantere Lösung gibt, weiß ich nicht.
Nebenbei ist mir auch aufgefallen, das in der Zeile
$logonstats = get-mailbox -resultsize unlimited | get-mailboxstatistics | select displayname,database,totalitemsize,LastLoggedOnUserAccount,lastlogontime | where {$_.lastlogontime -lt ((get-date).adddays(-120))} | sort lastlogontime
die Warnungen für „get-mailboxstatistics“ nicht abgeschaltet ist, gegenüber all den anderen Abfragen.
Viele Grüße
Florian
Top Script, läuft auf Exchange 2016 DAG ohne Probleme
Hallo,
der Exchange Reporter funktioniert bei mir Problemlos mit Exchange 2013. Es steht eine Migration auf Exchange 2019 an, sollte der Reporter weiterhin funktionieren oder sind noch Anpassungen notwendig?
Hat’s eventuell jemand schon unter Exchange 2019 am laufen?
Danke. Schöne Grüße aus Österreich.
Florian
Der Kemp Report läuft bei mir leider nicht. Zwar liefert die Version 15367 2017-06-12 des PowerShell API Wrapper Ergebnisse, diese sind allerdings gewürfelt. Die aktuelle Version 16967 2018-12-20 funktioniert gar nicht. Die Loadbalancer sind auf dem neuesten Stand 7.2.45. Kann mir jemand sagen mit welcher Version der Reporter 3.3 funktioniert und wo ich die her bekommen? Oder was ich sonst tun kann?
Danke im Voraus!
Hallo,
bekomme beim O365 Report den Fehler:
o365report.ps1
Das Element wurde bereits hinzugefügt. Schlüssel im Wörterbuch: „06.11.18“. Hinzuzufügender Schlüssel: „06.11.18“.
Irgendeine Idee`?
Vielen Dank Thomas
Hallo,
ich habe hier noch einen SBS 2011 Standard mit Exchange 2010 am laufen und das muß auch noch zwei Jahre lang so bleiben.
Ich finde deine Scripts ja echt klasse, nur ich kann sie bishernicht Nutzen da sie PowerShell 4.0 Voraussetzen und das ja nicht auf dem SBS 2011 installiert werden sollte.
Gibt es eine Möglichkeit die PowerShell 4 auf dem SBS 2011 zu Installieren ohne das man ihn abschießt?
Oder bekommt man deine Scripts auch irgendwie mit der PowerShell 2 zum laufen?
Gruß
Oliver
Hallöchen,
aus mir noch nicht erklärbaren Gründen funktioniert bei mir der Exchange Reporter auch nicht mehr. Bekomme immer die Meldung:
Checking for Powershell Version 4.0:OK
Loading functions from Include-Functions.ps1:Error (not found)
Kann mir jemand helfen?
Gruß Thorsten
@ Klönner,
hast du die VMware Power CLI installiert?
Wenn Nein:
In der Powershell (mit Administrator Rechte) die VMware Power CLI installieren.
Siehe hier: https://blogs.vmware.com/PowerCLI/2017/04/powercli-install-process-powershell-gallery.html
Das Script vmwarereport.ps1 muss dann ebenfalls noch angepasst werden, da die VMware Power CLI nicht als Snap-In geladen wird sondern mit der „Import“ Funktion.
Zeile15 = ersetzen mit $loadpowercli = Import-Module VMware.PowerCLI
Zeile18 = ersetzen mit $loadpowercli = Get-Module -Name vm*
Damit wird die VMware Power CLI schon mal geladen.
Die Befehle haben sich aber auch noch etwas geändert, so das ich folgende Zeilen ersetzen musste:
Zeile 38 = ersetzen mit $vm = (Get-VM $server | Select Name, HardwareVersion, VMHost, MemoryGB, NumCPU, PowerState)
Zeile 56 = ersetzen mit $vm = (get-vm $server | Select Name, Version, VMHost, MemoryGB, NumCPU, PowerState)
Zeile 64 = ersetzen mit $vmdatastores = (Get-Datastore -vm $server | select Name, Type, CapacityGB, FreeSpaceGB)
Damit würde es theoretisch funktionieren, in der Praxis gibt es aber noch einen Fehler „Fehler beim Lader von PowerCLI“, hatte bisher aber noch nicht die Zeit diesen Fehler ebenfalls zu beheben.
Vielleicht gibt es ja noch jemanden der hier weiterhelfen kann.
Hallo,
bekomme folgende Fehlermeldung beim Starten von „vmwarereport.ps1“
PS U:\> $loadpowercli = Get-PSSnapin -Registered -Name vm*
Get-PSSnapin : No Windows PowerShell snap-ins matching the pattern ‚vm*‘ were found. Check the pattern and then try
the command again.
At line:1 char:17
+ $loadpowercli = Get-PSSnapin -Registered -Name vm*
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (vm*:String) [Get-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : NoPSSnapInsFound,Microsoft.PowerShell.Commands.GetPSSnapinCommand
kann mir einer mitteilen was da falsch läuft.
Vielen Dank
Its been a while. I am back with a new job. Wanted to Say Hello and thanks for your Work Frank
@ Timbo
Habe die Änderungen von dir in die clientinfo.ps1 eingefügt und getestet.
Es funktioniert, bekomme jetzt die korrekte Anzahl der Clients angezeigt.
Vielen dank, und weiter so.
Moin,
@Robert: kann alles was du beschreibst nachvollziehen / bestätigen.
Hier meine Anpassung an der clientinfo.ps1:
####zusätzliche Funktion im oberen Teil:
Function Filter-Mapi2016Data
{
Param($FullFilePath)
If (Test-Path $FullFilePath)
{
$Results = @(Get-Content -path $FullFilePath | ConvertFrom-Csv | ? { $_.“ClientSoftware“ -eq ‚OUTLOOK.EXE‘ } | Select @{Name=’client-software‘;Expression={($_.“ClientSoftware“)}},@{Name=’client-software-version‘;Expression={($_.“ClientSoftwareVersion“)}},@{Name=’client-name‘;Expression={($_.“AuthenticatedUserEmail“)}} -Unique)
Return $Results
}
}
##Meine letzte Anpassung ändern ($MAPIServers) und um eine weitere Zeile ($MAPIServers2016) erweitern.
$MAPIServers = @(Get-ExchangeServer | where {(($_.IsMailboxServer -eq ‚$true‘) -and (($_.AdminDisplayVersion).Major -eq ’15‘) -and (($_.AdminDisplayVersion).Minor -eq ‚0‘)) } | Select Name,@{Name=’Path‘;Expression={(„\\$($_.fqdn)\“ + „$($_.Datapath)“).Replace(‚:‘,’$‘).Replace(„Mailbox“,“Logging\MAPI Client Access“)}} )
$MAPIServers2016 = @(Get-ExchangeServer | where {(($_.IsMailboxServer -eq ‚$true‘) -and (($_.AdminDisplayVersion).Major -eq ’15‘) -and (($_.AdminDisplayVersion).Minor -eq ‚1‘)) } | Select Name,@{Name=’Path‘;Expression={(„\\$($_.fqdn)\“ + „$($_.Datapath)“).Replace(‚:‘,’$‘).Replace(„Mailbox“,“Logging\MapiHttp\Mailbox“)}} )
####darunter folgenden Teil einfügen:
$MAPIData2016 = @()
ForEach ($Item in $MAPIServers2016)
{
$Thefile = @(GCI -Path $Item.Path -Filter *.log | ?{$_.LastWriteTime -gt (Get-Date).AddDays(-$reportinterval)} | Select @{Name=’File‘;Expression={(„$($Item.Path)“ + „\$($_.Name)“)}})
Foreach ($F in $Thefile)
{
$MAPIData2016 += (Filter-Mapi2016Data $F.File)
}
}
####Letztlich die Zeile $outlookusers = … (wieder) anpassen:
$outlookusers = $Data + $MAPIData + $MAPIData2016 | select client-software-version,client-name -Unique
Mit den Variablennamen aus dem MAPI Logfile von Exchange 2016 habe ich getrickst, sie werden wieder auf das alte Format umgeschrieben.
Getestet mit Exchange 2013 und Exchange 2016.
Da (mir) nicht klar ist welche Versionsnr. Exchange 2019 bekommt muss die MAPI Abfrage in Exchange 2019 sicherlich nochmal angepasst werden.
LG
Timbo
Die Anzeige der MAPI Clients im Modul clientinfo.ps1 müsste noch angepasst werden.
Die Lösung von Timbo funktioniert nicht mehr, da Microsoft scheinbar das Logging geändert hat.
Die Mapi Clients werden nicht mehr unter „*\Logging\Mapi Client Access\*“ geloggt sondern unter
„*\Logging\MapiHttp\Mailbox\*“. Ebenso haben sich die Einträge innerhalb der Log Dateien etwas geändert.
Erst mal vielen Dank, die Idee und die Skripte sind klasse.
Ich hatte etwas Probleme bis ich das auf meinem Exchange 2013 mit Server 2012 drunter zum Laufen bekam.
Powershell Upgrade war etwas „tricky), auch habe ich .Net 4.7.1 schon drauf, sowie DKIM, DMARC, SPF…
Beim DMARC Modul Zeile 47 wird fix auf Microsoft.Exchange.WebServices.dll verwiesen, die wird gesucht in „C:\Program Files/Microsoft\Exchange\WebServices\2.2“
Erster Fix war Erstellen des Verzeichnis und Kopieren der DLL aus … Exchange\bin
Trotzdem kriege ich noch einen Fehler, weiss aber noch nicht genau warum.
Gut wäre hier z.B. ein An- oder Aus-schalten vom Logging pro Modul (z.B. in der INI festlegen?), z.B. wenn man das Script manuell in der Exchange Powershell startet.
Auch den Hinweis auf Powershell Set-ExecutionPolicy .. Bypass fände ich noch wichtig.
Ähnliches Problem auch bei ADDSINFO.
EMail bei mir auch nicht durchgegangen.
Habe im Subject das Datum ($now) rausgenommen und dem ContentFilter Ausnahme definiert.
Add-ContentFilterPhrase -Phrase „Exchange Server Health Report“ -Influence GoodWord
Viele Grüsse und Herzlichen Dank
Hi Fridolin,
ich musste neben der DLL noch folgende Anpassungen vornehmen:
– in der dmarcreport.ps1 wird der DNS-Server 8.8.8.8 genutzt, ich habe hier einen DNS-Server eingetragen der von meinem Exchange Reporter Server aus erreichbar ist
– in dem im Abschnitt DMARC in der settings.ini konfigurierten Postfach muss unterhalb des Posteingang ein Ordner ‚Archive‘ (bzw. wie in ‚ArchiveFolder‘ konfiguriert) existieren (hierhin werden die Berichte verschoben)
LG
Timbo
Hi Frank,
ich fasse mal meine Verbesserungshoffnungen zusammen :)
– Abfrage von MAPI-Verbindungen im Modul clientinfo.ps1: siehe meine Kommentare von 25. Oktober 2017 um 14:42 + 25. Oktober 2017 um 14:43 + 26. Oktober 2017 um 09:31
– doppelte Auflistung von Servern im Modul spacereport.ps1: siehe mein Kommentar vom 29. November 2017 um 14:47
– Öffentliche Ordner Statistiken zeigen zu PFs statt der DB nur das Primäre Postfach, Stefan hätte hier gerne die Datenbank gelistet (analog Exchange 2010 und früher), ich fände die Anzeige des PF-Postfachs in dem sich der PF tatsächich befindet toll (evtl. zusätzliche Spalte dafür?): siehe Kommentar von Stefan am 6. Juli 2017 um 12:44
– Öffentliche Ordner Statistiken: Pfad zu öffentlichem Ordner (ParentPath) zusätzlich ausgeben
Ich kann dir gerne PS1-Dateien zuarbeiten, da es sich aus den Kommentaren hier vermutlich nur schwer rauskopieren lässt.
LG
Timbo
Der Download Link ist leider nicht mehr verfügbar.
Hi,
der Download funktioniert bei mir, war vielleicht nur ein kurzer Schluckauf.
Gruß,
Frank
Hi Frank,
erstmal danke für das super Tool, wir nutzen dieses seid einigen Monaten und sind sehr begeistert davon. Was uns noch interessieren würde: Gibt es eine Möglichkeit den Bericht auch auf den letzten Monat laufen so lassen, anstelle der Intervalle 1 oder 7 Tage?
Hallo Mats,
du kannst das Intervall in der Settings.ini frei definieren, du musst dann allerdings den geplanten Task manuell anlegen.
Gruß,
Frank
Hallo,
gibt es schon Infos oder Lösungen dazu das die Mail Statistik leer bleibt? Habe das Problem.
Hallo zusammen und erstmal ein Großes Lob für das geniale Skript!
Ich wollte mich heute mal was näher mit dem Spohos UTM-Modul auseinandersetzen, doch leider befindet sich in dem Aktuellen Handbuch nur der folgende Hinweis in den Changelogs:
UTMReport: Extrahiert die AntiSPAM Übersicht der Sophos UTM Firewall aus den E-Mail Reports und bindet sie in den Exchange Report ein (Siehe Modul Doku)
Eine Modul-Doku finde ich jedoch leider im selbrigen Dokument nicht.
Kommt man an die Modul-Dokumentation noch irgendwie dran, oder ist die bisher einfach nur noch nicht erstellt worden?
Beste Grüße!
Betreff „careport.ps1“
Hi Folks,
ich habe die Datei „PS PKI v3.2.6.exe“ installiert und den „Import Module“ Befehl ausgeführt. careport.ps liefert trotzdem einige zu Fehler CMDlets wie get-ca und Receive-Certificate.
Hi Frank,
bzgl. spacereport.ps1: In SBS Umgebungen und in Umgebungen wo der DC auch ein Exchange Server ist (ich möchte hier nicht darüber diskutieren ob das sinnvoll ist) listet der Speicherplatz-Report den Server doppelt (einmal aus $exservers und einmal aus $domaincontrollers). Dafür schlage ich folgende Verbesserung vor:
$servers = @()
$servers = $exservers.Name
$servers += $domaincontrollers.Name
$servers = $server | Select-Object -Unique
Aus den zwei foreach-Schleifen in der spacereport.ps1 eine machen (sie tun jetzt schon das gleiche) und die Variable $servers iterieren (und wegen der Änderung oben innerhalb der Schleife nicht mehr auf ‚.name‘ zugreifen.
LG
Timbo
Hallo,
ich bin auf dieses Tool gestoßen und denke es ist genau das was ich gesucht habe, mein Server läuft noch mit SBS 2011 somit ist ein Update auf die Powershell / Managmet Framework 4 wegen Inkompatibilitäten leider keine Möglichkeit.
Ist von dem Exchange Reporter auch eine ältere Version ohne Powershell 4 Abhängigkeit verfügbar?
Liebe grüße
Simon
Hallo Frank, hallo Timbo,
jetzt läuft auch das HPiLOreport.ps1 ohne Probleme. Das SSL-Zertifikat muss einen vertrauenswürdigen Herausgeber haben. Ebenso habe ich im Abschnitt [HPiLO] unter iLOIPs= den Namen auf dem das Zertifikat ausgestellt ist anstelle der IP eingetragen.
Danke und viele Grüße
Marita
Hi,
hab nochmal ne Nacht drüber geschlafen. Da MAPI erst ab Exchange 2013 gesprochen wird könnte man die Zeile $MAPIServers folgendermaßen anpassen:
$MAPIServers = @(Get-ExchangeServer | where {(($_.IsMailboxServer -eq ‚$true‘) -and (($_.AdminDisplayVersion).major -ge ’15‘)) } | Select Name,@{Name=’Path‘;Expression={(„\\$($_.fqdn)\“ + „$($_.Datapath)“).Replace(‚:‘,’$‘).Replace(„Mailbox“,“Logging\MAPI Client Access“)}} )
LG
Timbo
Ein Fehler hat sich eingeschlichen:
falsch: $MAPIData += (Filter-MapiData $F.File)
richtig: $MAPIData += (Filter-Data $F.File)
Hi,
[Zitat von Torsten, 15. November 2016 um 11:28] Könnte man beim Modul clientinfo.ps1 eventuell auch die Clientzugriffe per MAPI erfassen (MAPI Client Access)? [Zitat Ende]
Im oberen Teil folgende Funktion einfügen:
Unter „$EWSServers = @(…“ folgende Zeile einfügen:
$MAPIServers = @(Get-ExchangeServer | where {(($_.IsClientAccessServer -eq ‚$true‘) -and (($_.AdminDisplayVersion).major -eq ’14‘)) -or (($_.IsMailboxServer -eq ‚$true‘) -and (($_.AdminDisplayVersion).major -ge ’15‘)) } | Select Name,@{Name=’Path‘;Expression={(„\\$($_.fqdn)\“ + „$($_.Datapath)“).Replace(‚:‘,’$‘).Replace(„Mailbox“,“Logging\MAPI Client Access“)}} )
Unter der „ForEach ($Item in $EWSServers)“-Schleife folgende Zeilen einfügen:
$MAPIData = @()
ForEach ($Item in $MAPIServers)
{
$Thefile = @(GCI -Path $Item.Path -Filter *.log | ?{$_.LastWriteTime -gt (Get-Date).AddDays(-$reportinterval)} | Select @{Name=’File‘;Expression={(„$($Item.Path)“ + „\$($_.Name)“)}})
Foreach ($F in $Thefile)
{
$MAPIData += (Filter-MapiData $F.File)
}
}
Folgende Zeile anpassen:
$outlookusers = $Data | select client-software-version,client-name -Unique
$outlookusers = $Data + $MAPIData | select client-software-version,client-name -Unique
Weiterhin ist mir aufgefallen:
Die Spaltenbezeichnungen in der FilterData-Funktion stimmen nicht (mit Exchange 2013 Logfiles überein). Alle später genutzten Spalten sind jedoch korrekt referenziert, daher ist das kein Problem. Vermutlich sind die Spaltenbezeichnungen Exchange Versions-spezifisch?
Weiterhin:
These: wenn ein Benutzer zwei Computer mit der gleichen Office-Version nutzt taucht er nur einmal in der Statistik auf (wegen -Unique). Wenn jemand Lust und Zeit hat bitte mal testen.
Ich hoffe die Formatierung des Powershell-Code oben passt. Teilweise wird hier Formatierung verschluckt.
LG
Timbo
Hallo Timbo,
ups, das war es wohl :)
Allerdings bin ich noch nicht ganz am Ziel. Unser iLO-Seiten sind SSL-geschützt…
Der Eintrag in der ErrorLog.txt lautet nun:
HPiLOreport.ps1
Ausnahme beim Aufrufen von „Load“ mit 1 Argument(en): „Die zugrunde liegende Verbindung wurde geschlossen: Für den geschützten SSL/TLS-Kanal konnte keine Vertrauensstellung hergestellt werden..“
VG
Marita
Hi,
bei mir heißt der Eintrag „Hewlett-Packard iLO Cmdlets“ in Version 1.2.0.0 (auf einem Windows Server 2008 R2). Ich vermute die hast einfach die falsche Komponenten installiert. Mit BIOS hat das ja nix zu tun!? Das würde auch erklären warum bei dir die Cmdlets wie Get-HPiLOServerInfo nicht bekannt sind.
LG
Timbo
Hallo Timbo,
unter den installierten Programmen in der Systemsteuerung sind die „Scripting Tools for Windows Powershell: BIOS cmdlets“ vorhanden…
Hast Du noch eine weitere Idee?
Hi Marita,
in der Umgebung wo ich dieses Modul laufen habe, mussten die HP Scripting Tools nicht nur kopiert sondern installiert werden. Hinterher tauchen unter den installierten Programmen in der Systemsteuerung die Hewlett Packard iLO cmdlets auf. Versuch das mal.
LG
Hallo,
wäre es möglich nur bestimmte Exchange Server abzufragen? z.B einer bestimmten AD Site?
mfg
GErald
Hallo,
vielen Dank für dieses hilfreiche Tool! Ich habe nur ein Problem mit HPiLOreport.ps1. Die HP Scripting Tools for Windows PowerShell habe ich heruntergeladen und im vorgeschlagenen Ordner des Setups installiert.
Trotzdem bekomme ich einen Fehler:
Die Benennung „Get-HPiLOServerInfo“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
Was mache ich falsch?
VG, Marita
Hi,
ich habe folgendes Phänomen bei den ActiveSync Client Übersicht festgestellt. Wenn genau ein Gerät in eine der Gruppen (Apple iOS, Android etc.) fällt wird keine Zahl angezeigt und das Feld ist leer. Das Ganze lässt sich folgendermaßen beheben:
Wo: clientinfo.ps1
alte Zeile(n): $ = ($activesyncos | where {$_.deviceos -like „*“}).count
neue Zeile(n): $ = @($activesyncos | where {$_.deviceos -like „DeviceOSString*“}).Length
Also z. B.
alt: $android = ($activesyncos | where {$_.deviceos -like „Android*“}).count
neu: $android = @($activesyncos | where {$_.deviceos -like „Android*“}).Length
LG
Edit:
Send-MailMessage -From „Absender-Adresse wie in der config-Datei“ -To „Empfänger-Adresse wie in der config-Datei“ -Subject „Test“ -Body „Test-Message“ -SmtpServer „Server wie in der config-Datei“
Hi Sebastian,
zu Punkt 1: Probier folgendes auf der Shell:
Send-MailMessage -From -To -Subject „Test“ -Body „Test-Message“ -SmtpServer
Was kommt als Rückmeldung?
zu Punkt 2: lies bitte meinen Kommentar vom 7. Juli 2017 um 00:02.
LG
Hi Frank,
erstmal Danke für das tolle Tool!
Ich hab zwei Probleme.
1. Er sendet bei mir keine Mails, es steht auch im Error.log nichts darüber warum er sendet. Es kommt nichts an.
2. Beim Module updatereport.ps1 bekomme ich diese Meldung
-Start– 09/14/2017 10:12:29 ———————————————————————————-
updatereport.ps1
„“UTF-8″“ ist kein unterstützter Codierungsname. Informationen zum Definieren einer benutzerdefinierten Codierung entnehmen Sie der Dokumentation zur Encoding.RegisterProvider-Methode.
Parametername: name
-End— 09/14/2017 10:15:19 ———————————————————————————-
Wir haben ein Exchange 2016 CU2 auf einer W2k12R2 Machine.
Hast du ein Tip oder eine Idee, woran das liegen könnte?
Hi,
ich möchte meine Erfahrungen mit der ‚ActiveSync Client Übersicht‘ und den Übersichten der ActiveSync Geräte teilen. Auch nach der von mir bereits beschriebenen Korrektur (Stichwort ExchangeDeviceClasses) gab es bei mir noch Abweichungen zwischen beiden Übersichten. Ich habe festgestellt, dass (evtl. abhängig von der Exchange Version) Geräte aus folgenden Gründen in der Client Übersicht enthalten in den Übersichten der ActiveSync Geräte jedoch nicht angezeigt werden:
– MobileDevice wurde nie erfolgreich synchronisiert (Devices mit Get-MobileDevice | Get-MobileDeviceStatistics ausfindig machen und löschen)
– Benutzer-Objekt im AD wurde gelöscht (das MobileDevice bleibt dabei im AD enthalten, Bereinigung mit Get-ADObject -filter { ObjectClass -like ‚msExchActiveSyncDevices‘} -SearchBase “OU=MyBusiness,DC=contoso,DC=com”, dann auf die Devices der nicht mehr existierenden Benutzer filtern und Remove-ADObject -Recursive anhängen)
– Zugriff auf MobileDeviceStatistics nicht möglich (in meinem Fall war der Benutzer Dom-Admin, er hatte mal ein MobileDevice als er noch kein Admin war, Stichwort AdminSDHolder, Benutzer aus Dom-Admin Gruppe entfernt, Rechte auf Benutzerkonto zurückgesetzt, dann klappt das Entfernen des Device)
Seither passt die Anzahl der Geräte in der ‚ActiveSync Client Übersicht‘ zu der Anzahl der im Report gelisteten Geräte.
LG
Hallo „NameIstGeheim“,
ggf. solltest du dich erst ein wenig mit PowerShell auseinander setzen, bevor du das Tool nutzt. Die Fehlermeldung ist relativ eindeutig und gibt dir ja sogar an, was der Fehler ist.
Ihr habt anscheind im Unternehmen eingestellt, dass PowerShell Skripte digital signiert werden müssen. Als Administrator könntest du jedoch dennoch die Einstellung des Exchange Servers so ändern, dass er Skripte akzeptiert. Dazu PowerShell als Administrator starten und folgenden Befehl ausführen: set-executionpolicy -executionpolicy unrestricted
wieso finde ich jetzt erst dieses Tool?
leider bekomme ich es mit folgender Fehlermeldung auf meinem Exchange 2010 nicht zum laufen :
.\New-ExchangeReport.ps1 : File C:\Exchange Reporter 3.2\New-ExchangeReport.ps1 cannot be loaded. The file C:\Exchange
Reporter 3.2\New-ExchangeReport.ps1 is not digitally signed. The script will not execute on the system. Please see „get
-help about_signing“ for more details..
At line:1 char:25
+ .\New-ExchangeReport.ps1 <<<< -InstallPath "c:\Exchange Reporter 3.2"
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException
Beim Report werden die Grafiken im Browser nicht angezeigt.
Hi,
bzgl. HPiLOreport.ps1: in meinem Fall gibt es den Wert „AVERAGE_POWER_READING“ nicht. Ich vermute hier liegt die Ursache:
STATUS_MESSAGE: Note: additional information is available with iLO 4 Advanced and iLO 4 Select licenses.
Ich lese daher den aktuellen Wert aus:
alte Zeile: $powerstate = $serverpower.AVERAGE_POWER_READING
neue Zeile: $powerstate = $serverpower.PRESENT_POWER_READING
LG
Hi,
ich hatte im Modul HPiLOreport.ps1 das Problem, dass das Integrated Management Log leer war. Nach der Abfrage ist $imllog jedoch nicht leer sondern besitzt ein Element mit der Länge 0. Ich habe eine zusätzliche If-Abfrage eingebaut. Somit läuft das Modul dann erfolgreich durch.
alter Code:
foreach ($event in $imllog)
{
[datetime]$eventdate = $event.LAST_UPDATE
$eventdatum = get-date $eventdate -Format „dd.MM.yyyy HH:mm“
$eventdes = $event.DESCRIPTION
$eventtyp = $event.SEVERITY
$cells=@(„$eventdatum“,“$eventdes“,“$eventtyp“)
$iloreport += New-HTMLTableLine $cells
}
neuer Code:
foreach ($event in $imllog)
{
if ($event -ne “)
{
[datetime]$eventdate = $event.LAST_UPDATE
$eventdatum = get-date $eventdate -Format „dd.MM.yyyy HH:mm“
$eventdes = $event.DESCRIPTION
$eventtyp = $event.SEVERITY
$cells=@(„$eventdatum“,“$eventdes“,“$eventtyp“)
$iloreport += New-HTMLTableLine $cells
}
}
@Timbo
Danke für die Scriptanpassung für Exchange 2010.
Jetzt passt die Darstellung.
Peter
Hallo,
habe den gleichen Fehler wie:
„Torsten sagt:
17. Mai 2017 um 16:45
Hallo Frank,
ich habe einen Exchange 2016 CU4 auf Windows Server 2016 und erhalte beim Start des Skriptes in der PS den Fehler „Loading global variables: Error“
Nur 2016 CU5
Es wird aber auch kein Error.log geschrieben.
Gibt es hierfür schon eine Lösung?
Hi,
[Zitat, von Peter, 7. März 2017 um 15:27] wir bekommen im „ActiveSync Client Overview“ in der Spalte „other version“ eine 3 angezeigt. Kann man feststellen welcher User / Geräte hier gezählt werden? Unter „Overview Connected ActiveSync Devices “ werden nur die bekannten User und Geräte angezeigt und deren Summe stimmt auch wieder zum „ActiveSync Client Overview“. [Zitat Ende]
Ich konnte das Problem mit Exchange 2010 nachvollziehen. Andere Exchange-Versionen sind nach meinen Tests nicht betroffen. Hintergrund: mit geladenem Exchange-PSSnapin gibt der Befehl Get-ActiveSyncDevice auch die dem Exchange Server bekannten Geräteklassen (ExchangeDeviceClasses) mit aus (komischerweise passiert das nicht bei der Ausführung über die Exchange Management Shell). Die Geräteklassen spiegeln sich dann unter ‚other version‘ wieder. Um diesen Schönheitsfehler zu beheben habe ich folgende Zeile in der clientinfo.ps1 angepasst:
alte Zeile: $activesyncos = Get-ActiveSyncDevice | select deviceos
neue Zeile: $activesyncos = Get-ActiveSyncDevice | where { $_.DistinguishedName -NotLike „*,CN=ExchangeDeviceClasses,*“ } | select deviceos
LG
Timbo
Hi,
meiner Ansicht nach gibt es in dem Modul updatereport.ps1 ein Problem:
PS C:\Exchange Reporter 3.2\Modules> invoke-webrequest „http://www.frankysweb.de/feed/atom/“
invoke-webrequest : „“UTF-8″“ ist kein unterstützter Codierungsname.
Parametername: name
In Zeile:1 Zeichen:1
+ invoke-webrequest „http://www.frankysweb.de/feed/atom/“
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-WebRequest], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Ich habe die Zeilen in folgende geändert:
invoke-webrequest „http://www.frankysweb.de/feed/atom/“ -OutFile bla.htm
[xml]$feeds = Get-Content -Path bla.htm
Mehr Infos hier:
https://stackoverflow.com/questions/36275618/why-is-invoke-webrequest-and-invoke-restmethod-failing-and-succeeding-at-the-sam
Hi,
@Frank: coooooles Teil hast du da gebaut. Tausend Dank. Wieviel Zeit da wohl reingeflossen ist!?
Zum Thema: „In manchen Umgebungen kann Exchange Reporter nicht über die Aufgabenplanung gestartet werden (In Bearbeitung).“: Ich habe den Reporter mit dem Script als Aufgabe auf einem SBS 2011 (also Server 2008 R2, DC + Exchange 2010 auf einer Kiste) anlegen lassen. Ich hatte das oben beschrieben Phänomen (Aufgabe ‚läuft‘, nichts passiert). Ich habe anschießend das Häkchen ‚Mit höchsten Privilegien ausführen‘ gesetzt. Anschließend klappt alles.
LG
Timbo
Hallo Frank,
in der Ausgabe des Reports wird für Public Folders unter
„Public Folder statistics sorted by size“ in der Spalte „Database“ nicht die Datenbank des betreffenden Ordners, sondern das (PF) Postfach der primären Hirarchie ausgegeben.
Wäre super wenn du das noch korrigieren könntest, in dem tollen Tool!
mfg
STefan
Frank,
I changed it from 7 to 1, I suspect it to be a lot quicker.
Also how do I call the SSLLabs script?
I tried it by giving the script a module number (32=ssllabsreport.ps1)
But didn’t work.
Hi Eddie,
that should be a lot quicker. Could you please send me the errorlog? I will have a look. You could also try to set your Hostname manually in ssllabsreport.ps1 line 2.
Regards, Frank
Hi Frank,
Nice looking script, I’m testing it now but it’s running for 5 hours now and still not done.
What is normal for a 6 server environment with around 3000 mailboxes?
Hi Eddie,
i have tested the script with ~2000 mailboxes, a one day Report took about 4 hours. How many days have you configured in the Settings.ini?
Regards, Frank
Hallo Frank,
ich habe einen Exchange 2016 CU4 auf Windows Server 2016 und erhalte beim Start des Skriptes in der PS den Fehler „Loading global variables: Error“
Im error log findet sich dies:
„Die Benennung „Set-ADServerSettings“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.“
Nun kommt Windows 2016 ja mit der PS in der Version 5. Meine bisherigen Versuche den Fehler zu beheben, hatten leider keinen Erfolg. Hast du eine Idee, wie ich das gelöst bekomme?
Hallo Frank,
Report für uns hier angepasst und läuft wie ein Uhrwerk, sehr hilfreich um die „Löschmuffel“ zu finden ;)
TOP!!
Der Fehler „der den NULL hat“ wird bei mir durch ein bestimmtes Postfach verursacht. Dieses lässt sich auch durch eine lokale Verschiebungsanforderung nicht in eine andere Datenbank verschieben. Der Grund dafür muss noch ermittelt werden.
Übergangsweise funktioniert der Report, wenn man die folgende Zeile ergänzt mit „| where … $entry}“ und den User in der settings.ini bei der mbxreport Excludelist angibt.
$mailboxesindb = get-mailbox -database $database -ResultSize unlimited | where {$_.displayname -notmatch $entry -or $_.alias -notmatch $entry} | sort
Gruß
Christian
Hallo Frank,
ich wollte Dir erst einmal ein großes Kompliment für Deine Arbeit machen. Einzig der „mbxreport“ lässt mich verzweifeln. Wie auch schon bei einigen anderen hier taucht im Error Log nur der vielsagende Eintrag
-Start– 03/23/2017 15:24:09 ———————————————————————————-
mbxreport.ps1
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
-End— 03/23/2017 15:41:40 ———————————————————————————-
auf. Wenn man im „mbxreport“ den Bereich von $mbxlimits = @() bis #Getrennte Mailboxen auskommentiert funktioniert der Report.
Gruß
Christian
Hallo Frank,
ich wollte ein herzliches Dankeschön hier lassen. Eine wirklich klasse Sache!
Viele Grüße,
Norman
Hallo,
wir bekommen im „ActiveSync Client Overview“ in der Spalte „other version“ eine 3 angezeigt. Kann man feststellen welcher User / Geräte hier gezählt werden? Unter „Overview Connected ActiveSync Devices “ werden nur die bekannten User und Geräte angezeigt und deren Summe stimmt auch wieder zum „ActiveSync Client Overview“.
Du kannst bei der Einrichtung angeben, dass er den Report auch als PDF mit schickt, soweit ich weiß.
Konnte leider keinen HTML-Code im letzten Kommentar einfügen, daher hier als Bild:
http://i.imgur.com/YEaaPCx.png
Wie kann man denn so einen Report am einfachsten nachhaltig speichern? (nicht als Mail oder *.msg).
Hi Tim,
du kannst den Report als PDF speichern (siehe Handbuch) oder auch den Export als HTML Dateien (Integration in Exchange Monitor) aktivieren.
Gruß, Frank
Was heißt denn „Der Exchange Reporter 2013 ist nicht kompatibel mit Exchange 2010“?
Seit wann gibt es einen Exchange Reporter 2010 bzw. 2013? Weiter oben in dem Beitrag steht nur eine Versionsnummer vom „Exchange Reporter“ (z. B. „3.2“). Woher weiß ich denn, welche „Hauptversion“ (also 2010 oder 2013) man einsetzt?
Wenn ich die Mail bekomme vom Exchange Reporter (3.2), steht oben drin nur „created with Exchange Reporter“, während in den Screenshots weiter oben in diesem Beitrag tatsächlich „erstellt mit Exchange Reporter 2013“ steht. Sehr verwirrend…
Noch eine Frage zur report.html: hier hat sich irgendwie der Quellcode für die Bilder geändert. Unter Exchange Reporter .20 stand hier z. B. im Quellcode:
Mit Version 3.2:
Das führt leider dazu, dass keine Bilder im Browser angezeigt werden wenn ich die report.html mit einem Browser öffne.
Hintergrund: bevor das TEMP-Verzeichnis aufgeräumt wird, kopiere ich dieses in ein Archiv (in der Form yyyy-mm-dd.html). E-Mails lassen sich so schwer weiterverarbeiten und richtig speichern lässt sich ein einzelner Report ja leider nicht.
Hallo Frank,
was mir gerade aufgefallen ist, die Übersichtsgrafik „Mails je Tag“ zeit den letzten Tag der Woche als erstes.
Sprich z.b. von letzter Woche gehen die Balken vom 05.02. – 30.01.2017. Kann man das korrigieren?
Hallo Frank,
ich habe heute auf die Version 3.2 umgestellt weil ich das Sophos UTM mit auswerten möchte. Insgesamt hat die Umstellung nun geklappt – auch Start über Aufgabenplanung ohne Prob möglich (Srv2012R2 mit Exchange 2013 durchgepatcht).
Leider läuft dasUTMMailReport immer wieder auf Fehler:
Ausnahme beim Aufrufen von „AutodiscoverUrl“ mit 2 Argument(en): „The Autodiscover service couldn’t be located.“
Kann ich nicht nachvollziehen, da die Anbindung von Outlookclients per Autodiscover ohne Probleme geht?
Ich denke verantwortlich sind wahrscheinlich diese 2 Zeilen im Script:
#EWS URL Option 1 Autodiscover
$service.AutodiscoverUrl($UTMMailboxName,{$true})
Dieser Bereich ist ja auskommentiert und greift nicht:
#EWS URL Option 2 Hardcoded
#$uri=[system.URI] „https://outlook.beispiel.local/ews/Exchange.asmx“
#$service.Url = $uri
Wo ist hier das Problem zu suchen ?
Die Ausführung zu Einrichtung der Sophos beschränken sich ja lediglich auf die Seite 15/16 deiner Anleitung. Was meinst du mit „werden an ein entsprechendes Postfach gesendet“ ? Ein zusätzliches welches nur für die Berichte angelegt ist? Und wie geht die Abfrage per EWS API vonstatten?
Würde mich über eine Hilfestellung freuen,
Ingo
Hi Ingo,
du kannst zum testen die Automatische Ermittlung deaktivieren (Option 1) und die EWS Adresse fest eintragen (Option 2). Das Postfach kannst du frei definieren, es muss halt nur die Berichte enthalten.
Gruß, Frank
Hi Frank,
besten Dank für die Rückmeldung! Das klappt jetzt auch.
Schön wäre noch, wenn man außer Intervall 1 und 7 Tage auch letzter Monat zur Auswahl hätte, also ein kompletter Monat 1. bis 30./31.
Gruß Benni
Hallo, feines Tool. Gibt es evtl. eine Möglichkeit, den Mail-Report nur auf bestimmte Postfächer zu beschränken? Ausschlüsse in der Settings.ini hilft nicht weiter, da Umgebung zu groß.
Besten Dank für kurze Rückmeldung.
Hi Benni,
diese Funktion ist derzeit nicht implementiert, allerdings lassen sich die gewünschten Module mit relativ wenig Aufwand entsprechend anpassen.
Gruß,
Frank
Hallo Frank!
Ein tolles Tool!
bei mir wird keine Mail versendet.
Installation laut Anleitung.
Exchange 2016
Danke
Hallo Igor,
kannst du mir das Errorlog zuschicken?
Gruß,
Frank
Hat nach einigem Probieren nun doch geklappt.
War wohl noch ein kleines Rechteproblem ;-)
Hallo Frank,
wir suchen eine Möglichkeit die automatischen Weiterleitungen auszuwerten.
Das Modul „redirectreport.ps1“ vom Exchangereporter 3.2 läuft zwar ohne Fehler durch, es werden aber im Report keine Weiterleitungen angezeigt.
Woran kann das liegen?
Exchangeserver sind derzeit auf 2010
Gruß,
Markus
Hallo ich bekomme auf meinem Exchange Server 2016 folgenden Fehler
Das Modul „bin“ konnte nicht geladen werden. Wenn Sie weitere Informationen wünschen, führen Sie „Import-Module bin“ aus.
Hat jemand eine Idee.
Vorab vielen Dank
Hallo Frank.
ich bekomme folgende Meldungen bei manchen Modulen:
„Der Befehl „Get-WinEvent“ wurde im Modul „Microsoft.PowerShell.Diagnostics“ gefunden, das Modul konnte aber nicht geladen werden. Wenn Sie weitere Informationen wünschen, führen Sie „Import-Module Microsoft.PowerShell.Diagnostics“ aus.“
„Der Befehl „Resolve-DnsName“ wurde im Modul „DnsClient“ gefunden, das Modul konnte aber nicht geladen werden. Wenn Sie weitere Informationen wünschen, führen Sie „Import-Module DnsClient“ aus.“
„Die Datei „C:\Users\admin\AppData\Roaming\Microsoft\Exchange\RemotePowerShell\hostname.intern.domäne\hostname.intern.domäne.format.ps1xml“ konnte nicht gefunden werden.“
Die PowerShell Module habe ich von einem W2k12 Server komplett kopiert und eingefügt.
Ich habe einen Exchange 2010 CU15 auf Windows 2008 R2.
Ich hatte auch das Problem, dass beim Report nur Null Werte ausgegeben wurden sind. (Exchange 2010)
Bei mir hat geholfen das Nachrichtentracking zu aktivieren : http://www.msxfaq.de/exchange/admin/track2007.htm
Hallo Frank,
das Tool ist großartig. Ich setze es inzwischen bei vielen Kunden ein. Vielen Dank dafür!
Könnte man beim Modul clientinfo.ps1 eventuell auch die Clientzugriffe per MAPI erfassen (MAPI Client Access)?
Hi,
ich bin dabei den Reporter zu überarbeiten, allerdings geht es zur Zeit etwas schleppend voran. Ich nehme es auf die ToDo Liste auf.
Gruß, Frank
Hallo,
sicherlich gutes Tool, läuft in unserer Umgebung leider nicht: Working on Module ‚mailreport.ps1‘:Exception of type ‚System.OutOfMemoryException‘ was thrown. :-(
Grüße,
Roland
Moin,
bei mir wird keine Mail versendet.
Muss ich da noch was berechtigen?
Das Script läuft direkt auf dem Exchange 2010.
Grüße
Michael
Hallo Frank!
Ein tolles Tool!
Aber kann es sein, dass mit der Version 3.2 unter Exchange 2016CU2 die Outlook Versionen nicht mehr erfasst werden?
Bei mir ist die Liste leer, obwohl ich weiß dass dort x-mal Outlok 2016 stehen müsste.
Vielen Dank im Voraus!
VG, Rüdiger
Hallo Frank,
läuft der Exchange Reporter auch auf einen Exchange 2016 ?
Vielen Dank im Voraus.
LG
Michael
Hi Michael,
ja, läuft auch mit Exchange 2016.
Gruß, Frank
Hi Frank,
Your work is amazing. I have been customizing it and using it from 1st version according to my needs.
There is this one problem always. I have around 300 DBs and they show good report under dbreport but the problem is the graphs are not sorted despite the tables are. The tables will show correct value Db01,DB02,DB03 etc but the graph will show DB03,DB01,DB03 and randomly as it likes. I cant figure it out how to sort the graph values as tables are sorted. Can you please help on this
Hallo,
erstmal vielen Dank fürs Script und ausführliche Anleitung. Ich habe eine Frage, kann man Script mit folgende Punkte erweitern?
– die Zahl von automatisch beantworteten E-Mails
– die Zahl von manuell beantworteten E-Mails
– die Zahl von automatisch weitergeleiteten E-Mails
– die Zahl von manuell weitergeleiteten E-Mails
Danke & Gruß
Hallo zusammen,
ich habe heute von Version 2.6 auf 3.2 gewechselt. Zum Testen wollte ich es manuell starten, entgegen dem Handbuch ist ein manueller (evtl. deswegen auch Start Aufgabenplanung?) nur in der Exchange Management Shell möglich. Bei Start aus der „normalen“ Powershell gibt es einen Fehler beim Laden der globalen Variablen.
Guten Morgen zusammen,
hat keiner eine Idee?
Gruß
Andreas
Guten Morgen zusammen,
ich habe heute wieder versucht, den Exchange-Reporter 3.2 über den TaskScheduler auf einem 2012r2 Server zum laufen zu kriegen. Bis gestern konnte ich den Reporter zumindest manuell starten – seit heute geht das aber auch nicht mehr. ich bekomme beim Aufruf gleich folgende Meldung:
Checking for Powershell Version 4.0: OK
Loading functions from Include-Functions.ps1: Error (not found)
Ich muss aber dazu sagen, dass ich heute „Set-ExecutionPolicy Unrestricted“ ausgeführt habe, weil ich immer eine Meldung bekam, dass das Script nicht ausgeführt werden konnte. Danach habe ich noch folgende zwei Befehle abgesetzt:
Unblock-File -Path D:\Scripts\Tasks\Exchange_Reporter_3.2\New-ExchangeReport.ps1
dir D:\Scripts\Tasks\*.* | Unblock-File
Dadurch wollte ich die Meldung unterdrücken, dass jedes mal gefragt wird, ob ich dem Script wirklich vertraue…
Und jetzt bekomme ich den Reporter nicht mehr zum laufen. Auch die Version 3.1 bleibt beim gleichen Fehler hängen.
Hat jemand eine Idee?
Besten Dank vorab,
Andreas
Moin,
in kleinen Umgebungen ohne feste IP kommt es aber vor, sprich der MX zeigt zwar schon auf eine Subdomäne mail.xxx.de, aber diese wiederum auf einen CName. Dann gibt es besagten Fehler im Script. Mit der Änderung wird auch dies richtig verarbeitet!
Gruß, Steffen
Hallo Frank,
wir haben das gleiche Problem wie Addi.
Mit Exchange 2010 unter Windows Server 2008 R2 wird zwar durch den Taskplaner die Powershell gestartet, aber leider hängt er dann irgendwo und es kommt kein Report. Manuell in der Powershell geht es. Wobei es unter Server 2008 R2 schon ein Krampf war, überhaupt das Skript zum Laufen zu bringen :(
Servus und Danke für die neue Version.
Im Modul mxreport.ps1 gibt es einen Fehler, wenn man mit CName arbeitet. Daher habe ich die Zeile 59:
$MXIP = $ARecord.IPAddress
Ersetzt durch:
if (!$ARecord.IPAddress)
{
$MXIP = [System.Net.Dns]::GetHostAddresses($ARecord.NameHost)[0].IPAddressToString
}
else
{
$MXIP = $ARecord.IPAddress
}
Dann klappt es auch mit CName!
Gruß, Steffen
Hi Steffen,
der MX darf kein CNAME (Alias) sein. Siehe RFC2181 (Abschnitt 10.3):
https://tools.ietf.org/html/rfc2181
Gruß, Frank
Hallo Frank,
wir nutzen auch dein Exchange Reporter und danken dir für dieses mega Werkzeug.
Wollte dich was fragen bezüglich der Mailbox Abfragen. Wäre es möglich zum Punkt „Possibly inactive Mailboxes“ ein Feld „Expired Datum“ hinzuzufügen?
Grüße
Daniele
Hallo,
tolles Tool,
leider startet das PS Script nicht über die Aufgabenplanung. Powershell wird zwar gestartet, aber dann hängt es. Selbst in den Error-File wird kein Eintrag geschrieben. Powershell Task muss dann manuell beendet werden.
Dieses Verhalten habe ich bei mehreren EX 2010 SP3 unter Win 2008 R2.
Führe ich das Screen direkt aus funktioniert es fehlerfrei.
Woran kann das liegen?
Hallo,
wo kann ich das zip archiv finden
lg Lukas
Hallo,
vorab großes Kompliment für das Programm. Echt super!
Ich habe seit kurzem das Problem, dass das Modul Mailreport.ps1 nicht mehr funktioniert. Das Modul wird gestartet, ich sehe auch, dass die Nachrichtenverfolgungsprotokolle durchsucht werden, aber dann tut sich nicht mehr. „Working on Module ‚mailreport.ps1‘:_“ mit blickendem Kurser. Entferne ich das Modul, werden die anderen Module ausgeführt. Im Errorlog wird leider auch nichts geloggt.
Es handelt sich um einen Exchange 2010 SP3 mit aktuellem CU. Hat vielleicht jemand eine Idee, woran es liegen könnte, bzw. wie man den Fehler eingrenzen kann? Server wurde bereits mehrfach neu gestartet und die Programmdateien durch die Originalen auch schon ersetzt.
Für Hilfe wäre ich sehr dankbar.
Gruß
Marc
Habs, einfach Set-ADServerSettings -ViewEntireForest $True in den betroffenen (habe fast alle genommen) PS in Zeile 1 reinpacken und schon guckt der Reporter in den kompletten Wald ;)
Hat vllt. noch jemand Rat für diese Fehlermeldungen, der Report wird zwar geliefert aber bis dahin halt mit diesen Fehlern.
-Start– 04/24/2016 22:08:42
esareport.ps1
Die Benennung „New-SSHSession“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
mxreport.ps1
Die Benennung „Resolve-DnsName“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
rblreport.ps1
Die Benennung „Resolve-DnsName“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
Fehler: PowerShell ActiveDirectory Modul nicht gefunden
careport.ps1
Die Benennung „get-ca“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
-End— 04/24/2016 22:28:03
Bzw. nicht nur welche sondern auch an welcher Stelle ;) 1. Zeile, rein damit ? :D
DANKE!!
Hi Gero,
ja genial, danke!!
Kannst du mir noch sagen was bei dir welche Skripte du „angepackt“ hast?!
Habe eigenlich alle Skripte aktiv bist auf die, die „externe“ Sachen Monitoren wie vMWare, Kemp und Co!
Besten Dank und schönen Abend
Hallo Heydemar,
genau darüber bin ich auch gestolpert: In den betreffenden Skripten habe ich folgende Zeile am Anfang hinzugefügt:
Set-ADServerSettings -ViewEntireForest $True
Ich hoffe, Dir und anderen damit geholfen zu haben. Noch einmal Dank an Frank für die Bereitstellung! Vielleicht könnte das per Default in der nächsten Version eingeschlossen werden – wer es nicht braucht, den sollte es auch nicht stören.
Gruß, Gero
Hallo zusammen,
ich habe den Reporter nun im Einsatz und validiere gerade die Werte, dabei ist mir aufgefallen dass, der Reporter leider nur Reports aus der Root-Domäne zieht und nicht aus dem gesamten Forest bzw. aus den Child-Domain in denen auch User/Postfächer liegen.
Der Ex2013 steht in der Root, jedoch gibt es noch x Child-Domain`s dieser werden leider beim Reporten nicht betrachtet…
Kann ich da etwas tun !?
Danke und Gruß!
Hi Andreas,
nicht zu danken – bin aktuell auch dran, du wirst jedoch bei der Koexistenz an einigen stellen ggfs. falsche Werte bekommen, aber sollte nur in der Zeit der Koexistenz sein…
Schau dir auch mal den ExchangeMonitor an… die beiden Tools in Kombination sind schon genial ;)
Schöne Grüße
Guten Morgen Heydemar,
TOP!!!
Jetzt geht’s bei mir auch – vielen Dank für den Tipp :-)
Wird mit dem tollen Exchange Reporter jetzt mal bisschen spielen und anpassen.
Gruß
Andreas
Habe es hinbekommen, wenn ich die Initiale PS mit folgenden Argument ausführe klappt es:
.\New-ExchangeReport.ps1 -ExchangeVersion 2013
Hi Andreas, bei mir das selbe, habe aktuell eine Koexistenz von 2007/2013…
Komme auch leider nicht über denFehler hinweg…
Auf meinem Exchange 2013 im Labor läuft der Reporter ohne Probleme.
Wäre super wenn man das fixen könnte…
DANKE!!
Bernd, wenn Du mich meinst…
Nein. aber wir migrieren gerade Von Exchange 2007 auf 2013.
Ist das ein Problem?
Fahrt ihr mixed environment mit Exchange 2013 und Exchange 2016?
Hier noch ein paar Versionen – vielleicht hilft das ja:
[PS] D:\Scripts\Tasks\Exchange_Reporter_3.1>$PSVersionTable
Name Value
—- —–
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.42000
BuildVersion 6.3.9600.17400
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
ExchangeVersion AdminDisplayVersion
————— ——————-
0.1 (8.0.535.0) Version 15.0 (Build 1156.6)
Checking for Powershell Version 4.0: OK
Loading functions from Include-Functions.ps1: Done
Loading settings from settings.ini: Done
Setting Report Language: DE
Loading Exchange Management SnapIn: Done
Checking Exchange Management Shell: Error (Wrong EMS Version)
Hallo heydemar,
bei mir ist das gleiche Problem.
Ganz neuen Exchange 2013 mit CU11 auf Windows 2012r2.
Schade – der Report wäre wirklich super für mich.
Vielleicht hat ja noch jemand eine Idee!?
Gruß
Andreas
Hi Christian,
danke für deine Antwort, dies wird aber im Skript an erste Stelle schon gechekt und ist bei mir mit OK bestätigt worden:
Checking for Powershell Version 4.0: OK
Gruß
Hi Frank,
danke für dieses geniale Tool, ich habe auf einem 2008er R2 mit Exchange 2013 Build 1156.6 das Problem das er mir folgende Meldung rausgibt, was kann ich tun!?
Checking Exchange Management Shell: Error (Wrong EMS Version)
Der Fehler tauchte hier auch schon ein paar mal auf, jedoch konnte ich keine Lösung entnehmen.
Ich habe deine frischste Version (3.1) des ExchangeReporters genommen.
Gruß und Danke!
Hallo Haydemar,
der Fehlermeldung nach (Wrong EMS Version) würde ich mal sage, Du hast die falsche Powershellversion auf Deinem 2008R2 installiert. Der Exchange-Reporter braucht zwingend Powershell 4.0 oder höher.
gruß,
Christian
Thanks Frank for looking to this.
Also Frank is it possible we cna pout the DB names into a column. I have more than 500 DBS and scrolling them and looking for info takes lot of time.
Hallo Frank,
das Skript funktioniert super bis auf mbxreport.ps1. Da bekomme folgende Fehlermeldung:
mbxreport.ps1
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
Was kann ich tun um den Fehler einzugrenzen?
I resolved all the errors relating to Cannot convert value to [double] by using Split
$dbsizegb= $dbsize.Split(‚ ‚)[0]
The above works and takes out the problem of converting the values in GB. Hope it helps other.. The code is very good but needs more fixing.. I will try now fix the other error on mbxreport „You cannot call a method on a null-valued expression“
Hi sanju,
I’m currently working on the next release. I will have a look at this. Thanks for your reply.
regards, Frank
Also on all Mbreport db report I keep getting
dbreport.ps1
Cannot convert value „4.375 GB (4,697,620,480 bytes)“ to type „System.Double“. Error: „Input string was not in a correct format.“
-End— 04/06/2016 23:49:17 ———————————————————————————-
Hallo,
schließe mich dem Problem von Silivio an. Hab das gleiche Problem, es kommen keine Reports per Mail an.
MfG
hello Frank need some urgent help.
I get the below if i add the mbxreport module. I am not sure which null value its taking about.. Please help
-Start– 04/06/2016 14:10:47 ———————————————————————————-
mbxreport.ps1
You cannot call a method on a null-valued expression.
-End— 04/06/2016 14:13:55 ———————————————————————————-
Hallo Franky
Ein grossartiger Report-Script, danke dafür.
Deine INI-Settings Unterstützung und der modulare Aufbau ist klasse.
Dein Code hat mich inspiriert, einen meiner bestehenden „Virtual Infrastructure Report“ Scripts, neu zu schreiben.
Ich hätte da ein Paar Vorschläge, wie man den Code verbessern / vereinfachen könnte:
– generierten HTML-Code verschönern (HTML beautifier :-)
– CSS Unterstützung
– Ein Paar hilfreiche Functions für die include-functions.ps1
Kannst dich gerne mal melden, wenn du mal Zeit hast.
Gruss
Ajdin
Hallo Frank,
prima Scripte, vielen Dank.
Ich habe allerdings ein kleines Problem mit dem Mailreport Modul auf einem Exchange 2010 sowie einem 2013er Server.
Es läuft zwar fehlerfrei durch liefert aber in den Mailstatistiken keine Daten (immer 0 Mails).
Im Fehlerlog ist nichts auffälliges zu finden.
Gab es dieses Phänomen schon mal oder hast Du hier einen Tipp parat?
Gruß, Silvio
Hallo Frank,
ich habe mir die Auswertung auch angeschaut und finde sie sehr gut.
Ich hätte noch ein paar Vorschläge bezüglich einer Erweiterung der Auswertung.
Ist es möglich den Report zu erweitern um
– Anzahl von internen Mails/Volumen bei Senden und Empfangen
– Anzahl von externen Mails/Volumenbei Senden und Empfangen
– Aufteilung der Mails nach Anzahl (recipient-count ) bei Senden und Empfangen
Vielen Dank
Gruß Michael
Bekomme den Fehler „Wrong EMS Version“
Exchange 2013 SP1 Version 15.0 Build 1156.6, also CU 11
Powershell:
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.34209
BuildVersion 6.3.9600.17400
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
Hallo Frank, hallo Arno,
habt ihr das Problem mit dem mailreport (Es wurde versucht, durch 0 (null) zu teilen.) gelöst? Würde mich interessieren, sieht nämlich bei mir genauso aus (Exchange 2010).
Gruß Jürgen
Hi Jürgen,
kannst du mir das Errorlog per Mail schicken? Kannst du versuchen in der Datei Mailreport.ps1 die Zeile 280 – 318 auszukommentieren?
Gruß, Frank
Super Reporter doch im Modul rightsreport.ps1 würde ich die Abfrage :
$rights = Get-MailboxPermission $mailbox | where {$_.IsInherited -match „False“ -and $_.user -notmatch „Self“ } noch um folgenden Parameter erweitern : -and $_.Deny -match „False“.
Da die Auswertung sonst nicht ganz richtig ist ! Es werden User angezeigt die angeblich Vollzugriff haben , obwohl Deny = $true ist !
viele grüße
Daniel Fischer
Hallo Frank,
erstmal ein großes Lob für den Reporter 3.0. die Umstellung auf die neue Version hat problemlos funktioniert, ich habe nur das nachfolgende Problem mit dem neuem Script, weis mir da leider nicht zu helfen:(
Errorlog.txt
-Start– 02/02/2016 06:00:04 ———————————————————————————-
dmarcreport.ps1
Ausnahme beim Aufrufen von „Move“ mit 1 Argument(en): „Der Wert darf nicht NULL sein.
Parametername: destinationFolderId“
-End— 02/02/2016 06:37:24 ———————————————————————————-
Viele Grüße aus Leipzig
Hi Mike,
hast du DMARC konfiguriert?
Gruß, Frank
Hi Mike,
der Ordner ‚Archive‘ (oder wie in der settings.ini im Abschnitt DMARC konfiguriert) muss im DMARC Postfach unterhalb des Posteingang existieren.
Siehe auch mein Kommentar vom 16. Oktober 2019 um 23:03.
LG
Timbo
Hallo Frank,
ich habe heute den Reporter 3.0 getestet und mir sind folgende Dinge aufgefallen. Es wäre super, wenn man hier nachbessern könnte. Mache ich auch gern selber mit meinen rudimentären PowerShell Kenntnissen. Müsste nur wissen, was und wo ich angreifen muss.
1. Im Modul Speicherplatz werden Server mit OS Windows Server 2003 nicht mehr ausgelesen. Server ab Version 2008 funktionieren. Ich vermute hier einen Zusammenhang mit der Änderung der WMI Abfrage.http://www.directupload.net/file/d/4252/9x6z8ye9_png.htm
2. Im Modul E-Mail Statistiken unter Übersicht Mails der letzten 7 Tage (je Server), werden die Empfangsvolumen nicht angezeigt, obwohl es in der vorherigen, kumulierten Anzeigekorrekt aufgelistet ist. http://www.directupload.net/file/d/4252/muxjdh5p_png.htm
3. Im Modul SPAM Blacklist, werden von den 10 überprüften öffentlichen IP-Adressen im Report nur zwei ausgegeben. Die auf Blacklisting überprüften IPs ergeben sich doch aus den ermittelten MX-Einträgen (welche auch korrekt sind)?
Freundliche Grüße,
Martin
Hi Martin,
zu Punkt 1) Richtig
zu Punkt 2) Das ist ein Bug und ist bereits behoben, kommende Version steht schon vor der Tür
Zu Punkt 3) Das lässt sich innerhalb von rblreport.ps1 anpassen
Gruß, Frank
Einfach grossartig! VIELEN VIELEN DANK! Funktioniert einwandfrei!
LG aus der Schweiz
Hallo Frank
Vielen Dank für die Arbeit, die Du in die Skripte steckst!
Ich habe eine Verständnisfrage zu den Listen „Top 20 Absender/Empfänger (Anzahl/Volumen)“
Warum sind dort interne und externe Adressen in einer Tabelle vermischt? In erster Linie interessieren mich doch bei den Top-Absendern die internen Kollegen, allenfalls bei den Empfängern kann es interessant sein, neben den internen Top-Empfängern auch die externen Top-Empfänger zu erfahren. Aber in keinem Fall vermischt.
Welchen Hintergrund hat die Vermischung? Kannst Du eventuell einen Optionsschalter einbauen, so dass man das getrentt betrachten könnte?
Vielen Dank und Gruß,
Dieter
Hallo,
großes Lob für den Reporter 3.0. :-)
Ist es möglich, beim SpaceReport die Domaincontroller auszunehmen und nur die Daten der Exchange Server auszuwerten?
Danke
Schöne Grüße
Hallo Frank, bei mir funktioniert das careport Modul nicht mehr. Im Logfile steht:
-Start– 01/19/2016 10:04:35 ———————————————————————————-
careport.ps1
Exception calling „.ctor“ with „1“ argument(s): „Unknown error (0x80005000)“
-End— 01/19/2016 10:04:47 ———————————————————————————-
Hast du eine Idee, woran das liegen könnte?
LG
Henning
Hi Hennig,
da scheint das Laden der PSPKI Module nicht zu funktionieren. Sind die Module für alle Benutzer installiert?
Gruß, Frank
Hallo Frank,
wir haben auf 2 verschiedenen EX 2010 SP3 incl. aktuellen CU (Windows 2008 R2) das Problem, das das Script nicht über den Task ausgeführt wird. Der Task startet zwar, hängt aber dann. Mit der vorherigen 2.6 Version funktionierte das fehlerfrei.
Wird das Script von Hand gestartet läuft es fehlerfrei durch.
Woran kann das liegen ?
Danke für schnelle Hilfe.
Addi
Hallo Frank, habe die gleichen Problem mit der falschen EMS Version. Bei mir läuft das auf einem der Exchange 2013 Server, OS ist Windows Server 2012 R2. Hier das Logfile:
-Start– 01/14/2016 16:57:41 ———————————————————————————-
Wrong EMS Version
Danke für eine schnelle Hilfe.
Henning
Hi,
ich habe eine aktualisierte Version hochgeladen, die es erlaubt die Exchange Version manuell anzugeben.
Gruss, Frank
https://www.frankysweb.de/exchange-reporter-3-0-update-verfuegbar/
Hallo Frank, danke für die schnelle Lösung. So funktioniert jetzt alles wieder. LG, Henning
Hallo Frank
erstaunliche Arbeit
Ein Fehler auf Mailbox Report.ps1 immer die Fehler Sie können eine Methode auf einem Nullwert -Ausdruck nicht nennen
Hallo Frank,
konntest du den möglichen Fehler schon lokalisieren?
VG
Martin
Sorry, bin noch nicht dazu gekommen. Ich versuche mich jetzt aber zeitnah darum zu kümmern. Wäre es möglich das du mir das Errorlog und einen Screenshot der Konsole schickst? Das würde mir sehr weiter helfen.
Gruß, Frank
never Mind I figured it out.. thank you :)
Hello Frank,
I am using the mailreport only and getting an error in log
mailreport.ps1
Attempted to divide by zero.
-Ende— 01/11/2016 15:15:21 ————————————————————————
Hallo Frank,
hatte heute die Version 3.0 probiert – vorher war der Vorgänger erfolgreich im Einsatz. Auch für den Vorgänger war die EMS nötig…
Der Exchange ist ein 2013 CU10
Gruß,
martin
Hi Martin,
ich schaue mir das nochmal an. Denke da hab ich ein Problem.
Gruß, Frank
Hallo Frank,
erst einmal besten Dank für diese neue Version.
Ich habe ein wahrscheinlich kleines Problem.
Bei mir läuft das Ganze auf einem lokalen WIndows 7 64 Pro.
Wenn ich die neue Version starte, bricht Powershell mit dem Fehler ab:
Error (Wrong EMS Version)
Bei der 2.6 lief es noch.
Wird ein bestimmtes CU vorausgesetzt oder was mache ich falsch?
PSPKI und neue Module sind installiert.
Gruß,
Martin
Hi Martin,
welche Exchange Version setzt du denn ein? Auf dem Windows 7 Rechner sind die Exchange Management Tools installiert?
Gruß, Frank
Hallo Frank,
danke für die neue Version, wir nutzen einen Exchange 2013 auf Windows 2012 R2 und erhalten seit der Version 3 folgende Fehlermeldung:
Die Benennung „Get-ClientAccessService“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei….
Hast Du dafür eine Lösung?
Danke
Hi,
vielen vielen Dank!!! Der Report ist einfach genial!!!
Getting an Error on DB Report
type „System.Double“. Error: „Input string was not in a correct format
Hallo Frank
Erstmal vielen Dank für den Reporter.
Ich habe aber das gleiche Problem wie Tim.
Habe nur „externe“ in der Auswertung.
Nach langem Testen und Suchen bin ich auf folgende Seite gestoßen:
https://gallery.technet.microsoft.com/office/Total-Emails-Sent-and-c1daf5e7
Er benutzt Reveice und Deliver und trennt auch interne / externe Mails.
Vielleicht kannst du dir ja auch mal diesen Weg anschauen.
Schöne Grüße
Thomas
Danke!
Hallo Frank,
ich bin leider jetzt erst auf den Reporter aufmerksam geworden und frage mich, was ich vorher die ganze Zeit gemacht habe.
Allerdings habe ich (was wohl ein individuelles Problem ist) ein Problem mit der Auswertungen von dynamischen Gruppen:
Wir haben unsere User in mehrere OUs aufgeteilt. Z.B. liegen die Azubis alles in der OU ORG/User/Azubis.
Nun gibt es eine dynamische Verteilergruppe, welche ALLE E-Mailempfänger beinhaltet, aber nur im Container „Azubis“ sucht.
Die Auswertung vom Reporter greift allerdings nur den Filter der Gruppe auf (alle) und nicht die OU.
Dadurch haben wir auf einmal, lt. dem Report, über 1500 Azubis in unserem Unternehmen. Da wir nur knapp 1000 Angestellte haben finde ich das schon bemerkenswert ;).
Gäbe es die Möglichkeit die OU noch mit in die Reports einzubeziehen?
Danke und schönen Gruß,
Christian
Hi Christian,
du hast Recht, es handelt sich um einen Bug, den ich in der nächsten Version beheben werde (kommt bald). Falls du es nicht abwarten kannst, dann korrigiere Zeile 11 in der Datei dyndgreport.ps1 wie folgt:
$dyndgmembers = Get-Recipient -RecipientPreviewFilter $dyngroup.RecipientFilter -OrganizationalUnit $dyngroup.RecipientContainer -resultsize unlimited | sort Name
Das sollte die Anzahl eurer Azubis wieder auf ein erträgliches Maß reduzieren ;-)
Gruß, Frank
Hi Franky,
kannst du deine Scripte möglicherweise mal in ein öffentliches Git werfen?
Das wäre wirklich praktisch :)
Gruß,
Christoph
Hi,
ich denk mal drüber nach :-)
Gruß, Frank
Hallo Frank,
leider muss ich das nochmal ansprechen, da eine Kollegin unbedingt eine Auswertung der internen Mails für Ihre Weiterbildung benötigt.
Ich hatte ja weiter oben am 13.10. geschrieben, dass nach mehrfachen Versuchen, nur die externen Mails ausgewertet werden.
Kann man da irgendwas machen, dass man nur die internen bekommt, oder das getrennt voneinander auswertet?
Vielen Dank für deine Mühe!!!
Gruß
Tim
Hallo Tim,
schaue dir das Script mailreport.ps1 an. Es wird nicht an internen und externen Mails unterschieden. Es steht dir frei, es nach deinen Wünschen anzupassen.
Gruß, Frank
Hallo Frank,
im dyndgreport.ps1 müsste die „Get-Recipient“ Abfrage ergänzt werden, da der Filter aus der DynDistGroup „RecipientContainer“ nicht berücksichtigt wird. Somit ist die Ausgabe von „Get-Recipient“ nicht korrekt. Ergänzt werden müsste „-OrganizationalUnit“.
In deiner Ausgabe werden also mehr Empfänger angezeigt, als tatsächlich durch die DynDistGroup angesprochen werden.
Grüße,
Ulrich
Hi,
vielen Dank für den Hinweis, daran habe ich tatsächlich nicht gedacht. Ich werde das korrigieren.
Gruß, Frank
Hallo Frank,
vielleicht doch noch eine Idee? Wenn ich in der Shell, auf dem Server auf dem der Exchange Reporter läuft, eine Abfrage starte, dann kriege ich auch immer ein Ergebnis.
Beispiel:
(Get-MessageTrackingLog -Start „10.10.2015 00:00:00“ -End „10.13.2015 23:59:00“ -EventId REC
EIVE -ResultSize Unlimited).count
8378
(Get-MessageTrackingLog -Start „10.10.2015 00:00:00“ -End „10.13.2015 23:59:00“ -EventId SEN
D -ResultSize Unlimited).count
6207
Gruß
Arno
Hallo Frank,
ich habe mir das jetzt über mehrere Tage angesehen und mit verschiedenen Mitarbeitern gesprochen.
Bei mir werden NUR externe Mails im Report aufgeführt.
Die internen fehlen komplett.
Woran könnte das liegen?
Viele Grüße
Tim
Hallo Frank,
beispiel bei mir der Report von heute Morgen.
Ich soll gestern eine Mail versendet haben.
Das ist auch korrekt, wenn man nur die externen berücksichtigt. Alle anderen gestern von mir gesendeten waren intern.
Irgendetwas stimmt da also nicht, wenn du sagst, dass alle ausgewertet werden…
Kann man auch zwischen intern und extern unterscheiden? Wir versuchen die interne und externe Kommunikation auszuwerten.
Dafür wäre das sehr hilfreich.
Vielen Dank und Gruß
Tim
Hi Tim,
das Script mailreport filtert die Message Tracking Logs nach dem Event SEND für gesendete Mails und RECEIVE für empfangene Mails. Wie schon erwähnt unterscheidet das Script nicht zwischen intern und externen Mails.
Gruß, Frank
Hallo Frank,
nochmal vielen Dank für die schnelle Hilfe.
Wenn ich das aber richtig sehe, werden aber nur externe Mails ausgewertet. Für die Auswertung des Kommunikationsverhalten ist es aber auch sinnvoll die internen Mails zu sehen.
Ist das auch möglich?
Vielen Dank und Gruß
Tim
Hi,
es werden interne sowie externe (gesendet und empfangen) ausgewertet. Zwischen intern und extern wird allerdings nicht unterschieden.
Gruß, Frank
Hi,
leider der gleiche Effekt, egal ob „v14“ oder „v15″…
-Start– 10/08/2015 08:53:14 ———————————————————————————-
mailreport.ps1
Es wurde versucht, durch 0 (null) zu teilen.
Gruß
Arno
Hm, interessant. Ich schicke dir morgen mal ein paar Zeilen Testcode, dann lässt sich das besser analysieren.
Gruß, Frank
Hallo,
das ist echt ein super Tool.
Ich hatte allerdings das Problem mit dem InstallPath. Egal wie ich das eingegeben habe, er wollte das Tool nicht ausführen.
Habe nun manuell die New-ExchangeReport.ps1 so angepasst, dass halt mein Installationspfad drin steht. Ist natürlich nicht toll aber immerhin funktioniert es so.
Vielleicht gibt es noch andere Möglichkeiten?!
Außerdem habe ich nun gerade zu Testzwecken gestern ausgewertet.
Mailversand usw. hatte da noch nicht funktioniert. Jetzt geht der Mailversand, aber ich kann den Tag nicht erneut auswerten, da:
„mailreport.ps1
Das Element wurde bereits hinzugefügt. Schlüssel im Wörterbuch: „06.10.15“. Hinzuzufügender Schlüssel: „06.10.15“.“
Wie kann ich das anpassen?
Vielen Dank
Tim
Hi,
den Parameter InstallPath brauchst du nicht mehr angeben. Du musst nur einmal die Shell schließen.
Gruß, Frank
Alle Server sind mit den aktuellsten Patches versehen…
Hi,
wir sind gerade in eine Migrationsphase und haben sowohl noch Exchange 2010 (Version 14.3 ) als auch schon Exchange 2013 (Version 15.0 ) im Einsatz.
„Mailreport“ hat ja auch in dieser Konstellation schon funktioniert.
Ich kann es jetzt nicht hundertprozentig daran festmachen, bin aber der Meinung, daß das Problem seit CU9 für Exchange 2013 besteht…
Der Intervall-Wert ist „1“.
Gruß
Arno
Hi Arno
Ah, ich denke da liegt die Ursache. Mach doch mal folgendes als Workaround: Der der Datei include-functions.ps1 gibt es die Funktion Get-ExchangeVersionByRegistry (Ab Zeile 240). Passe die Funktion mal so an:
function Get-ExchangeVersionByRegistry ()
{
return „v15“
}
Alternativ mal v14 probieren.
Gruß, Frank
Wenn der Teil mit den Durchschnittswerten auskommentiert wird, läuft alles fehlerfrei durch.
Allerdings werden im Bereich „E-Mail Statistiken“ keinerlei Statistiken angezeigt.
Hi,
das habe ich mir schon gedacht. Problem ist folgendes: Bei dir werden (warum auch immer) keine Mails in den Tracking Logs gefunden, im Abschnitt der Durschnittswerte wird dann versucht durch 0 teilen… Doof. Was hast du für ein Intervall in der Settings.ini eingetragen und welche Exchange Version nutzt du?
Gruß, Frank
Gefunden! :-)
Hallo Frank,
stehe gerade ein wenig auf dem Schlauch… :-)
„kommentiere den Teil mit den Durchschnittswerten“ ???
Gruß
Arno
Hallo Frank,
vielen Dank für die Mühe, das Script ist wunderbar. Ein paar Probleme hatte ich in unserer Umgebung allerdings mit einem Exchange 2010 Edge-Server, der in der DMZ steht, z.B nicht per WMI erreichbar ist und dann dazu geführt hat, dass viele Module einen Fehler gebracht haben und gar keine Ergebnisse für die restlichen Server geliefert haben. Wenn es möglich wäre, zumindest die Ergebnisse der fehlerfreien Server in den Report aufzunehmen wäre das sicher nicht falsch.
Außerdem ist mir aufgefallen, dass der spacereport.ps1 die Systemlaufwerke mit auflistet. Das Script filtert dabei nach $_.Label -notmatch „System-reserviert“ – das klappt natürlich nicht bei englischem OS, was aber bei einigen Servern der Fall sein dürfte. Ich habe mir einfach beholfen, indem ich das geändert habe in $_.Name -notlike „\\?\*“ – etwas in der Art wäre vielleicht in kommenden Versionen sinnvoll. Evtl. gibt es auch in anderen Modulen noch ähnliche Bereiche, wo die Sprache des Betriebssystems einen Einfluss hat. Ich gehe nicht davon aus, dass unsere die einzige Umgebung ist, in der Server oft auf Englisch installiert sind…
Hi Flo,
danke für deine Hinweise. Edge Server filtere ich in der kommenden Version 3.0 entsprechend aus. Version 3 wird auch die Sprachprobleme beheben :-)
Schönes Wochenende, Frank
Soeben von 2.3 auf 2.6 aktualisiert. Läuft wie immer 1A – TOP!
Wäre es möglich zukünftig ein Paramater für DNS-Server für die Module mxreport.ps1 und rblreport.ps1 einzuführen. Bei uns im Netzwerk dürfen nur bestimmte Server Server DNS-Anfragen ins Internet schicken. Der Rest ist auf die DCs angewiesen.
Kommando zurück, klar lassen sich die RSAT als Feature nachinstallieren.
Nur das Problem mit dem Mailreport besteht noch…
Hi Arno,
schau mal im Mailreport und kommentiere den Teil mit den Durchschnittswerten aus, läuft es dann durch?
Gruß, Frank
Okay, das Thema RSAT auf Server 2012 R2 scheint sich erledigt zu haben.
Gibt wohl keinen „Trick“, die für 8.1 dort zum Laufen zu bekommen…
Erst mal danke für die schnelle Info!
Message Tracking ist installiert, zumindest kriege ich mit Get-MessageTrackingLog jede Menge Ergebnisse….
Hallo Hab zwei Fehler beim ausführen der Version 2.6
mailreport.ps1
Es wurde versucht, durch 0 (null) zu teilen.
dgreport.ps1
Das Argument kann nicht an den Parameter „ReferenceObject“ gebunden werden, da es NULL ist.
Fehler: PowerShell ActiveDirectory Modul nicht gefunden
Eventuell fehlendes RSAT auf dem 2012 R2-Server?
Hallo Arno,
Ist das Message Tracking aktiviert, der Fehler im Mailreport tritt auf, wenn keine Mails gefunden werden konnten. Für dgreport muss RSAT installiert sein.
Gruß, Frank
Hallo Frank,
vielen Dank für das Update. Leider funktioniert bei uns das Office 365 Modul nicht so ganz. Folgender Fehler wird im Error Log ausgegeben:
-Start– 09/16/2015 14:53:18 ———————————————————————————-
o365report.ps1
Das Argument für den Parameter „Session“ kann nicht überprüft werden. Das Argument ist NULL. Geben Sie einen gültigen Wert für das Argument an, und führen Sie den Befehl erneut aus.
-Ende— 09/16/2015 14:58:37 ———————————————————————————-
Weißt du, woran das liegen könnte?
Vielen Dank im Voraus!
Gruß Sascha
Hi Sascha,
da scheint das Herstellen der PowerShell Session nicht zu funktionieren. Kannst du mal testen, ob du eine Session von dem Rechner aus zu Office 365 Shell herstellen kannst?
https://www.frankysweb.de/office-365-verbindung-zu-exchange-per-powershell-herstellen/
Gruß, Frank
Hallo Frank,
herzlichen Dank für Deine liebevolle Arbeit und den wundervollen Report.
Auf einem Exchange Server haben wir auch private Accounts. Den Mailreport finde ich generell gut, allerding würde ich gerne die Top 10 Listen deaktivieren. Reicht es im mailreport.ps1 die Zeilen 100-180 (zwischen $topsenders und #Durchschnitt in V2.5) auszukommentieren?
Danke und Gruß
Nathan
Hi Nathan,
vielen Dank für das Lob. Ja es reicht die Zeilen auszukommentieren.
Gruß, Frank
Hallo Frank,
man muss in der .ini in deinem Beispiel nur „D:\“ angeben, nicht „D:\HTML“. Scheinbar wird bei der Verarbeitung dann der „lastreport.html“ im Unterordner „HTML\Reporter“ und nicht „\Reporter“ abgelegt.
Läuft. Juhuuu.
Hallo Frank,
im März hatte ich angefragt wg. „als HTML speichern“. Du antwortest darauf dies wäre schon implementiert.
Habe in meiner settings.ini nun einen Pfad angegeben wo der Report landen soll (den Exchange Monitor setze ich nicht ein, daher eben einfach irgend einen Pfad nehmen?). Es gibt aber diese Fehlermeldung:
http://i.imgur.com/vrjLHqL.png
Was könnte das Problem sein? Kurz bevor der Report verschickt wird per Mail, sind die ganzen Dateien doch im TEMP-Ordner, da dachte ich mir, bevor der TEMP-Ordner gelöscht wird kopiere ich einfach den report.html weg… Aber das einbetten der Bilder macht hierbei Probleme.
Was ist denn nun der einfachste Weg das, was ich per Mail bekomme, als Datei zu haben?
Hi Tim,
jep, die Funktion ist schon seit längerem implementiert (mittlerweile auch als PDF-Report). im Handbuch steht auch beschrieben was du dazu tun musst („Report als Website im IIS“). Wenn du nur die HTML-Datei haben willst, musst du keinen IIS drum herum schrauben. Ich machs kurz: Leg ein Verzeichnis an: D:\HTML\Reporter (ja der Unterordner „Reporter“ muss vorhanden sein) und gib nur folgenden Pfad in der Settings.ini an: d:\HTML. Zusätzlich „IntegrateInExchangeMonitor=ja“. Das ist alles. Oder noch einfacher: „AddPDFFileToMail=ja“, das hängt dir an die Mail den Report auch als PDF-Datei an. Dazu aber bitte ins Handbuch schauen: WKHTMLtoPDF Download und Installation
Gruss, Frank
Hallo Frank,
super geniales Tool! Danke vielmals!!
Ein Frage wie kann ich in der Settings.ini mehrere Email Adressen hinterlegen zu empfangen ; funktioniert nicht, da wird dann gar nichts gesendet.
Folgende Fehler erhalte ich noch im ErrorLog:
serverinfo.ps1
In der Endpunktzuordnung sind keine weiteren Endpunkte verfügbar
oabreport.ps1
Ausnahme beim Aufrufen von „DataBindXY“ mit 2 Argument(en): „Der Wert darf nicht NULL sein.
Parametername: yValues“
updatereport.ps1
Die Verbindung mit dem Remoteserver kann nicht hergestellt werden.
Viele Grüße
Michael
Hi Michael,
danke für das Lob. Die Fehler kannst du beheben indem du RemoteWMI aktivierst (steht im Handbuch).
Gruß, Frank
PS: Eine Verteilergruppe funktioniert :-)
Hallo Frank,
es freut mich, dass das Skript weiterentwickelt wird! Kannst Du vielleicht die Mails aus dem Monitoring Skript aus der Statistik heraus rechnen?
Vielen Dank
LG Chris
Hi Christian,
ist in Arbeit. :-)
Gruss, Frank
Hallo Frank,
ja, mit Log erstellen am Mo passt. :-)
Und als Krönung dazu So immer das IIS log bereinigen lassen.
https://www.frankysweb.de/alte-iis-logs-lschen/
Also, jetzt wird 1 Woche zurück geschaut und erst am Mo das IIS log bereinigt.
Hätte ich ja fast mal selbst Recherche betreiben können, aber Danke für den schnellen Tipp.
Hallo Frank,
ok, dann ist halt so. Ist ja kein Beinbruch.
Andere Frage: Woran kann es liegen, dass die Anzahl der Outlook Clients im Report nicht passt? Die schwankt und ist zumeist zu niedrig.
Nutze den Report seit Version 2.0. Es müssten so 14 sein, sind aber max 10, aktuell eher 4, die gemeldet werden.
Exchange 2013 ist (noch) CU5.
Hi Stefan,
die Anzahl der Outlook Clients wird aus den IIS Logs der CAS Server ermittelt. Dabei werden nur die Logs der letzten 2 Tage ausgewertet. Daher kann es durchaus sein, dass nicht alle Clients ermittelt werden können. Wenn du zum Beispiel den Report am Montag erstellst, dann werden die IIS Logs von Samstag und Sonntag ausgewertet, da haben sich bei dir vielleicht einfach die anderen Clients nicht verbunden. Die Zahl ist also immer etwas „unscharf“. Hintergrund ist, die IIS Logs sind in größeren Umgebungen meist recht groß, es dauert ewig die Logs einzulesen und auszuwerten. Bei 14 Clients kannst du das Script aber anpassen, da du wahrscheinlich nicht die Masse an Logs haben wirst. Schau mal in der clientinfo.ps1 in Zeile 18 findest du ….AddDays(-2)…, das kannst du abändern in ….AddDays(-7)…., dann werden die letzten 7 Tage der Logs ausgewertet.
Gruss, Frank
Hallo Frank,
so schaut die Fehlermeldung aus, vielleicht hilft sie ja was:
Verarbeite Modul ‚vmwarereport.ps1‘:get-vm : 29.07.2015 09:40:25 Get-VM VM with name *server*was not
ound using the specified filter(s).
In O:\Exchange_Reporter_2.4\Exchange Reporter 2.4\modules\vmwarereport.ps1:38 Zeichen:8
+ $vm = get-vm $server
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (:) [Get-VM], VimException
+ FullyQualifiedErrorId : Core_OutputHelper_WriteNotFoundError,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetVM
Hi,
sieht aus als könnte er die entsprechende VM mit dem Namen aus der Settings.ini nicht finden. Kannst du via PowerCLI prüfen, ob du die entsprechende VM aufrufen kannst?
get-vm „namederVM“
Gruss, Frank
Hallo und Guten Morgen,
die stehen da drin,
nur das -match „VM“ kann nicht umgesetzt werden
Gruss Rudolf
Hallo,
erst einmal vielen Dank für das super Tool.
es funktioniert auch soweit ganz gut.
Ich bekomme leider noch einen Fehler beim Aufruf des vmwarereport
vmwarereport.ps1
Das Argument für den Parameter „VM“ kann nicht überprüft werden. Das Argument ist NULL oder leer. Geben Sie ein Argument an, das nicht NULL oder leer ist, und führen Sie den Befehl erneut aus.
in der ini ist alles gesetzt
vCenterServer=*server“
vCenterUser=*User*
vCenterPassword=*Password*
VM=*esxhost*
Was habe ich vergessen???
Hi,
bei „VM=“ müssen die VM-Namen stehen, nicht die ESX-Hosts.
Gruss, Frank
Besteht die Möglichkeit die Module auch nur aus zu kommentieren? Wenn ja wie?
Semikolon vor die Zeile
Hallo Frank,
bekomme mit Version 2.4 und Exchange 2013 CU9 immer im Exchange Management log die Meldung:
Cmdlet fehlgeschlagen. Cmdlet Get-InboxRule, Parameter -ErrorAction „SilentlyContinue“ -WarningAction „SilentlyContinue“ -Identity
….
sollte das nicht behoben sein?
Sonst Super Tools von Dir und sehr gute Guides!
Gruß
Stefan
Hallo Stefan,
das bekomme ich leider nicht behoben, Hintergrund: Wenn ein Postfach keine Regeln hat, wird die Meldung generiert. Aber irgendwie muss man ja feststellen ob ein Postfach Regeln hat… :-)
Danke und Gruss,
Frank
Hi Frank
Leider bleibt das Logfile leer:
-Start– 07/20/2015 08:30:37 ———————————————————————————-
Im Task Sheduler habe ich bei Last Run Result: (0x41306)
Task Scheduler launch task „\Exchange-Reporter (www.FrankysWeb.de)“ , instance „powershell.exe“ with process ID 8992.
und 3 Tage später wird der Task gestoppt:
Task Scheduler terminated „{544f782f-de4b-41bd-a99a-dc352dd27b0c}“ instance of the „\Exchange-Reporter (www.FrankysWeb.de)“ task due to exceeding the time allocated for execution, as configured in the task definition. User Action: Increase the configured task timeout or investigate external reasons for the delay.
Gruss
Patrick
Hi Frank
Ich habe immer noch Probleme mit dem Task auf einem 2008 R2 Server. Egal ob ich den Task selber mache oder mit Deinem Skript. Ich habe die gleichen Probleme wie ein User vor mir (siehe unten). Wenn ich das Skript über die Shell ausführe funktioniert es und ich erhalte eine Mail. Beim Task wird der Temp-Ordner erstellt danach bleibt der Task auf „Running“.
System: Server 2008 R2 mit Exchange 2010
Ältere Meldung eines anderen Users:
Habe das Problem, daß ich „New-ExchangeReport.ps1″ auf der Shell zwar problemlos ausführen kann, aber die Aufgabenplanung des 2008 R2-Servers verweigert den Dienst.
Der Benutzer, mit dem die Aufgabe ausgeführt werden soll, ist hat alle erforderlichen Rechte und auch zusätzlich noch die Berechtigung zum Anmelden als Dienst.
Vermeintlich wird die Aufgabe auch ausgeführt, aber es kommt nie zu einer Ausgabe eines Mails mit dem Report, geschweige denn sehe ich im Taskmanager irgendwelche Aktivitäten.
Zudem scheint die Aufgabe permanent im Status „Wird ausgeführt“ zu stehen ohne abgeschlossen werden zu können.
Was könnte die Ursache für dieses Verhalten sein?
Hi,
könntest du mir dazu vielleicht einmal das Errorlog schicken?
Gruß, Frank
Hallo,
Ich habe es, glaube ich, gefunden:
Zeile 15 und 17 im Script „pfreports.ps1“:
Originalscript:
if ($lastbackup)
{
$pflastbackup = get-date $lastbackup -UFormat „%d.%m.%Y %R“
}
Nach Änderungen meiner Seits:
if ($pflastbackup)
{
$pflastbackup = get-date $pflastbackup -UFormat „%d.%m.%Y %R“
}
Ich habe alle „$lastbackup“ mit „$pflastbackup“ ersetzt. Ab da hats funktioniert.
Bin mir nur nicht sicher ob richtig.
Grüße
Michael
Hi Michael,
danke für den Hinweis, da hat sich tatsächlich ein Fehler eingeschlichen. Ich knorrigere es in der neuen Version.
Gruß, Frank
Hallo zusammen,
1.
Sehr sehr cooles Script. Danke
2.
Ich bekomme im Fehlerlog immer diese Meldung:
pfreport.ps1
Cannot bind parameter ‚Date‘. Cannot convert value „29.06.2015 23:26“ to type „System.DateTime“. Error: „String was not recognized as a valid DateTime.“
Muss ich da was Ändern?
Danke und Grüße
Michael
Hallo Frank,
kannst Du die Mails des Exchange Monitors bitte aus dem Exchange Report herausrechnen?
Hi Christian,
danke für den Hinweis, ich werde es in der nächsten Version berücksichtigen.
Vg, Frank
Hallo Frank
Die Erweiterungen der Version 2.3 find ich spitze und wieder mal eine echte Bereicherung! Leider hab ich aber auch ein paar Kleinigkeiten gefunden, die man nachbessern könnte: beim rightsreport werden die Eigenberechtigungen nur ausgefiltert, wenn man eine deutsche Serverinstallation hat. (rightsreport.ps1, Zeile 9: zusätzlich: -and $_.user -notmatch „Self“)
Kann es ausserdem sein, dass SendOnBehalf und SendAs nicht aufgeführt werden?
Irgendwo in der clientinfo muss eine unsaubere Formatierung sein. Ich habe eine Ausführungreihenfolge der Module, die von Deiner abweicht; bei der Reihenfolge clientinfo, oabreport, easreport, dgreport, rightsreport, pfreport gibt’s eine unschöne Tabellenverschachtelung z.T. ohne Daten.
Liebe Grüsse,
Paul
Hi Paul,
vielen Dank für deine Hilfe. An englische Exchange Server habe ich nicht gedacht, habe es wie du empfohlen hast angepasst. Du hast Recht, in der clientinfo.ps1 fehlt hinter Zeile 92 eine Zeile mit „$clientinfo += End-HTMLTable“.
Die Rechte für Sendas und SendonBehalf werden noch nicht erfasst, das kommt in der nächsten Version.
Gruss, Frank
Hallo Frank
danke für die Info. Freue mich schon wenn das geht. Habe leider sehr viele Systeme mit Mountpoints
Das Skript ist wirklich Top. Vielen Dank für die Arbeit die du dir damit machst.
Grüße
Sebastian
Hallo Frank
danke für die schnelle Antwort. Ich habe „enable-psremoting“ auf alle benötigten Servern ausgeführt und meinen Benutzer temporär sogar in die Gruppe der Domain Admins genommen. Exchange Orga Admin ist er bereits drin. Dennoch habe ich diese Fehler. Bei dem Exchange kommt das wie schon gesagt nur bei Mountpoints wo es keine Laufwerksbuchstaben gibt. Die anderen Laufwerke, auch wenn sie auf der gleichen NetApp liegen, aber halt z.B. per ISCSI mit Laufwerksbuchstaben angebunden sind, gehen.
Hast du noch einen Tip?
Grüße
Sebastian
Hi,
Mountpoints funktionieren noch nicht, ich wollte das schon einbauen, aber bin noch nicht dazu gekommen.
Gruss, Frank
Hallo Frank
super Skript. Vielen Dank für deine Arbeit. Ich habe bei 2 Modulen noch einen Fehler, wo ich nicht ganz weiter komme. Vielleicht hast du eine Idee.
Einmal beim Modul „spacereport“. Hier bekomme ich folgenden Fehler bei Mountpoints.
Get-WmiObject : Access denied
At C:\Exchange Tools\Exchange Reporter\modules\spacereport.ps1:44 char:14
+ $volumes = Get-WmiObject win32_logicaldisk -computername $computername| where …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Und bei dem Modul „addsinfo“ bekomme ich folgenden Fehler:
get-wmiobject : Access denied
At C:\Exchange Tools\Exchange Reporter\modules\addsinfo.ps1:103 char:17
+ $computerOS = get-wmiobject Win32_OperatingSystem -ComputerName $computername
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Danke schon mal
Sebastian
Hallo Sebastian,
danke für das Lob. Die Fehler kannst du beseitigen in dem du auf den Exchange Servern und den Domain Controllern „enable-psremoting“ ausführst.
Gruss, Frank
PS: Der Benutzer der den Report ausführt benötigt die Rechte den Server per WMI abzufragen.
Hallo Frank,
habe gerade die neue Version 2.2 installiert.
Läuft alles super, wie bisher, jedoch bekomme ich noch folgende Fehlermeldungen:
-Start– 06/01/2015 10:03:50 ———————————————————————————-
oabreport.ps1
Ausnahme beim Aufrufen von „DataBindXY“ mit 2 Argument(en): „Der Wert darf nicht NULL sein.
Parametername: yValues“
careport.ps1
Die Benennung „get-ca“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
-Ende— 06/01/2015 10:05:21 ———————————————————————————-
Kann es sein, dass man nach der Installation der PSPKI für den CAReport den Server neustarten muss? Das habe ich noch nicht getan, daher vielleicht der Fehler.
Der OABReport funktioniert schon seit Version 2.1 nicht mehr bei uns, in 2.0 hat er noch funktioniert :(
Gruß,
Sascha
Sorry für den Spam!
Hab den Fehler gefunden, irgendwie hat das Script vergessen das TEMP Verzeichnis zu löschen, dann bricht das auch direkt am Start ab.
Wenn man dieses löscht dann rennt das Script auch einwandfrei durch!
Grüße
FETT
Hallo,
bei mir läuft das Script wenn ich es manuell starte.
Aber wenn ich den geplanten Task mache, sagt er zwar abgeschlossen aber irgenwie kommt keine Mail an… Ich habe keine Ahnung was ich da tun kann!?
Enable-PSRemoting habe ich gemacht….
Griasle
FETT
Top Report. Vielen Dank.
Ist es möglich evtl. eine LAST Logon einzubauen. z.b Letzte Anmeldung per Outlook oder Logon per User. Damit können wir verwaiste Postfächer schneller aufspüren.
Lg Thomas
Hallo Frank,
funktioniert super :-)
Gibt es auch die Möglichkeit, ohne allzu großen Aufwand die Top10 Sender nach der gesendeten Datenmenge aufzulisten?
Hi Daniel,
die Idee finde ich gut. baue ich in die nächste Version ein.
Gruß, Frank
Hallo Frank,
ein geniales Tool, herzlichen Dank. Eine Frage habe ich allerdings noch – an welcher Stelle muss ich etwas drehen damit mir alle Postfächer mit allen Umleitungen angezeigt werden ? In der Regel bekomme ich eine Tabelle mit max 10 Einträgen – deutlich zu wenig.
Danke,
Ingo
Hallo,
für welchen Zeitraum werden die Daten angezeigt, können wir das noch anpassen?
Danke
Hallo,
der Zeitraum für die E-Mail Statistiken lässt sich in der INI Datei festlegen.
Gruss, Frank
Hi Frank und danke für die flotte Antwort!
Leider bekomme ich weiterhin die RPC Meldung. Ich werde mir das heute Abend nochmal zu Gemühte führen :)
Die neue Funktion mit dem Reporter im Browser hat bei mir Fehler beim überschreiben der Daten geworfen: Report an Exchange Monitor übergeben:copy-item : Cannot overwrite the item
New-ExchangeReport.ps1:318 char:5
Beste Grüße
n3ro
Hi,
WMI Abfragen müssen ebenfalls zu den Servern (DC und Exchange) möglich sein, der Benutzer benötigt dafür entsprechende Rechte.
Gruss, Frank
Funktioniert super!
Allerdings bekomme ich immer einen RPC Fehler:
####################
Verarbeite Modul ’spacereport.ps1′:Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
At C:\scripts\reporter\modules\spacereport.ps1:44 char:14
+ $volumes = Get-WmiObject win32_logicaldisk -computername $computername| where …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException
+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
######################
Weiß jemand wo ich ansetzen muss?
Beste Grüße,
n3ro
Hallo, enable-psremoting sollte auf den betreffenden Servern helfen.
Gruss, Frank
Hallo Frank,
dabei hat es sich bereits um den kompletten Inhalt der ErrorLog.txt aus dem Reporter_2.1 Root Verzeichnis gehandelt. Mehr steht da leider nicht drinnen oder gibt es noch eine andere Log Datei, die ich bisher übersehe?
-Start– 04/02/2015 12:27:32 ———————————————————————————-
mbxreport.ps1
Exception calling „op_Subtraction“ with „2“ argument(s): „Arithmetic operation resulted in an overflow.“
-Ende— 04/02/2015 13:02:51 ———————————————————————————-
Wohin müsste ich eigentlich die Datei schicken, ich habe nur die Adresse webmaster at frankysweb punkt de gefunden im Impressum?
Gruß, Daniel
Hi,
die Mail Adresse kannst du verwenden. Welche Exchange Version und welches Betriebssystem setzt du ein?
Frohe Ostern,
Frank
Hallo Frank,
das Skript ist wirklich Klasse und kleinere Korrekturen (zum Beispiel ausschließen der Ex2003 Server) konnte ich ohne Probleme vornehmen. Ich habe jetzt nur noch bei dem Modul mbxreport.ps1 folgenden Fehler:
Exception calling „op_Subtraction“ with „2“ argument(s): „Arithmetic operation resulted in an overflow.“
Noch bin ich nicht dahinter gekommen, wie ich diesen beheben könnte. Ist dieser Fehler in diesem Modul schon bekannt bzw. bei jemand anderen schon mal vorgekommen?
Gruß
Daniel
Hi Daniel,
könntest du mir das Errorlog per Mail schicken? Dann schaue ich gerne mal nach.
Gruß, Frank
Super Tool! Mich wundert allerdings eines: Führe ich das Tool auf einen Exchange 2013 aus bekomme ich keine Angaben über die Exchange 2010 DAG. Das EAC „sieht“ die DAG aber sehr wohl.
Feature Request hätte ich auch: Speicherung der HTML Datei direkt auf einem Laufwerk oder aus der Mail heraus.
Hallo Bernd,
danke für den Hinweis, an mehrere DAGs habe ich tatsächlich nicht gedacht. Ich werde das in der nächsten Version einbauen.
Dein Feature Request ist übrigens bereits erfüllt, der Report lässt sich bereits als HTML Datei speichern. In der Settings.ini kannst du beispielsweise folgendes eintragen:
IntegrateInExchangeMonitor=ja
ExchangeMonitorInstallPath=c:\ExchangeReport
Den Ordner „c:\ExhangeReport“ musst du vorher anlegen und den Unterordner „Report“ erstellen. Im Handbuch (welches zugegebener Weise noch nicht ideal ist) steht es unter „Report als Website im IIS“ beschrieben.
Gruß,
Frank
Ist auch aktiviert…
Alle vier Datenbanken haben Postfächer. Das Problem ist schon beim Reporter 2.0 aufgetaucht nachdem wir das CU6 eingespielt haben. Vielleicht hielt das bei der Suche.
Message Tracking ist auch aktiviert?
Gerade den neuen Reporter (2.1) installiert und mehrere Fehler. Hier mal der erste:
Verarbeite Modul ‚mbxreport.ps1‘:Die Argumenttransformation für den Parameter „Database“ kann nicht verarbeitet werden.
Der Wert „XXX-DB02“ kann nicht in den Typ „Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter“ konvertiert werden. Fehler: „Die Hashtabelle kann nicht in ein Objekt folgenden Typs konvertiert werden:
„Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter“. Eine Hashtabelle-in-Objekt-Konvertierung wird im eingeschränkten Sprachmodus oder in einem „Data“-Abschnitt nicht unterstützt.“
+ CategoryInfo : InvalidData: (:) [Get-Mailbox], ParameterBindin…mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-Mailbox
+ PSComputerName : e2k13-admin.XXX.local
Hast Du eine Idee was das sein kann? Wenn Du alle Fehler haben möchtest kann ich die auch per Mail schicken
Hallo Andreas,
hast du eine Datenbank die keine Postfächer enthält?
Gruss, Frank
Problem gefunden. Ein DC ist noch Win Server 2003. Der kann das CmdLet noch nicht und daher kommt der Fehler.
Scheint an diesem Aufruf zu liegen:
DEBUG: 126+ >>>> $eventgroups = Get-WinEvent -ComputerName $eventsrv -FilterHashtable
@{Logname=“*replication*“;StartTime = [datetime]$start;level=2,3} -ea 0| select message,id,timecreated | Group-Object
id
DEBUG: 264+ if ( >>>> $errorlog -match „ja“)
DEBUG: 269+ >>>> write-host „`t`t`tFehler“ -foregroundcolor red
Fehler
Hi Frank. Hab beide schon vorher (als Admin) ausgeführt. Daran scheint es nicht zu liegen.
Hallo Frank,
im Modul ADDSINFO bekommt ich die Fehlermeldung:
„In der Endpunktzuordnung sind keine weiteren Endpunkte verfügbar“
Server2012+Exch2013CU7
Hallo Ulrich,
schau mal ins Handbuch unter Fehlersuche, dort stehen 2 (zur Zeit noch nicht kommentierte Befehle), der mit netsh… könnte helfen.
Gruss, Frank
So hat nun funktioniert, irgendwie mochte das Script den Pfad nicht.
Ich kann bei Installpath angeben was ich möchte, es kommt immer der gleiche Fehler.
Gruß
Gerhard
An der Stelle prüft das Script nur, ob die Include-functions.ps1 unter dem angegebenen Pfad (InstallPath) findet, entweder passt der Pfad also bei dir nicht, oder die Datei ist bei dir nicht verfügbar.
Hallo,
wenn ich versuche die Version 2.1 zu installiert bricht die sofort mit folgenden Fehler ab:
Lade Funktionen aus Include-Functions.ps1: Fehler (nicht gefunden)
Die Settings in der ini Datei habe ich geprüft und da passt alles.
Hallo,
Bitte prüf den Parameter Installpath mit dem du das Script startest.
Gruss Frank
Auch ich kann das ZIP File nicht entpacken (mit Windows eigenem Zip manager und 7zip versucht)
Hallo, habe gerade den Download korrigiert. gruss Frank
Ich glaube der Download ist defekt?! 96kb scheint ein wenig klein und beim entpacken wird ein defektes Archiv gemeldet!
Gruß, Steffen
Hallo Frank,
super Tool, danke dafür!
Ich habe allerdings das Problem, dass der Reporter nur 20 Postfächer unter „Anzahl Postfächer“ anzeigt. Das sollten aber ~190 sein. Die „Postfach Übersicht“ ist entsprechend auch eher nicht repräsentativ.
Hat jemand eine Idee?
Gruß
Hi,
danke für das Lob. Es werden nur die 20 größten Postfächer gezeigt. Der Wert lässt sich aber in der Datei „mbxreport.ps1“ in Zeile 6 anpassen: „… | select -First 20″ zeigt die 20 größten Postfächer. Wenn du das “ | select -First 20″ entfernst, werden alle Postfächer angezeigt, bei vielen Postfächern wird der Bericht dann natürlich relativ lang…
Gruß, Frank
Hallo Frank,
auch mit dem Aufruf -InstallPath erhalten ich den gleichen Fehler
Hallo,
Sind ungültige Werte in der Settings.ini? Ggf. Leerzeichen hinter den Werten?
Gruß, Frank
Hallo,
ich erhalte bei der Installation sofort die Meldung
Lade Funktionen aus Include-Functions.ps1: Fehler
Hallo Gerhard,
bitte Starte das Script mit dem Parameter -InstallPath
Gruss, Frank
Hallo Frank,
super Teil!
Was wäre denn die einfachste Möglichkeit den Bericht nicht nur wöchentlich per Mail zu bekommen, sondern diesen auch in HTML-Form auf einem Netzlaufwerk abzulegen?
MfG
Tim
Hallo Tim,
die Funktion ist Bestandteil der nächsten Version (befindet sich gerade im Test).
Gruss, Frank
Hi Benno,
hast Du den Parameter -Installpath mit übergeben?
Sieht aus, als würde er das Include Script einfach nicht finden.
Gruß
Sven
Hallo Frank,
ich bin gerade auf deinen Exchange Reporter gestoßen.
Ich setze noch Server 2008 R2 + Exchange 2010.
In deiner Beschreibung steht einmal es ist Kompatibel und ein anders mal nicht.
Ist es kompatibel?
Hab es gerade mal versucht, wenn ich die „.\New-ExchangeReport.ps1“ in der Powershell v4 ausführe bekomm ich die Fehlermeldung „Lade Funktionen aus Include-Functions.ps1: Fehler“
Wenn ich das ganze als Trigger auswähle passiert leider auch nichts.
kannst du zu dem Fehler was sagen? Würde das tool gerne Einsetzten
Vielen Dank
Gruß
Benno
Hi Benno,
die Syntax zum Ausführen ist: .\New-ExchangeReport.ps1 -Installpath C:\PfadzurInstallation
Gruß,
Frank
Hallo,
die Fehler mit dem Internet habe ich immer noch nicht gelöst und seit dem Einspielen des Exchange2013CU7 sind unsere Mailstatistiken leer (0 gesendete, 0 empfangene, etc. Auch die Top 10 Sender/Empfänger werden nicht mehr angezeigt. Hat sonst noch jemand das Problem?
VG
Andreas
Lösung von Sven löst mein Problem :)
Vielen Dank!
Man könnte aus den Hashtables in Zeile 78 & 79 in mailreport.ps1, z.B „Ordered Hashtables“ machen.
Also:
$daystotalmailvol +=[ordered]@{$day=$daytotalreceivedvol}
$daystotalmailcount +=[ordered]@{$day=$daytotalreceivedcount}
Dann sind die Tage wieder in der richtigen Reihenfolge.
Gruß
Sven
PS: Super Scripts, man sieht, wie viel Arbeit darin steckt!
Danke, wird in der nächsten Version eingebaut! Ich hatte vorgesehen den Hashtable zu sortieren:
$daystotalmailcount = $daystotalmailcount.GetEnumerator() | sort -Property name
$daystotalmailvol = $daystotalmailvol.GetEnumerator() | sort -Property Name
Aber [ordered] find ich besser :-)
Danke dafür.
Gruß, Frank
Erstmal ein ganz grosses Lob für den Exchange Reporter.
Ein kleines Problem habe ich da noch.
Erstelle ich z.B. einen Report über 7 Tage, wir die Sortierung beider Diagramme Volumen und Anzahl unter „Übersicht Mails je Tag“ falsch dargestellt (die Tagesreihenfolge stimmt nicht, ist völlig durcheinander).
Momentan habe ich folgende Tagesdarstellung:
18.01.15 17.01.15 20.01.15 16.01.15 19.01.15 21.01.15 22.01.15
Leider bekomme ich es nicht hin, die Tage korrekt darzustellen.
Könnten Sie mir helfen, was ich im Script „mailreport.ps1“ genau und wo anpassen müsste?
Habe schon versucht mit einem SORT. Bekomme es leider nicht hin.
Wäre wirklich froh, wenn Sie mir helfen könnten.
Vielen Dank.
Hallo Christian,
ich behebe die Darstellung in der kommenden Version.
Gruss, Frank
Hallo Frank,
vielen Dank für das echt hilfreiche Tool!
Wir benutzen den Reporter schon recht lange und sind natürlich begeistert von der neuen Version 2.0.
Jedoch hat die neue Version auch noch ein paar kleine Fehler, die mir aufgefallen sind.
1. In unseren letzten Reports werden bei den Client-Versionen bei Outlook 2010 und bei Windows Phone keine Zahlen angezeigt.
2. Die Grafiken für die Übersicht der Mails pro Tag werden wild durcheinander angezeigt (also z.B. erster Balken = 18.01.2015, zweiter Balken 16.01.2015, dritter Balken = 17.01.2015, vierter Balken = 12.01.2015, usw.). Das macht das Lesen der Grafiken etwas schwieriger. Schön wäre vielleicht auch eine Wochentag-Beschriftung (Montag, Dienstag, …).
Kannst du da was machen?
Vielen Dank im Voraus!
Gruß,
Sascha
Hi Sascha,
vielen Dank für den Hinweis, ich schaue es mir an und korrigiere die Probleme.
Gruss, Frank
Hallo Frank,
das Tool ist wirklich Klasse. Ich hätte aber noch zwei Verbesserungsvorschläge. 1. Da man sicher nicht immer ALLE Reports erstellen lassen und auch unterschiedliche Intervalle nutzen möchte, wäre es toll, wenn es die Möglichkeit gäbe, die Reports selektiv zu starten. Hierzu habe ich mir unterschiedliche Konfigurationsdateien gebaut, die ich dann bei Bedarf in settings.ini umbenenne. Komfortabler wäre es natürlich, wenn man die zu benutzende Konfigurationsdatei im Script-Aufruf mitgeben könnte. Denkbar wäre auch die Übergabe des jeweiligen Moduls sowie des Intervalls als Parameter. 2. Ich kann das Tool leider nicht direkt auf dem Exchange-Server nutzen, da hier die Voraussetzungen nicht gegeben sind (Powershell Version), daher starte ich es von meinem Arbeitsplatz mit installierten Exchange Verwaltungs-Tools. Nicht alle Reports scheinen aber per Remoteaufruf von zu funktionieren (spacereport.ps1, dagreport.ps1, serverinfo.ps1), da offensichtlich lokale Ressourcen abgefragt werden. Es wäre schön, wenn man das noch ändern könnte.
Hallo Chris,
erst einmal vielen Dank für das Lob. Ich werde deinen Vorschlag mit einer selektiven Settings.ini in die nächste Version mit einbauen. Alle Module lassen sich auch von einem anderen System ausführen. Die Scripte nutzen WMI-Abfragen um an die Daten zu kommen, daher muss WMI aktiviert sein (enable-psremoting) und der Benutzer muss die entsprechenden Rechte haben. Ich selbst lasse das Script ebenfalls immer von einem anderen System aus laufen.
Gruss,
Frank
Hallo Herr Zoechling,
gibt es in Ihrer Lösung für Exch 2010 die Möglichkeit zwischen intern und extern gesendeten Mails zu unterscheiden? Ebenso würde mich interesieren ob Replikationsmails der öffentlichen Ordner ebenfalls mitgezählt werden?
Auf meiner Such im Internet bin ich auf http://gallery.technet.microsoft.com/office/Total-Emails-Sent-and-c1daf5e7 gestossen.
Kann man beide Lösungen irgendwie verbinden?
Hallo
super Sache Frank Danke!
Version 2.0 läuft mit PowerShell 4.0 auch unter 2008R2 mit EX2010.
Kann ich den Bericht an 2 Empfänger zustellen, habe email mit , ; und Space getestet?
Gruss Erich
Hallo
Ich erhalte immer diese Fehler in der Datei errorlog.txt
-Start– 12/12/2014 07:00:05 ———————————————————————————-
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.
-Ende— 12/12/2014 07:10:27
Hallo Frank,
tolles Tool dieser Exchange Reporter. Leider kann ich es (noch?) nicht insetzen. Bei mir rennt Windows Server 2012 (leider ohne R2) und Exchange 2013. Gibt es Hoffnung das es irgendwann eine Version auch dafür gibt.
LG
wynni
Hallo,
ich habe es zwar nicht getestet, aber es sollte auch alles mit Server 2012 funktionieren. PowerShell 4 muss installiert sein, falls das noch nicht der Fall ist.
Gruss, Frank
Hi Frank,
Ich nutze den Exchange Reporter schon seit der ersten Version und bin immer noch begeistert. Danke für die Mühe.
Lg Marina
Hi,
kurze Frage, ist Servber 2012 zwingend oder lüft das Script auch unter Server 2008 r2 (natürlich mit Exchange 2013)?
Danke….
Thomas
Hallo,
das gleiche Problem gibts bei dem Exchange Reporter 2010
Gruß
Marco
Bekomme in der Version 1.4 folgende Error Meldungen:
____________________________________________________________
redirectreport.ps1
Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
easreport.ps1
Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.
____________________________________________________________
Hat da jemand eine Idee?
Hallo,
die nächste Version (bald…:-) ) sollte das Problem beheben.
Gruß, Frank
Hallo,
der Exchane Repoter funktioniert wirklich super.
Ist es geplant, oder kann es eingebaut werden, die Public Folder Database mit zu reporten?
MfG
Marco Würden
Hallo Marco,
ja, das ist möglich, in einer der nächsten Versionen wird es ein entsprechendes Modul dazu geben.
Gruß, Frank
nachtrag: ups Forget it ! wird ja gefixt
Nett, nur wird in der Gesamtstatistik bei gesendeten und empfangen Emails in MB immer die gleiche grösse berechnet, siehe auch in deinem Beispiel Anzahl der Empfangen Mails in MB is genauso gross wie die gesendeten :)
Nachtrag: der Fehler liegt im mailreport.ps1 Zeile 34. Dort muss es heissen
$cells=@(„$totalsendcount“,“$totalreceivedcount“,“$totalsendvol“,“$totalreceivedvol“)
anstatt
$cells=@(„$totalsendcount“,“$totalreceivedcount“,“$totalreceivedvol“,“$totalreceivedvol“)
Freundliche Grüße,
Paul Hahn
Danke Paul, ich werde es in der nächsten Version korrigieren. Gruß, Frank
Hallo.
Vielen Dank für den ExchangeReport, der ist wirklich hilfreich!
Einen Fehler scheint es aber noch zu geben: In der Tabelle der E-Mail Statistik sind die Werte „Volumen Gesendet (MB)“ und „Volumen Empfangen (MB)“ immer identisch; dem entsprechenden Diagram kann man bei „Volumen Gesendet (MB)“ jedoch einen abweichenden Wert entnehmen.
Freundliche Grüße,
Paul Hahn
Genau so etwas habe ich gesucht. Bei mir läuft alles. Danke für das tolle Script.
Viele Grüße
Arndt
Hi,
Super der Ex.Report, ein kleiner Fehler noch:
Gruss Andi
-Start– 06/27/2014 16:21:29 ———————————————————————————-
mbxreport.ps1
Der Wert „49.95 GB (53,634,662,400 bytes)“ vom Typ „Microsoft.Exchange.Data.Unlimited`1[[Microsoft.Exchange.Data.ByteQuantifiedSize, Microsoft.Exchange.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]“ kann nicht in den Typ „System.Int64“ konvertiert werden.
-Ende— 06/27/2014 16:22:54 ———————————————————————————-
Hallo Frank,
folgender Fehler tritt jetzt noch auf.
mbxreport.ps1
Der Wert „2.451 GB (2,631,925,760 bytes)“ vom Typ „Microsoft.Exchange.Data.Unlimited`1[[Microsoft.Exchange.Data.ByteQuantifiedSize, Microsoft.Exchange.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]“ kann nicht in den Typ „System.Int64“ konvertiert werden.
Vielen Dank für deine Mühe
Gruß Björn
Ah, Danke Bjoern. Da habe ich einen Logik Fehler. Ich werde das schnellstmöglich beheben.
Hi,
echt tolles Tool. Danke dafür.
ich bekomme die gleichen Fehlermeldungen wie Michael.
mbxreport.ps1
Ausnahme beim Aufrufen von „op_Subtraction“ mit 2 Argument(en): „Die arithmetische Operation hat einen Überlauf verursacht.“
Exchange 2013 CU5 auf Windows 2012 (3 MBX Server , 2 CAS Server)
Ich kann gerne testen bei mir.
Gruß Bjoern
Hallo,
ich habe gerade die Version 1.1 hoch geladen. Damit sollte das Problem nicht mehr auftreten.
Gruß, Frank
Tolles Script, aber wäre es möglich fehlgeschlagene und erfolgreiche OWA-Logins ebenfalls zu integrieren?
Hallo Frank!
Habe gerade die neue Version eingespielt! Sieht aus als würde nun alles funktionieren :) Vielen Dank dafür!!!
Habe im ErrorLog nur folgende Meldung:
-Start– 06/20/2014 07:24:14 ———————————————————————————-
mbxreport.ps1
Exception calling „op_Subtraction“ with „2“ argument(s): „Arithmetic operation resulted in an overflow.“
updatereport.ps1
The response content cannot be parsed because the Internet Explorer engine is not available, or Internet Explorer’s first-launch configuration is not complete. Specify the UseBasicParsing parameter and try again.
-Ende— 06/20/2014 07:24:35 ———————————————————————————-
Eventuell hilft es Ihnen ;) bei mir scheint jedenfalls alles zu funktionieren.
Liebe Grüße,
Michael
Super Tool!
Habe leider nur ein Problem, der TEMP Folder wird angelegt. Die Reports sind enthalten. Leider erhalte ich aber keine Mail :(
Bitte um Hilfe. Danke :)
Hallo, ich habe gerade die Version 1.0 hochgeladen. Die Version 1.0 erzeugt ein Fehlerprotokoll, vielleicht könnten Sie mir das zukommen lassen?
Gruß, Frank
Noch zwei kleine Bugs:
Der Updatebericht zeigt auch die bereits installierten Updates an und der Umleitungs-Bericht zeigt nur die Regeln vom Administrator / dem User unter dem der Report erstellt wird.
Danke für den Hinweis, ich prüfe es und bereinige die Fehler in der nächsten Version
Cool. Läuft.
Danke!!!!
Läuft perfekt! Ich habe des Reporter für Exchange 2013 schon vermisst, nachdem ich migriert hatte und der Ex2010 Reporter nicht mehr lief.
Alex
Genial, läuft super. Vielen Dank für die Mühe.
Gruß, Thomas