Grupy dystrybucyjne znalezienie zagnieżdżonych grup

Ostatnio opisywaliśmy jak otrzymać listę wszystkich skrzynek znajdujących się w grupie dystrybucyjnej która posiada zagnieżdżone grupy.

 

Niestety za pomocą opisywanej metody nie możecie uzyskać listy grup znajdujących się w grupie dystrybucyjnej.

Aby taka listę otrzymać, musicie napisać mniej lub bardziej skomplikowany skrypt w powershell lub skorzystać z dodatku Quest Powershell Module for Active Directory.

 

Po zainstalowaniu modułu Quest, uruchamiamy konsole powershell i wpisujemy:

add-PSSnapin  quest.activeroles.admanagement

Continue reading

Print Friendly

Grupy dystrybucyjne – lista wszystkich użytkowników w grupie

Jak możemy uzyskać listę skrzynek należących do danej grupy dystrybucyjnej ?
W prosty sposób, poprzez wykorzystanie konsoli EMC i sprawdzenie kto jest członkiem grupy, lub poprzez wykorzystanie powershell w konsoli EMS i użycie polecenia:

Get-DistributionGroupMember Test_Group

 

Dzięki temu uzyskamy listę obiektów znajdujących się w grupie, zarówno skrzynek, kontaktów, jak i innych grup.

I tutaj pojawia się problem, ponieważ jeżeli dana grupa dystrybucyjna zawiera w sobie kolejna, a ta znowu kolejna itd to jak możemy uzyskać listę wszystkich osób które otrzymają emaila po wysłaniu wiadomości na grupę dystrybucyjną ?

Niestety korzystając tylko z polecenia Get-DistributionGroupMember nie uzyskamy takiej informacji.

Polecenie to zwraca jedynie obiekty znajdujące się bezpośrednio w grupie, bez zagnieżdżeń.

W takim przypadku musimy skorzystać poleceń powershell dostępnych dla Active Directory.

W tym celu w konsoli EMS importujemy moduł poleceń Active Directory jak poniżej:

import-module ActiveDirectory

Continue reading

Print Friendly

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

Print Friendly

Exchange Server 2010 dynamiczna grupa dystrybucyjna na podstawie grupy security

 

Jeżeli korzystamy z grup security aby nadawać uprawnienia użytkownikom do danych zasobów, aplikacji itp, czasami potrzebujemy poinformować emailem wszystkie osoby znajdujące się w tej grupie o wprowadzanych zmianach.

Oczywiście możemy kolejno wybierać każdą osobę z tej grupy i wpisywać ją jako odbiorcę emaila, ale co jeżeli tych osób jest bardzo dużo ?

Wówczas możemy skorzystać z dynamicznych grup dystrybucyjnych.

Utworzenie dynamicznej grupy dystrybucyjnej która automatycznie aktualizowałaby się na podstawie zawartości grupy security nie jest takie proste.

Niestety w konsoli EMC (Exchange Management Console) nie mamy możliwości utworzenia grupy która pobierałą by dane z innej grupy
Jeżeli próbujemy utworzyć taką grupę możemy najpierw wybrać opcję, że interesują nas tylko osoby posiadające skrzynki pocztowe jak poniżej

Continue reading

Print Friendly

Exchange Server 2010 export wielu skrzynek do pst

Ostatnio opisywaliśmy jak wykonać eksport skrzynki z Exchange 2010 do pliku .pst oraz jak zaimportować dane z pliku .pst do skrzynki na Exchange 2010.

Exchange 2010 export import skrzynek

Dzisiaj chcemy pokazać jak możecie wyeksportować wiele skrzynek z Exchange 2010 za jednym razem na wybranych na podstawie jakiegoś kryterium.

Jeżeli chcecie wyeksportować wiele skrzynek naraz do plików .pst, musicie najpierw uzyskać aliasy skrzynek które mają zostać wyeksportowane następnie, dla każdego aliasu uruchomić polecenie New-MailboxExportRequest.

Poniżej przedstawiamy przykłady poleceń eksportujących wiele skrzynek z Exchange 2010Below we present few examples how to export mailboxes with specified conditions:

W celu wyeksportowania skrzynek znajdujących się w określonej bazie Microsoft Exchange możemy użyć poniższych poleceń:

ForEach ($mbx in (Get-Mailbox -Database DatabaseName)) {
 New-MailboxExportRequest -Mailbox $mbx -FilePath "\\server\share_pst\${$mbx.Alias).pst" 
}

Continue reading

Print Friendly

Exchange 2010 data ostatniego dostępu do skrzynki

 

Czasami potrzebujemy się dowiedzieć kiedy ostatnio ktoś logował się do swojej skrzynki.
Jak to zrobić ?
Odpowiedź jest z pozoru prosta, wystarczy użyć polecenie Get-MailboxStatistics

Aby wyświetlić czas ostatniego logowania do skrzynki wystarczy wpisać w EMS:

Get-MailboxStatistics JSmith | select DisplayName, LastLogonTime

 

