ReportWeb - Offene Punkte

"Work in Progress" müsste dieses Projekt heißen, denn kaum hat man eine Sache umgesetzt, hat man schon wieder eine neue Idee. hier ist meine Stichpunktliste:

Diese Seite ist wirklich genauso eine Baustelle wie die darin genannten Punkte. Es ist meine "Stichwortliste", mit der vermutlich nur ich was anfangen kann. Aber hier suche und finde ich sie vermutlich schneller und wer weiß, vielleicht gibt es jemand, der mich zur Einrichtung von ReportWeg in seiner Umgebung anfordert und ein paar weitere Reports damit beitragen lässt.

  • "Trigger" sollte den auslösenden User in der Datei ablegen
    Dann kann der Controller nach Abschluss des Reports z.B. den Benutzer per Mail oder IM informieren.
  • „DATA“ verlagern, dass in den Module-Verzeichnissen etc keine Nutzlaten liegen
  • Reports mit vielen ausgaben /lange  in Datenbank/CSV/XML schreieben
  • Auswerten per ASP.NET mit Filter/Sortierung etc.
    -              ActiveSync
    -              Mailboxlisten
    -              Quotainformationen
  • ASP.NET-Seite um den „Status“ besser zu sehen
    z.B.: Anzeige der aktuellen „Worker“ und deren Aktionen
    z.B. Report in die Workerdatei schreiben.
  • Eventuell einen „UserReport“ ? aus den Cached Daten ?
    - Daten aus dem AD
    - Quota aus der QuotaXML
    - EAS-Partnerschaften
    - Exchange Logons
    - Mail in der Queue
    - Kerberos Ticketsize
    - Admincount
  • Daten immer erst „cachen“ und dann recyclen.
    Ein Report generiert die Daten und die anderen lesen einfach nur. Denkbar sogar Differenz Updates.
  • CacheDateien nach DATA
  • CacheDateen anlegen
  • "Realtimestatus" eines laufenden Jobs aus der Transcsciptdatei
  • Modul
    Autark ablaufbar (Testbar).
    Aufrufparameter optional
    Rückgabe per PowerShell Objekt oder HTML-String
    lokale Konfiguration
    Normalerweise eigenes Verzeichnis für Programm, Daten, Tempdateien, Logdateien
    Logging per Write-host (durch MSXFAQLogger abgefangen)
    Parameter "-ReportWeb"
  • Steuerdatei
    Links Module mit Namen zusammen,
    Generiert Übersichtsseite
  • Jedes Modul (auch Helper) müssen ein Template nutzen um eine ausgabe zu erzeugen
    Ansonsten wird auch keine Error-Ausgabe protokolioert (Dateinamen)
  • DualUser-Skripte  ReportWeb übergibt immer paramter „-ReportWeb:$true“
    Analog zu SCOM mit „SCOM mit „-monitoringcontext:true
  • Einbauen: C:\group\kunden\Hanxxx\Software\monitor.ps1.txt
  • XCOPY-Deployment
    Überlegung: modularisieren. Module in unterverzeichnisse zum Ablage der Daten und option vorlage und Konfiguration
    ein modul kann mehrere reports haben. ein Modul hat option ein Datengenerator
    Jedes Modul in ein Verzeichnis
    Aktuell PS1 startet ModulPS1 welches Daten zurückliefert.
    Denkbar wäre dass PS1 nur Umgebung schafft und ModulPS1 die Daten generiert aber mehrere HTML-Dateien schreiben kann.
    Schlecht wegen namen, Parameter etc. daher besser
    Modul enthält XML-Datei mit Konfig die globaler XML überschreiben kann.
  • ReportWeb mit ASPX
    Durch die einfache Integration von SQL-Abfragen in ASPX könnte die Aufbereitung von Nutzdaten und die Ausgabe getrennt werden. Dies erfordert dann aber einen aktiven IIS
  • Bitlocker Client Liste mit Kennwort
    PCClients, deren BitlockerKEy NICHT im AD hinterlegt ist. !!
  • Reports auslagern in Modul und Modulkname=Funktionsname also nicht Funktionsname gleich
  • Wer hat SendAs ?
    http://exchangeshare.wordpress.com/2008/09/01/how-to-find-all-mailboxes-with-send-as-permission-assigned/
  • Bericht der Mailboxen
    Get-MailBoxDatabase | select-Object Identity, @{Name="ProhibitSendQuota"; Expression={$_.ProhibitSendQuota.Value.ToMB()}}, @{Name="ProhibitSendReceiveQuota"; Expression={$_.ProhibitSendReceiveQuota.Value.ToMB()}}, @{Name="IssueWarningQuota"; Expression={$_.IssueWarningQuota.Value.ToMB()}}
  • Bericht der Public Folder Rechte
    get-publicfolder -recurse -resultsize unlimited | Get-PublicFolderClientPermission | Select-Object {$_.User.IsDefault}, {$_.User.IsAnonymous}, User, @{Name="AccessRights"; Expression={$summe = ""; foreach ($a in $_.AccessRights) {$summe = $summe + $a + ","} $summe -replace ".$"}}
  • Mailboxrechte
    get-mailbox -resultsize unlimited | Get-ADPermission | where {$_.extendedrights -like "*Send-As*"} | Select-Object @{Name="User"; Expression={$_.User.SecurityIdentifier}}, IsInherited, Deny
  • Public Folder Struktur
    Get-PublicFolder -recurse -resultsize unlimited | Get-PublicFolderStatistics -Server b-dc01 | Select-Object ItemCount, @{Name="TotalItemSize"; Expression={$_.TotalItemSize.Value.ToMB()}}
  • Last Mailbox Login
    get-mailbox -resultsize unlimited | Get-MailboxStatistics | Select-Object @{Name="TotalItemSize"; Expression={$_.TotalItemSize.Value.ToMB()}}, ItemCount, @{Name="LastLogoffTime"; Expression={$_.LastLogoffTime.Ticks}}, @{Name="LastLogonTime"; Expression={$_.LastLogonTime.Ticks}}
  • get-mailbox -resultsize unlimited | Get-MailboxPermission | Select-Object @{Name="User"; Expression={$_.User.SecurityIdentifier}}, @{Name="AccessRights"; Expression={$summe = ""; foreach ($a in $_.AccessRights) {$summe = $summe + $a + ","} $summe -replace ".$"}}, IsInherited, Deny, IsValid
  • DelegateReport
    http://gsexdev.blogspot.com.au/2012/06/how-to-series-sample-7-reverse-delegate.html#!/2012/06/how-to-series-sample-7-reverse-delegate.html
  • Ausgabe von Grafiken mit Microsoft Chart Controls für Microsoft .NET Framework 3.5
    http://www.microsoft.com/en-us/download/details.aspx?id=14422
    KB2500170 MS11-066: Description of the security Update für Microsoft Chart Controls für .NET Framework 3.5 Service Pack 1: August 9, 2011
    http://support.microsoft.com/?kbid=2500170 http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=8A80CC03-0DB9-4446-9CE6-159AD02CAB52&displaylang=de Charting with PowerShell
    http://blogs.technet.com/b/richard_macdonald/archive/2009/04/28/3231887.aspx
  • Arbitration Status
    get-mailbox -arbitration | get-mailboxstatistics | select displayname,totalitemsize | converto-html | outfile .\mbreport.htm
  • LyncStatus
    Get-CSWinService  und dann den "ActivityLevel"-String auswerten.
  • C:\\Desktop\queue2html
    - Queue status
    - MAPI Status
  • Lync Nummern
  • AdminCount
    Kennwortzalter http://www.msxfaq.de/tools/pwexpire.htm
  • CompianceCheck: SIP=UPN=MAIL
  • CSV-File um zu speichern, wann welcher Report wie lange gelaufen ist. Um interval zu prüfen
  • Logfile in Verzeichnis mit Datum/Zeit und Reportname eventuell mit aging
  • Angaben mehrerer reports als Kommandozeile
  • Last Laufzeit mit in die Datei
  • CSV-Datei "readOnly". Status in eigene Datei
  • Unterscheiden zwischen "kurzen" und "langen" reports" abhängik von Aktualität und Generierungsdauer
    Reports in CSV-Datei, CSV mit "Minupdateinterval".
    Auch reine "RunJobs" ohne Ausgabe (generierung von Zwischendaten d.h. generatePage nicht, wenn outfile=""
    Lync Rufnummernreport
    msxfaq.logger als Ausgabe in Logfile
    Stop DuplicateRun
    Generisches DWT-Template für alle Seiten (/auch statische seiten ohne Update) mit iener "Content" Block
    HTM-Templates vom DWT-Template abgeleitet als Vorlage für patchen
    generell "Sammeln" von Daten (MailUser, maildl" vorab machen und dann daraus zehren)
    report-Userpassowrdneverexiore, Userpassowrdnotchangeable, PÜWAge
    Module mit Parameter steuerbar machen (z.b. für teilmengen)
    Fehler abfangen oder "Continue" machen
    Triggered
  • MAPI-Connectivity test get-mailboxserver | Test-MAPIConnectivity | select Server,Database,Result,Latency*,Error
  • Umstellung Reports auf Databasetable (id=table1) und FilterMöglichkeit
    Logging in /log und Zeitstempel
    Umstellung auf CSV für reports
    Offen: LastRun schreiben nach lesen. oder als Datei in Config. reportname.run und reportname.last schreiben beim Start
  • Performance Langsam ist REportDL und GalComp
  • Report Updates:
    DupeMail hat nur einen Eintrag Mail über LDAP suchen
  • (Monitor DomAdmin/Exchange Enterprise Admin mit Bordmittel )
    Description in OUs und Gruppen pflegen und per ReportWeb exportieren ?
  • Mailverteiler mit ADUC von DG->SG und Exchange DG-SG unterschiede.
  • - ASP.NET Trigger. schreibt ein Eventlog mit den Parametern als Inhalt, Traskmanager kann getriggert werden.
    - ReportWeb: Modulename = Funktionsname. damit mehrere gleichzeitig ladbar. nur Rückgabe "normen"
  • - Quota nach TopTen, Domain/Alphabet, Farbig nach BeligLimit/Sort
  • - ReportWeb:; MBQuota mit MessageLimit (Individual Limit overwrite global limit)
  • - Report SharedMailbox hat keine Quota
    - ReportWeb JQuery Tablesorter http://tablesorter.com/docs/
  • Exchange Move Requests
[PS] C:\>Get-MoveRequest | Get-MoveRequestStatistics
 
DisplayName        Status                TotalMailboxSize         TotalArchiveSize     PercentComplete
-----------        ------                ----------------         ----------------     ---------------
Postmaster         CompletionInProgress  469.7 KB (480,942 bytes)                      99
BBAdmin            Completed             495.7 KB (507,647 bytes)                      100
  • Modul: PFReplstatus
    Einbauen von C:\group\kunden\Air Berlin\Dokumentationen\Ex2010\pfreplstatus.2.0.ps1
  • ActiveSync enabled Users
    get-casmaibox  -filter {Activesyncenabled -eq $true

    Analog für andere...}

 

Anzeige der Queues
Get-TransportServer | get-queue | `
    select Identity,DeliveryType,Status,MessageCount,NextHopDomain | `
        ConvertTo-Html | out-file C:\Administratoren\queue.htm

Anzeige der Message Activität
(Get-TransportServer | Get-MessageTrackingLog -Start (get-date).addminutes(-5)).count
Eventuell auch historisch mit RRDTOOL ?

PFReplication über Messagetracking
zuerst Aulesen der PF-Stores und dann nach diesen als Sender suchen.

 

ReportWeb: WSUS find unpatchedPCs
ReportWeb: WSUS- alert PCOwner find unpatchedPCs

 

  • Exchange Status Panel
    Übersicht des Status eines Servers
    • Queues, KB, Item, oldest
    • MTrack: SameServer, SameOrg, Internet, PublicFolderReplication
    • Disks (Füllgrad)

 

 

 

Mittelfristtige Reports

Geht etwas in PRTG rein


Messagetracking Reporting
- für jeden Tag eine CSV-Datei mit den Summaries ablegen YYYMMTT.CSV
- beim Start schauen, welche Tage fehlen und diese verarbeiten
- aktueller Tag nicht in die Tagessummary sondern nur in "last24h summary
- Optional Bilder/Grafik mit Logparser, OfficeWeb, RRDTool
- Später "import/Auswertung" nach Benutzern über viele tage hinweg
http://www.msexchangefaq.de/konzepte/reporttools.htm
http://www.msexchangefaq.de/konzepte/report.htm
http://blogs.technet.com/b/exchange/archive/2007/09/12/3403903.aspx
http://blogs.technet.com/b/exchange/archive/2007/11/28/advanced-exchange-2007-transport-logs-troubleshooting-using-log-parser-part-2.aspx

 

LogParser mit LogParser Studio kann sehr gut und schnell z.B. IISLogs auswerten., So könnten auch Reports erstellt werden.