Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Informationen aus ASCII Datei auslesen und weiterverarbeiten mit Powershell

Frage Entwicklung Batch & Shell

Mitglied: HolzwurmCH

HolzwurmCH (Level 1) - Jetzt verbinden

10.01.2012, aktualisiert 17:45 Uhr, 4646 Aufrufe, 1 Kommentar

Schönen Guten Abend

Ich möchte meine Papenheimer hier überwachen und schreibe dazu ein Script, welches das ActiveSync Log auswerten soll und alle jene anzeigt, die Mails synchronisieren. Kontakte und Kalender sind ok, aber eben keine Mails... da sich dies nicht separat sperren lässt, müssen wir den Mitarbeitern vertrauen, das sie nicht auch Mails synchronisieren. Leider hat sich gezeigt, das vertrauen nicht genug ist, so das eine Kontrolle notwendig wird.
Habe nun herausgefunden, das bei Mailsynchronisation via ActiveSync auf dem Exchange ein Eintrag im Log generiert wird und habe die in Frage kommenden Zeilen (sind ja nur noch wenige) in eine neue Logdatei geschrieben.

Nun gehts darum diese neue Logdatei mit dem AD abzugleichen um herauszufinden, welche nicht berechtigten User schummeln.

Brauche dazu eure Hilfe:

Hier 2 Zeilen aus meiner Ascii Datei:

01.
2012-01-09 17:17:21 10.0.x.y POST /Microsoft-Server-ActiveSync/default.eas User=ambrosis&DeviceId=Appl77777777&DeviceType=iPhone&Cmd=Sync&Log=V140_Fc1_Fid:21_Ty:Em_Filt2_St:S_Sk:1289577099_Sst7_SsCmt7_Srv:1a0c0d0s0eA0sd_BR1_BPR0_LdapC2_LdapL312_RpcC26_RpcL46_Pk585510728_S1_As:AllowedG_Mbx:mailserver.domain.net_Dc:DC1.domain.net_Throttle0_Budg(A)Conn%3a0%2cHangingConn%3a0%2f%2PC%3a%24null%2f%24null%2f0%25%2cFC%3a1000%2f0%2cPolicy%3aDefaultThrottlingPolicy%5F5b6fc680-86c1-4ba8-809c-60182f7e8de0%2cNorm_ 443 domain-ag\ambrosis 10.0.x.y Apple-iPhone4C1/901.405 200 0 0 390 
02.
2012-01-09 17:21:30 10.0.x.y POST /Microsoft-Server-ActiveSync/default.eas Cmd=Sync&DeviceId=BA7FCB7103&DeviceType=WP&Log=V140_Fc3_Fid:19_Ty:Em_Filt3_St:R_Sk:1796167908_Sst4_SsCmt4_Srv:1a0c0d0s0e0sd_BR1_BPR0_Fid:7_Ty:Ca_Filt4_St:S_Sk:1441586711_Sst53_SsCmt53_BR1_BPR0_Fid:8_St:S_Sk:145344363_LdapC5_LdapL625_RpcC50_RpcL187_Pk818513548_S1_As:AllowedG_Mbx:mailserver.domain.net_Dc:DC1.domain.net_Throttle0_Budg(A)Conn%3a0%2cHangingConn%3a0%2cAD%3a%24null%2f%24null2cRPCull2f%24null%2f025%2cFC%3a1000%2f0%2cPolicy%3aDefaultThrottlingPolicy%5F5b6fc680-86c1-4ba8-809c-60182f7e8de0%2cNorm_&Translated=T 443 domain-ag\brosis 10.0.x.y - 200 0 0 1078
Was mich nun aus der Datei interessiert ist das Datum zu Beginn der Zeile und der Username mit der Domain. Den Usernamen möchte ich dann mit einer AD Gruppe abgleichen, so das berechtigte User nicht angezeigt werden.
Hilfe brauche ich aber erstmal nur für den Teil, mit dem ich via Powershell zu Datum und Uhrzeit und Username komme. Den Rest such ich dann selber weiter. Hab mir auch ein Buch bestellt zum Thema, aber vielleicht hat ja einer sowas schon gemacht??

Besten Dank für eure Hilfe!
T Holzwurm
Mitglied: HolzwurmCH
17.01.2012 um 11:16 Uhr
Falls es jemanden interessiert:

01.
# Januar 2012 
02.
 
03.
# Definieren von Konstanten 
04.
# Domänenname 
05.
$aDomainName = "mydomainname" 
06.
# Textdatei mit Kürzel der Berechtigten Usern 
07.
$UserListFile = "C:\Scripts\UserListAllowedMailSync.txt" 
08.
# Evtl. Pfadänderungen im Makro anpassen! 
09.
 
