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:\Users\fcarius\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.