Exchange 2010 statystyka wysyłanych emaili – messagetrackinglog

emailOstatnio pisaliśmy o tym jak znaleźć wszystkich odbiorców danego emaila:

Exchange MessageTrackingLogs wyszukanie wszystkich odbiorców emaila

 

Teraz przedstawimy skrypt który pomoże nam wygenerować statystykę wysyłanych emaili.

Niemniej jednak nie interesuje nas ilość wszystkich wysyłanych emaili, ich rozmiar, tylko skupimy się na emailach wysyłanych poza naszą organizację Exchange i uzyskamy informację o tym z jakich adresów zostały wysłane, z jakim tematem, ile było tych emaili i do ilu odbiorców zostały przesłane.

Skrypt ten umożliwia uzyskanie informacji o adresach email które wysyłają najwięcej wiadomości na zewnątrz.
Jego działanie oparte jest na sprawdzeniu logów transportowych (TransportLogs) umieszczonych na serwerach Exchange z rolami Hub Transport.

Po otrzymaniu wyników skryptu możemy skorzystać ze skryptu z poprzedniego posta i dowiedzieć się do kogo została wysłana wiadomość.

 

Poniżej przedstawiamy kolejne fragmenty skryptu z opisem działania:

Pierwszy fragment zawiera:

  • definicje obiektów wynikowych z raportami
  • ścieżek do plików przechowujących wszystkie otrzymane wyniki
  • ustawienia do wysłania raportu emailem
  • $MAX_Recipients – liczba odbiorców powyżej której wygenerowany zostanie email z raportem

 

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
Set-AdServerSettings -ViewEntireForest $True

Function New-Array {,$args}

$Report = New-Array
$Report_SMTP = New-Array
$Rep_sum = New-Array
$Rep_SMTP_sum = New-Array

$data = $($((get-date).adddays(-1)).ToString('yyyy.MM.dd'))

#paths to output files
$Out_Rep_file = "d:\Scripts\Logs\Stats\msg_stat_out_$data.csv"
$Out_Rep_sum_file = "d:\Scripts\Logs\Stats\msg_stat_out_sum_$data.csv"

#files with emails with smtp traffic
$Out_Rep_SMTP_file = "d:\Scripts\Logs\Stats\msg_stat_smtp_out_$data.csv"
$Out_Rep_SMTP_sum_file = "d:\Scripts\Logs\Stats\msg_stat_smtp_out_sum_$data.csv"
#file with report attached to email (emails recipients grater than $MAX_Recipients)
$Email_HTML_File = "d:\Scripts\Logs\Stats\Report_outgoing_emails_$data.htm"

#settings for email with report
$mail_from = "exchangereport@domain.com"
$mail_to = "admin@domain.com"
$mail_smtp_host = "smtpserver.domain.local"
$mail_subject = "Report outgoing emails $data"

#variable that defines the threshold for recipients to write to email report
$MAX_Recipients = 100

Continue reading

Exchange MessageTrackingLogs wyszukanie wszystkich odbiorców emaila

Od czasu do czasu potrzebujemy otrzymać listę wszystkich osób do których został wysłany email o danym temacie.

Listę odbiorców w dość prosty sposób możemy uzyskać z transaction logs które umieszczone są na serwerach Exchange z rolami HT.

Oczywiście wcześniej musicie skonfigurować swoje środowisko tak aby logi te były przechowywane przez pare dni na serwerach.

Poniższy skrypt zwraca listę odbiorców, do których został wysłany email o temacie „Test email”, przy czym interesuje nas czas wysłania ostatni dzień.

Ilość dni określamy w zmiennej $DAYS natomiast poszukiwany temat wpisujemy do $SUBJECT.

Skrypt wygląda jak poniżej:

Continue reading

Microsoft Lync 2013 nie aktualizuje stanu obecności z kalendarza Outlook

Lync2013Od początku kiedy zainstalowaliśmy u siebie klienta Microsoft Lync 2013, mieliśmy problem z tym, że Lync 2013 nie aktualizował statusu na podstawie spotkań wpisanych do kalendarza.

Efektem tego było to, że sami musieliśmy ustawiać status klienta Lync 2013 np na Busy kiedy w kalendarzu było wpisane spotkanie, a potem przestawiać go na Available.

Próbowaliśmy różnych sposobów aby status był automatycznie aktualizowany: ponowna instalacja klienta, usuwanie wszystkich danych z katalogu:

