This post is also available in: angielski
Aby dowiedzieć się jak wykorzystywane jest nasze OWA (Outlook Web Applications) przez użytkowników, możemy zastosować dwa poniższe rozwiązania.
W każdym środowisku Microsoft Exchange jeżeli mamy włączoną usługę OWA na skrzynkach użytkowników, możemy sprawdzić jak wiele osób tak naprawdę wykorzystuje dostęp za pomocą OWA do swoich skrzynek.
Pierwsze rozwiązanie to sprawdzenie ilości bieżących połączeń do skrzynek za pomocą OWA.
W tym celu musimy uruchomić poniższy skrypt, wywołując Get-CASActiveUsers dla wszystkich serwerów, które udostępniają połaczenia OWA czyli przeważnie wszystkie serwery z rolami CAS.
Skrypt wygląda jak poniżej:
function Get-CASActiveUsers { [CmdletBinding()] param( [Parameter(Position=0, ParameterSetName="Value", Mandatory=$true)] [String[]]$ComputerName, [Parameter(Position=0, ParameterSetName="Pipeline", ValueFromPipelineByPropertyName=$true, Mandatory=$true)] [String]$Name ) process { switch($PsCmdlet.ParameterSetName) { "Value" {$servers = $ComputerName} "Pipeline" {$servers = $Name} } $servers | %{ $RPC = Get-Counter "\MSExchange RpcClientAccess\User Count" -ComputerName $_ $OWA = Get-Counter "\MSExchange OWA\Current Unique Users" -ComputerName $_ New-Object PSObject -Property @{ Server = $_ "RPC Client Access" = $RPC.CounterSamples[0].CookedValue "Outlook Web App" = $OWA.CounterSamples[0].CookedValue } } } } Get-CASActiveUsers -ComputerName srvCAS01, srvCAS02, srvCAS03
Jako wynik wykonania skryptu otrzymamy ilość sesji w podziale na połączenia RPC i OWA dla poszczególnych serwerów.
Drugie rozwiązanie skupia się na wyszukaniu wszystkich użytkowników którzy łączą się do skrzynek za pomocą OWA w zadanym okresie czasu.
W tym celu musimy wykorzystać logi IIS dostępne na serwerach z rolami CAS, oraz program LogParser.
Program Log Parser możemy pobrać tutaj:
Po zainstalowaniu programu musimy skopiować interesujące nas logi IIS z serwerów CAS do jednego katalogu lub jeżeli posiadamy jeden serwer CAS to możemy odrazu wskazać do niego ścieżkę w skrypcie.
Jeżeli posiadamy więcej niż jeden serwer, musimy skopiować logi, zmieniając ich nazwy tak aby nie nadpisały one logów z innego serwera.
Następnie uruchamiamy Log Parser i wpisujemy:
"C:\Program Files (x86)\Log Parser 2.2\logparser.exe" -i:IISW3C "SELECT cs-username FROM z:\IISLogs\*.log WHERE cs-method LIKE 'GET' AND cs-uri-stem LIKE '/OWA/%' AND cs-username IS NOT NULL GROUP BY cs-username" -o:csv -q:off > D:\OWALogins.csv
Najpierw określamy typu plików wejściowych czyli -i: IISW3C
Następnie pobieramy tylko nazwę użytkownika z logów (cs-username) które zostały przekopiowane do katalogu z:\IISLogs
Jeżeli chcemy uzyskać dane dla określonego miesiąca wystarczy wpisać z:\IISLogs\*03*.log
Następnie określamy, że interesują nas tylko odwołania do OWA, oraz metoda GET.
Na koniec grupujemy wyniki według nazwy konta użytkownika i wynik zapisujemy do pliku OWALogins.csv