W przypadku skrzynek współdzielonych dobrze jest również wyświetlić konto za pomocą którego nastąpiło logowanie do skrzynki:

Get-MailboxStatistics JSmith | select DisplayName, LastLogonTime, LastLoggedOnUserAccount

 

Jeżeli chcemy wyświetlić informacje dla wszystkich skrzynek znajdujących się na danym serwerze lub w danej bazie łączymy powyższe polecenie z Get-Mailbox którego wynik przekierowujemy do Get-MailboxStatistics.

Continue reading

Print Friendly

Microsoft Exchange Server skrypty

 

Dla osób które piszą własne skrypty Powershell aby ułatwić sobie pracę z Microsoft Exchange, polecamy zaglądnięcie na strony repozytoriów skryptów przeznaczonych do systemów Microsoftu.

Znajduje się tam dość obszerny dział poświęcony skryptom dla Microsoft Exchange Server w podziale na wersje 2003, 2007, 2010. Możecie tam znaleźć nie tylko skrypty pisane w Powershell-u lecz również w VBS, JavaScript, SQL i inne.

Poniżej znajdują się linki do stron ze skryptami:

Microsoft Exchange Script Center

Technet Gallery Exchange Scripts

 

Print Friendly

Exchange 2010 zwiększający się rozmiar bazy

 

Jeżeli administrujecie środowiskiem Microsoft Exchange 2010 możecie spotkać się z problemem szybkiego przyrastania baz Exchange (Exchange database size growing).

Jest to problem występujący dość często i spowodowany jest powiększaniem się rozmiaru dumpster-a skrzynek.

Zanim przejdziecie do dalszej części artykułu wyjaśniającego jak rozwiązać problem z powiększaniem się baz serwera Exchange, upewnijcie się, że backup baz serwera Exchange wykonuje się prawidłowo bez żadnych błędów. Jeżeli backup nie wykonuje się prawidłowo wówczas wszystkie elementy usunięte przez użytkownika przeniesione do dumpster-a (recoverable items) oraz wyłączone skrzynki nie będą automatycznie usuwane po zakończeniu backupu.

Jeżeli sprawdzicie wielkość wszystkich skrzynek w bazie serwera Exchange i suma tych wielkości plus suma miejsca whitespace (AvailableNewMailboxSpace) będzie dużo mniejsza niż rozmiar bazy wówczas możecie mieć problem z usuwaniem elementów z dumpster-a czyli recoverable items.

Informacje o tym jak zmniejszyć rozmiar bazy serwera Exchange poprzez przeniesienie skrzynek z bazy do nowo utworzonej bazy lub poprzez wykorzystanie narzędzia eseutil lub poprzez usunięcie wyłączonych skrzynek możecie znaleźć w naszym wpisie:

Microsoft Exchange 2010 zmniejszenie rozmiaru bazy

 

Na stronach Microsoft Support An Exchange Server 2010 database store grows unexpectedly large możecie znaleźć informację że aby rozwiązać problem z przyrastaniem baz Exchange 2010 należy zainstalować aktualizację Rollup 1 dla Microsoft Exchange 2010 SP2.

Problem z niespodziewanym przyrastaniem baz Exchange 2010 może być spowodowany przez:

  • używanie skrzynki do jurnalingu w środowisku Exchange 2010
  • używanie narzędzi firm trzecich do archiwizacji emaili

Problem przyrastania baz Exchange 2010 powodowany jest przez nie usuwanie przez serwis Microsoft Exchange Information Store wiadomości skasowanych ze skrzynek.

Niestety jeżeli używacie do archiwizacji wiadomości znajdujących się w skrzynkach narzędzi firm „trzecich” np.: Symantec Enterprise Vault, wówczas emaile przenoszone do archiwum są usuwane ze skrzynki użytkownika, a pozostawiane są tylko linki do archiwum. Emaile usunięte trafiają do dumpstera skąd powinny zostać opróżnione po czasie retencji np. 14 dni. Niestety tak się nie dzieje i wiadomości pozostają w recoverable items (dumpster) powodując wzrost jego rozmiaru a co za tym idzie powiększanie się rozmiaru bazy.

Jeżeli zainstalujecie aktualizację Rollup 1 dla Exchange 2010 SP2, wówczas najprawdopodobniej problem ten zostanie rozwiązany jednak tylko dla nowo archiwizowanych elementów, natomiast to rozwiązanie nie powoduje usunięcia uprzednio zarchiwizowanych elementów znajdujących się w dumpsterze. 

Więcej informacji na ten temat możecie znaleźć na stronie Symantec Support, link poniżej:
Archiving of an Exchange 2010 database does not generate the expected amount of re-usable whitespace

 

Exchange 2010 jak rozwiązać problem powiększających się baz:

 

Po zainstalowaniu Rollup 1 dla Microsoft Exchange 2010 SP2 musimy sprawdzić czy nasze bazy mają prawidłowo ustawione wartości przetrzymywania elementów usuniętych (deleted items retention), oraz czy poprawnie są zdefiniowane wartości Quoty dla elementów usuniętych.