C:\Users\rszatkowski\AppData\Local\Microsoft\Office\15.0\Lync

usuwanie i tworzenie konta na serwerze Lync.

Niestety nic nie pomagało, dlatego w ten weekend postanowiliśmy w końcu zająć się tematem na poważnie.

Continue reading

Exchange Lista uprawnień do folderów skrzynki Get-MailboxFolderPermission skrypt

Jeżeli potrzebujecie szybko dowiedzieć się jakie uprawnienia nadane są do poszczególnych folderów oraz podfolderów skrzynki użytkownika możecie skorzystać ze skryptu który prezentujemy poniżej.

W skrypcie wykorzystane jest polecenie Get-MailboxFolderPermission w powiązaniu z Get-MailboxFolderStatistics.

Dzięki Get-MailboxFolderStatistics uzyskamy listę wszystkich folderów oraz podfolderów znajdujących się w skrzynce.
Następnie dzięki Get-MailboxFolderPermission uzyskamy informacje na temat uprawnień przypisanych do danego folderu.

$MBXFolders = @()
$MBXFoldersCorr = New-Object System.Collections.ArrayList
$Permissions = @()
$MBX_tocheck = "JSmith"
$MBXFolders = Get-MailboxFolderStatistics $MBX_tocheck | select folderpath
foreach ($item in $MBXFolders) {
 $temp = $item.FolderPath
 $temp = $Temp.Replace("/","\")
 $MBXFoldersCorr.Add($temp) | out-null
}
foreach ($item in $MBXFoldersCorr) {
Try {
 $MailboxFolder = $MBX_tocheck + ":" + $item
 $Permissions += $(Get-MailboxFolderPermission $MailboxFolder -ErrorAction Stop | Select-Object FolderName,User,AccessRights)
 }
Catch {
 $ReturnedObj = New-Object PSObject
 $ReturnedObj | Add-Member NoteProperty -Name "FolderName" -Value $item
 $ReturnedObj | Add-Member NoteProperty -Name "User" -Value "*Not Applicable*"
 $ReturnedObj | Add-Member NoteProperty -Name "AccessRights" -Value "*Not Applicable*"
 $Permissions += $ReturnedObj
 Continue
 }
}
$Permissions | Sort-Object FolderName,User | Format-Table

 

Skrzynkę która chcecie sprawdzić musicie podać w zmiennej $MBX_tocheck.

Jako wynik działania skryptu otrzymacie liste z trzema kolumnami w których znajdziecieFolderName, User and AccessRights (uprawnienia).

 

 

Microsoft Exchange 2013 Deployment Assistant asystent planowania

Dla osób planujących instalację Microsoft Exchange 2013 mamy dobrą wiadomość.

Udostępniony został Microsoft Exchange 2013 Deployment Assistant dzięki któremu możecie zaplanować wdrożenie Exchange 2013.

Narzędzie dostępne jest przez stronę internetową.
Po uruchomieniu Exchange 2013 Deployment Assistant, możemy wybrać czy interesuje nas wdrożenie:

  • On-Premises
  • Hybrid
  • Cloud Only

 

 

Exchange2013_DeploymentAssistant

Po wybraniu odpowiedniej opcji zadane nam zostaną pytania dotyczące środowiska jakie chcemy utworzyć.
Na podstawie uzyskanych odpowiedzi otrzymamy informację jak powinno wyglądać nasze środowisko z Exchange 2013.

Na szczęście nowe narzędzie obsługiwane jest bez problemów przez większość przeglądarek dzięki rezygnacji z obsługi Silverlight.

Narzędzie dostępne jest tutaj:

Microsoft Exchange 2013 Deployment Assistant

 

Exchange 2010 odzyskanie GRT błąd Netbackup cannot connect to

Jeżeli posiadacie środowisko Microsoft Exchange 2010 z DAG oraz CAS Array, i chcielibyście odzyskiwać backup granularnie za pomocą Symantec Netbackup. to możecie spotkać się błędem:

 

2013-02-08 09:54:11 - Error bpbrm(pid=7200) bpcd on casarray.domain.local exited with status 48: client hostname could not be found
2013-02-08 09:54:11 - Info tar32(pid=0) done. status: 48: client hostname could not be found    
2013-02-08 09:54:11 - Error bpbrm(pid=7200) client restore EXIT STATUS 48: -Your data has been truncated.

lub

Error bpbrm (pid=4046) from client <cas array name>: ERR - unable to create object for restore: \\dagname\Microsoft Information Store\Mail Store\Database\User, name [nuser], rai error = 6
Error bpbrm (pid=4046) client restore EXIT STATUS 5: the restore failed to recover the requested files
From the detailed status of the job in the Activity Monitor:
Error bpbrm (pid=4046) cannot connect to <cas array name>, Operation now in progress (150)
Error bpbrm (pid=4046) client restore EXIT STATUS 58: can't connect to client

Continue reading

Exchange 2010 DAG backup z użyciem Symantec Netbackup

Poniżej chcielibyśmy skrótowo opisać sposób wykonania backupu baz serwera Microsoft Exchange 2010 za pomocą narzędzia do backupu Symantec NetBackup 7.5

Każdy wie, że backupy możemy podzielić ze względu na ilość danych jakie mają zostać zabezpieczone na:

  • Full Backup – pełny backup, backup całościowy wszystkich danych określonych w zadaniu backupowym
  • Incremental backup – przyrostowy, zapisywane są tylko te dane, które powstały lub uległy zmianie od czasu przeprowadzenia ostatniego całościowego lub przyrostowego backupu
  • Differential backup – różnicowy, zapisywane są tylko te dane, które uległy zmianie od czasu przeprowadzenia ostatniego całościowego lub przyrostowego backupu

Nie będziemy się tutaj skupiali jaki backup powinien być zastosowany w jakim przypadku ponieważ to zależy od wielkości środowiska oraz od wymaganego czasu odzyskania danych z backupu.

Niemniej jednak należy zwrócić uwagę, że w przypadku serwerów Exchange backup wykonywany jest:

  • poprzez wykorzystanie VSS (Volume Shadow Services) – umożliwia odzyskanie całego pliku bazy .edb
  • granular backup lub tzw skrzynkowy, umożliwiający odzyskanie z backupu, pojedynczej skrzynki lub emaili znajdujących się w skrzynce.

Poniżej przedstawimy przykładową konfigurację backupu środowiska Microsoft Exchange 2010 SP2, które składa się z DAG zawierającego dwa serwery z rolami Mailbox.

Do backupu wykorzystamy narzędzie Symantec Netbackup 7.5.

Dokumentacja opisująca skonfigurowanie backupu znajduje się tutaj:

NetBackup7.5_AdminGuide_Exchange.pdf

 

Na każdym z serwerów Exchange musimy mieć zainstalowanego klienta Netbackup.

Jeżeli chcemy skonfigurować backup typu Granular Recovery musimy dodatkowo na każdym z serwerów Exchange z rolami CAS oraz Mailbox zainstalować rolę NFS.

Jeżeli nie interesuje Was odzyskiwanie pojedynczych emaili przejdźcie do punktu 2.

 

1. Instalacja roli NFS na serwerach Exchange z rolami CAS oraz Mailbox

Continue reading

Exchange 2010 SP2 RU6 oraz SP3 problem z usuwaniem emaili „unknown error”

Ci z Was którzy już zainstalowali najnowszy Rollup dla Exchange 2010 SP2 czyli Rollup 6 lub zainstalowali SP3 mogą spotkać się z problem dotyczącym usuwania emaili ze skrzynek.

Okazuje się, że po zainstalowaniu RU6 lub SP3 dla Exchange 2010 SP2 użytkownicy mają problem z usunięciem emaila.

Podczas próby usunięcia pojawia się komunikat „unknown error” i email oczywiście nie zostaje usunięty.

Z relacji na forach wynika, że problem może dotyczyć emaili które chcemy usunąć ze skrzynki odbiorczej (inbox) zwłaszcza te które zawierają jakiś załącznik np.: PDF

Co ciekawe problem nie występuje gdy takiego emaila przeniesiemy wcześniej do innego folderu lub spróbujemy usunąć go za pomocą Shift + Del.

Kolejną ciekawostką jest to, że problem ten występuje tylko w Outlooku w trybie Online, oraz w OWA. Natomiast w Outlooku w trybie cache problemu nie ma.

Rozwiązaniem niestety jest odinstalowanie zainstalowanej aktualizacji czyli RU6 dla Exchange 2010 SP2 lub SP3.

Występujące problemy są zgłaszane do Microsoftu, który potwierdza że otrzymuje takie zgłoszenia ale jeszcze oficjalnie na ten temat się nie wypowiedział.