Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!
Strony WWWSerwery VPSDomenyHostingDarmowy Hosting CBA.pl

Zastosowanie PowerShell w Microsoft Exchange

  02 czerwiec 2014
Oceń ten artykuł
(0 głosów)

Jedną z podstawowych czynności podczas prac administracyjnych przy obsłudze poczty jest konfigurowanie ustawień odbiorcy. Dla każdego konta, które ma posiadać obsługę poczty należy stworzyć skrzynkę w bazie danych poczty. Aby zrobić to za pomocą polecenia cmdlet Enable-Mailbox: 

Enable-Mailbox –Identity nazwadomeny\uzytkownik –Database ”nazwa bazy”.

Uwaga! 
Należy pamiętać, że konta użytkownika tworzone za pomocą cmdlet w PowerShell są domyślnie wyłączone, aby stworzyć mailbox dla takiego konta, wcześniej należy je włączyć. 

Można również w jednym poleceniu stworzyć użytkownika i skrzynkę: 

New-Maibox –Alias ”nazwausera” –Database ”nazwa bazy” – name ”imie” –OrganizationalUnit ”nazwa OU” – LastName ”nazwisko” –displayname ”nazwa wyswietlana” 

W powyższym poleceniu można dodać znaczenie więcej parametrów, np. dodać adres czy lokalizację biura. W momencie wykonania skryptu pojawi się prośba o podanie hasła dla nowo stworzonego użytkownika, które należy podać po wykonaniu skryptu. Dodając parametr –password i próbie podanie hasła bezpośrednio w poleceniu otrzymamy błąd: ”cannot convert type string to type secureString”. Można również zaszyć hasło w poleceniu tworzenia nowego użytkownika, wtedy należy zastosować konwersję: ConvertTo-SecureString w poleceniu. Polecenie to ma dwa argumenty, pierwszy: -asPlainText, który informuje, że jest to tekst otwarty i drugi, operacja musi mieć wymuszony argument –force. Poniżej przykład takiej konwersji: 

$haslo = ConvertTo-SecureString ”Hasło123” –asPlainText –force

Informacje na temat skrzynki użytkownika

W prosty sposób można otrzymać Get-Mailbox –identity uzytkownik informację, np. o limicie wysyłanej wiadomości: (lub bardzo szczegółowe, musimy dodać: fl * po nazwie użytkownika)

Administracja zdalna i zarządzanie ochroną antywirusową w organizacji

Informacje o magazynach danych

Z każdym dniem korzystania przez użytkownika skrzynki jej zapotrzebowanie na przestrzeń dyskową rośnie, aż uzyska wartość całej dostępnej pojemności plus 10%. Większość operacji na skrzynce możemy wykonać za pomocą poleceń cmdlet. Aby móc zacząć pracować nad tego typu problemem musimy poznać, jakie i ile mamy grup magazynowe: 

Get-StorageGroup

Uruchomienie powyższej komendy wyświetli nam listę dostępnych magazynów danych skrzynek poczty:Administracja zdalna i zarządzanie ochroną antywirusową w organizacji

Stosując np.: Get-StorageGroup ”nazwa grupy” |Format-List * otrzymamy wszystkie szczegółowe dane zasobów, które nas interesują.

Zarządzanie rejestracją

Głównym zadaniem podczas obsługi i rozwiązywania problemów jest konfiguracja i modyfikacja rejestrowania. Za pomocą PowerShella możemy konfigurować ponad 150 dzienników zdarzeń za pomocą polecenia: 

Get-EventLogLevel otrzymamy listę wszystkich dzienników zdarzeń:

Administracja zdalna i zarządzanie ochroną antywirusową w organizacji

Grupy Dystrybucyjne

W codziennym zarządzaniu Microsoft Exchange oprócz tworzenia nowych użytkowników i ich mailboxów jest zarządzanie grupami dystrybucyjnymi. W prosty sposób możemy dodać z poziomu PowerShella kolejnego członka grupy dystrybucyjnej: 

Add-DistributionGroupMember -Identity "Grupa" -Member ”pawel.jaroszewicz@support-online” 

Czy wyświetlić listę członków grupy, która nas interesuje: 

Get-DistributionGroupMember –Identity ”nazwa grupy” 

PoweShell to bardzo przydatne narzędzie i możemy bez większego wysiłku, co jest nie możliwe za pomocą interfejsu graficznego do wykonania, wyświetlić np. listę wszystkich grup i członków w nich się znajdujących odpowiednio formatując dla własnych potrzeb listę: 

$Lista = get-distributiongroup 
foreach ($a in $Lista) 

  $Dmember=get-distributiongroupmember $a 
  $Dname=$a.name 
  write-output "`q$Dname`q" -nonewline 
  foreach ($Member in $Dmember) 
  { 
    $MName=$Member.DisplayName 
    write-output ",`q$MName`q" - 
  } 
  write-output "`n" 


Wykonanie skryptu zajmuje kilka sekund do kilku minut (w zależności od ilości grup, które znajdują się na serwerze). Wypisanie takiej listy grup i ich członków nie byłoby możliwe z poziomu interfejsu graficznego. 

W bardzo prosty sposób możemy również przeszukać wszystkie serwery odpowiedzialne za transport wiadomości w danym przedziale czasu i wyświetlić wiadomości wysłane przez konkretnego użytkownika konkretnego dnia i godzinie: 

Get-TransportServer | get-messagetrackinglog -ResultSize Unlimited -Start "2014-03-31 14:00:00" | where {[string]$recipients -like "user"} | Select Timestamp, Sender, {$_Recipients}, MessageSubject, EventID, SourceContext, Sender

PowerShell to narzędzie, bez którego obecnie nie można się obejść przy administracji serwerem Exchange. Znacznie skraca czas wykonania czynności, które wykonywane manualnie są nie do wykonania lub pochłaniają mnóstwo czasu.

Artykuł opracował Paweł Jaroszewicz,

Źródła:

  1. Opracowanie własne
  2. Microsoft Press: PowerShell Step By Step
  3. Microsoft Tech

Popularne