10.
# Userliste der berechtigten User erstellen 
11.
# Beispiel 1 mit einer Distributiongroup: Liefert leider nur ausgeschriebene Namen und keine Kürzel 
12.
# Beispiel 2 mit AD Abfrage: Dies funktioniert wohl nur auf einem DC mit Windows 2008 R2 (nicht getestet) 
13.
# Beispiel 3: Die User werden aus einer Textdatei gelesen (nur Kürzel ohne Domainnamen verwenden) 
14.
# $UserList = Get-DistributionGroupMember -Identity "Exchange-ActiveSync-Users" 
15.
# $UserList = Get-ADGroupMember -Identity "Exchange-ActiveSync-Users" -recursive 
16.
$UserList = Get-content $UserListFile 
17.
# Write-Output $UserList 
18.
 
19.
 
20.
# Vortagesdatum wird zusammengestellt 
21.
$a = Get-Date 
22.
$b = $a.AddDays(-1) 
23.
$b = $b.Day 
24.
$c = $a.Month 
25.
$d = $a.Year 
26.
$a = Get-Date "$b/$c/$d" -uformat "%y%m%d" 
27.
 
28.
# Verzeichnis und Pfad der täglichen IIS Logdateien 
29.
$filepath = "C:\inetpub\logs\LogFiles\W3SVC1\u_ex$a.log" 
30.
Write-Output $filepath 
31.
 
32.
# Alle Einträge wo Mails synchronisiert wurden, werden aussortiert (über den Suchtext "Ty:Em") 
33.
# und in einer neuen Logdatei gespeichert 
34.
$LogFileName = "c:\Scripts\Reports\ControlEMailSync$a.log" 
35.
select-string -path $filepath -pattern "Ty:Em" -casesensitive | ForEach-Object {$_.Line} > $LogFileName 
36.
 
37.
# Aus der neuen Logdatei interessieren uns der Name des Users und der Zeitpunkt der Synchronisation 
38.
$dateiinhalt = Get-content $LogFileName 
39.
$iAll = 0 
40.
$iNotAllowed = 0 
41.
# Dateiinhalt Zeilenweise durchgehen 
42.
$dateiinhalt | Foreach-Object { $iAll++;  
43.
# Das Datum und die Zeit stehen in die ersten 16 Zeichen 
44.
$aDatum = $_.Substring(0,16);  
45.
# Der User muss gesucht werden, beginnt aber in jedem Fall mit dem Domain Namen 
46.
$aUser = $_.Substring($_.IndexOf($aDomainName),35); 
47.
# Hier wird der Username von dem restlichen Text getrennt 
48.
$aDomainl = $aDomainName.length + 1 
49.
$aPos = $aUser.IndexOf(" ")-$aDomainl 
50.
$aUser = $aUser.Substring($aDomainl,$aPos); 
51.
 
52.
# Ausgabe der nicht Berechtigten User 
53.
if ($UserList -notcontains $aUser) {$iNotAllowed++; Write-Output "$aDatum $aUser"} 
54.
}  
55.
 
56.
Write-warning "Anzahl Synchronisationen unberechtigter User: $iNotAllowed" 
57.
Write-warning "Anzahl Synchronisationen Total: $iAll"


Die Auswertung funktioniert sowohl mit IPhone's wie auch mit Windows Mobile Smartphones
Ist die Userliste leer, werden halt alle User angezeigt die via Exchange ActiveSync EMails synchronisieren...


Gruss
Holzwurm
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Informationen über AD-User auslesen
gelöst Frage von TungdalBatch & Shell4 Kommentare

Hallo Administratoren, Ich hätte da mal eine Frage zur Formatierung von Powershell-Ausgaben. Und zwar habe ich mit Hilfe des ...

Batch & Shell
Dateiversion mit Bat6chdatei auslesen und weiterverarbeiten
Frage von knomusBatch & Shell1 Kommentar

Hallo, ich möchte mit einer Batchdatei die Version einer Exedatei auslesen. Das Ergebnis (Beispielsweise 3.5.4.0) möchte ich weiterverarbeiten. Wie ...

Batch & Shell
CSV-Datei in Powershell einlesen und mit foreach weiterverarbeiten
gelöst Frage von Pago159Batch & Shell5 Kommentare

Liebe Kolleginnen und Kollegen, ich habe das Script, für die Druckereinrichtung um einiges erweitert, zum einem habe ich einen ...

Installation
Mit Powershell in einer Datei eine Zeile auslesen
gelöst Frage von Bommi1961Installation6 Kommentare

Hallo zusammen, wie bekomme ich es hin, das ich einen Bestimmt wert aus einer Zeil auslesen kann? Ich hab ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 4 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 8 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware7 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...