Aby sprawdzić ustawienie Deleted Items Retention dla bazy Exchange 2010, musimy uruchomić Exchange Mangement Shell (EMS) i wpisać poniższe polecenie:

Continue reading

Print Friendly

Exchange 2010 wersja systemu, build number

 

Od czasu do czasu potrzebujemy sprawdzić dokładną wersję systemu Microsoft Exchange server oraz zainstalowane Rollupy i Service Pack.

Na stronie Microsoft Support: Determine Exchange Version możemy znaleźć informację o tym jak otrzymać numer wersji oraz build number dla Exchange server w zależności od tego czy jest to Exchange 2003, 2007, 2010.

 

Dla Exchange 2007, 2010 numer wersji lub buildu możemy uzyskać za pomocą Exchange Management Console jak poniżej:

  1. Start the Microsoft Exchange Management console.
  2. In the navigation pane, expand the Server Configuration objects until you locate the server object, and then select the server object.
  3. On the right side, notice the Exchange version number.

 

 

Za pomocą Exchange Management Shell możemy uzyskać wersję Exchange 2007, 2010:

  1. Start the Microsoft Exchange Management shell.
  2. Run the following command at the command line:

 

Get-ExchangeServer | select name, AdminDisplayVersion, ExchangeVersion

 

 

Niestety obie te metody w przypadku sprawdzania wersji serwera Exchange 2007 oraz 2010 nie są prawidłowe. 

Poprzez zastosowanie powyższych sposobów nie uzyskamy dokładnej wersji oraz numeru build-u.

 

Continue reading

Print Friendly

Exchange 2010 databases tworzenie wolnego miejsca white space

 

W Exchange 2010 każda baza skrzynek posiada coś takiego jak White Space czyli wolną przestrzeń zawartą wewnątrz bazy, która to przestrzeń jest zajmowana w przypadku przyrostu skrzynek lub tworzenia nowych skrzynek w bazie. Dzięki temu, podczas tworzenia skrzynek w bazie lub podczas ich przyrastania, najpierw zajmowana jest ta przestrzeń, a dopiero w przypadku jej braku powiększany jest rozmiar samego pliku bazy .edb.

Każdy z nas raczej dba o to żeby pliki bazy .edb nie przyrastały niepotrzebnie, ponieważ podczas usuwania skrzynek z bazy pliki te same nie maleją. Aby zmniejszyć ich rozmiar musimy albo przenieść wszystkie skrzynki do innej bazy i wówczas bazę źródłową skasować i założyć od nowa albo ją odmontować i poddać defragmentacji. Więcej o zmniejszaniu rozmiaru bazy możecie przeczytać tutaj:

Microsoft Exchange 2010 zmniejszenie rozmiaru bazy

 

Czasami gdy widzimy, że ilość wolnego miejsca (white space) w bazie jest już bardzo mała, wówczas możemy to miejsce zwiększyć poprzez:

  • przeniesienie kilku skrzynek do innej bazy gdzie jest wolne miejsce
  • wymuszenie usunięcia wyłączonych skrzynek
  • wymuszenie usunięcia kopii skrzynek (soft deleted), które pozostały po przeniesieniu ich do innej bazy

 

Exchange 2010 sprawdzenie AvailableNewMailboxSpace (white space) w bazie:

Ilość dostępnego wolnego miejsca (AvailableNewMailboxSpace) we wszystkich bazach na serwerze MBX1 możemy sprawdzić poniższym poleceniem:

Get-MailboxDatabase -server MBX1 | select Name, DatabaseSize, AvailableNewMailboxSpace

lub jeżeli chcemy sprawdzić dostępne miejsce w bazie DB01:

Get-MailboxDatabase DB01 | select Name, DatabaseSize, AvailableNewMailboxSpace

 

Jeżeli w dniu dzisiejszym wyłączaliśmy jakieś skrzynki i chcemy je zobaczyć w disconnected mailboxes wówczas musimy ręcznie wymusić uruchomienie agenta czyszczenia baz serwera Exchange.
W tym celu aby zostały sprawdzone wszystkie bazy serwera MBX1 wpisujemy poniższe polecenie:

Get-MailboxDatabase -server MBX1 | Clean-MailboxDatabase

Po wykonaniu się polecenia, wszystkie skrzynki wyłączone dzisiaj zostaną oznaczone jako wyłączone i będziemy je mogli znaleźć w konsoli EMC w Disconnected Mailboxes.

Exchange 2010 lista wyłączonych skrzynek:

Posiadając informacje o wyłączonych skrzynkach w danej bazie, możemy się dowiedzieć ile wolnego miejsca w bazie możemy uzyskać w przypadku usunięcia tych skrzynek..

W celu otrzymania listy wszystkich wyłączonych skrzynek znajdujących się w bazach serwra MBX1 wykonujemy:

Continue reading

Print Friendly