Remote Exchange PowerShell in Powershell ISE jak dodać połączenie do Exchange

 

Często pracując z serwerami Micorosoft Exchange korzystamy z konsoli EMS czyli Exchange Management Shell. Dzięki temu mamy dostęp do wszystkich poleceń dostępnych  w powershell dla serwerów Exchange.

Niestety większość z nas aby uruchomić konsolę EMS najpierw łączy się do serwera Exchange zdalnym pulpitem lub do innego serwera z zainstalowanymi narzędziami Exchange.

Całkiem prosto możemy to zmienić i uruchamiać sesję PowerShell do naszego serwera Exchange z naszej stacji (laptop, desktop).

Poniżej przedstawimy jak łatwo można dodać wpis do menu Powershell ISE który pozwala nam na wywołanie zdalnej sesji Powershell do serwera Microsoft Exchange.

Na początek uruchamiamy Powershell ISE i w okienku wpisujemy:

Set-ExecutionPolicy RemoteSigned

 

a następnie:

$profile

 

 

Dzięki temu uzyskamy informację o tym gdzie powinien znajdować się nasz plik w którym możemy definiować profil uruchamianej konsoli PowerShell na stacji roboczej.

 

Aby sprawdzić czy plik istnieje możemy albo przejść do wskazanej lokalizacji albo wpisać w konsoli:

test-path $profile

Continue reading

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

 

Disconnected Mailboxes jak je usunąć samemu

Jeżeli w Microsoft Exchange 2010 usuwamy skrzynki użytkowników poprzez wybranie Remove lub Disable, skrzynki wraz z zawartością nadal są przechowywane w bazie Exchange.

Różnica pomiędzy operacją Remove a Disable:

  • Disable – powoduje odłączenie skrzynki emailowej od konta użytkownika w Active Directory pozostawiając konto użytkownika włączone, skrzynka zaznaczana jest jako Disconnected, znika z książki adresowej i możemy ja ponownie podłączyć przechodząc w EMC do: Exchange Organization –> Recipient Configuration –> Disconnect Mailboxes
  • Remove – powoduje usunięcie konta użytkownika w Active Directory

Jeżeli chcemy wyświetlić listę skrzynek będących w stanie Disconnected znajdujących się w danej bazie wówczas korzystamy z polecenia:

Get-MailboxStatistics -Database "MailboxDatabase" | Where { $_.DisconnectDate -ne $null } | select DisplayName, DisconnectDate,TotalItemSize, TotalDeletedItemSize

Jeżeli natomiast chcemy wyświetlić wszystkie wyłączone skrzynki na serwerze:

Get-MailboxStatistics -Server MBXServer | where { $_.DisconnectDate -ne $null } | select DisplayName,DisconnectDate | sort DisconnectDate

Continue reading

Exchange 2010 ilość skrzynek Powershell

Nieraz spotykamy się z potrzebą określenia ile skrzynek w danym momencie znajduje się w poszczególnych bazach lub na całym serwerze Microsoft Exchange.

Informacje takie możemy w łatwy sposób otrzymać za pomocą Exchange Management Shell wykorzystując CmdLety dla Exchange 2010.

Przykładowe zastosowania:

Określenie ilości wszystkich skrzynek w Organizacji Exchange

(Get-Mailbox -ResultSize unlimited).count

opcji resultsize nie musimy stosować jeżeli nasze środowisko ma nie więcej niż 1000 skrzynek.

Liczba skrzynek w poszczególnych bazach:

Get-Mailbox -ResultSize unlimited | Group-Object -Property:Database | Select-Object Name,Count

Continue reading

Search-Mailbox wyszukiwanie i usuwanie określonych emaili

Każdy administrator systemu Microsoft Exchange Server kiedyś napewno spotkał lub spotka się z sytuacją w której będzie musiał znaleźć określony email w skrzynkach i czasami nawet go usunąć.

W Microsoft Exchange 2010 do przeszukiwania skrzynek możemy z powodzeniem wykorzystywać polecenie Search-Mailbox.

Najpierw jednak należy się upewnić że mamy możliwość uruchamiana poleceń Search-Mailbox oraz New-MailboxImportRequest.
Jeżeli podczas próby uruchomienia polecenia New-MailboxImportRequest otrzymamy komunikat:

 “The term ‘New-MailboxImportRequest’ is not recognized as the name of a cmdlet”

oznacza to że nie posiadamy odpowiednich uprawnień.

Nadanie odpowiednich uprawnień:

W Active Directory tworzymy uniwersalną grupę security np ExchangeImportExport_Allowed

Następnie w EMS (Exchange Management Shell) nadajemy odpowiednią role (RBAC) tej grupie jak poniżej:

New-ManagementRoleAssignment -Name "Import Export Mailbox Admins" -SecurityGroup "*ExchangeImportExport_Allowed*" -Role "Mailbox Import Export"

Po nadaniu odpowiednich uprawnień jesteśmy już przygotowani do przeszukiwania skrzynki.

Continue reading

Exchange 2013 zmiany w PowerShell

Już wcześniej publikowaliśmy listę nowych poleceń PowerShell dostępnych w Microsoft Exchange 2013.
Przeczytać o tym można tutaj:
Exchange 2013 Powershell

Okazuje się, że wraz z pojawieniem się dodatkowych nowych poleceń ułatwiających pracę z Exchange 2013 przy użyciu PowerShell, zniknęło również pare poleceń dotyczących obsługi Folderów Publicznych. Zapewne ma to związek ze zmianą organizacji folderów publicznych w nowym Exchange.

Poniższe polecenia nie będą już dostępne w Exchange 2013:

Continue reading

Microsoft Exchange 2010 zmniejszenie rozmiaru bazy

Jak wiadomo w Microsoft Exchange rozmiar bazy po usunięciu skrzynek nie zmniejsza się lecz pozostaje taki sam.
Powstaje natomiast w bazie „luka” tzw. White Space który informuje nas o ilości dostępnego miejsca, które może być wykorzystane bez potrzeby powiększenia rozmiaru pliku bazy .edb.
Dopiero po wypełnieniu White Space, dalszy przyrost rozmiaru skrzynek w bazie, spowoduje zwiększanie rozmiaru pliku .edb.

W przypadku baz Microsoft Exchange rozwiązanie takie jest kłopotliwe, ponieważ aby zmniejszyć rozmiar pliku .edb po usunięciu skrzynek z bazy przeważnie musimy użyć narzędzia  ESEUTIL za pomocą, którego wykonywaliśmy defragmentację bazy.
Operacja taka miała swoje wady, ponieważ niosła za sobą ryzyko uszkodzenia bazy, oraz na czas defragmentacji baza musiała być odmontowana co powodowało brak dostępu do skrzynek.
Czas defragmentacji jest dość długi, średnio 5-7GB defragmentowane jest w czasie 1h. Dlatego defragmentacja przeciętnej bazy trwała około 24h.

Aby zapewnić użytkownikom ciągłość dostępu do skrzynek podczas zmniejszania rozmiaru bazy, możemy w Microsoft Exchange 2010 utworzyć nową bazę, następnie przenieść wszystkie skrzynki ze zbyt dużej bazy do nowej bazy, po czym usunąć starą bazę.
Dzięki temu rozmiar nowej bazy będzie odpowiadał sumie rozmiarów znajdujących się w niej skrzynek, a wolne miejsce White Space zostanie wyeliminowane.
Dzięki temu możemy uzyskać znaczny spadek rozmiaru pliku .edb a co za tym idzie przyśpieszyć backup serwer Exchange.

Continue reading