Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4458 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
gelöst Variable aus ini Datei auslesen und weiterverwenden (17)

Frage von n0cturne zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...