Microsoft Outlook troubleshooting

Administratorom serwera MS Exchange 2007/2010 może przytrafić się sytuacja, w której będą musieli utworzyć dużą liczbę skrzynek pocztowych naraz (np. dla grupy nowych pracowników lub też do celów testowych). Ręczne stworzenie już nawet pięciu czy dziesięciu nowych użytkowników w Active Directory a następnie przypisanie im skrzynek na serwerze Exchange to sporo pracy, nie mówiąc już nawet o tworzeniu dziesiątek czy setek takich elementów. Na szczęście jest rozwiązanie, które pozwoli taką procedurę do pewnego stopnia zautomatyzować.

1. Tworzenie pliku z listą użytkowników.

Pierwszą rzeczą, jaką należy przygotować jest lista nowych użytkowników i skrzynek w pliku CSV (Comma Separated Values). Pliki CSV najłatwiej przygotować w programie MS Excel, ale można to też zrobić w zwykłym Notatniku. W przedstawionym poniżej przykładzie użytkowników definiujemy według następujących kryteriów:

      Alias,Name,UPN

Możemy też dodać dowolne inne wartości (praktycznie wszystkie dostępne w AD), opisane jest to dokładniej na końcu tego artykułu. Nasz przykładowy plik CSV będzie więc wyglądać tak:

     Alias,Name,UPN
     User_1,User 1,user1@domena
     User_2,User 2,user2@domena
     User_3,User 3,user3@domena


     Itd.

Nagłówek listy też jest konieczny i nie możemy go pominąć. Gdy listę mamy gotową, zapisujemy ją jako plik CSV i nadajemy jej nazwę, której później będziemy używali tworząc nasze skrzynki – np. CreateMailboxes.csv.

2. Nadanie hasła.

Kolejnym krokiem jest nadanie hasła nowym użytkownikom. Ponieważ dodawanie osobnego hasła dla każdego z nich pojedynczo byłoby ogromną stratą czasu, zrobimy to automatycznie z poziomu Exchange Management Shell. W tym celu użyjemy następującej komendy:

$Password=Read-Host “Enter Password” –AsSecureString

Zostaniemy zapytani o hasło. Wpisujemy wybrane przez nas wyrażenie – zostanie ono ustawione jako hasło do skrzynki dla wszystkich naszych użytkowników. Oczywiście później hasło każdego użytkownika może zostać zmienione.

3. Import pliku CSV i utworzenie skrzynek pocztowych.

Ostatnią czynnością jest import przygotowanego wcześniej pliku CSV i utworzenie użytkowników oraz ich skrzynek pocztowych (będą to już skrzynki „mail-enabled”, czyli aktywowane). W tym celu uruchamiamy Exchange Management Shell i używamy następującej komendy:

Import-CSV CreateMailboxes.csv | ForEach {New-Mailbox -Alias $_.alias -Name $_.name -userPrincipalName $_.UPN -Database “Mailbox Database” -OrganizationalUnit Users -Password $Password}

Powyższe polecenie można modyfikować w zależności od potrzeb. Exchange Management Shell interpretuje elementy skryptu w następujący sposób:

  • Import-CSV CreateMailboxes.csv – pobiera dane z przygotowanego przez nas pliku. Jeśli znajduje się on w innej lokalizacji niż ta, z której uruchomimy Exchange Management Shell musimy dodatkowo zawrzeć w komendzie ścieżkę do pliku, np. “c:\My Documents\CreateMailboxes.csv” (należy pamiętać o cudzysłowach).
  • ForEach – pobiera dane z każdej linijki naszego pliku CSV, korzystając z pierwszego rzędu jako nagłówka. Wszystkie nazwy kolumn traktowane są jako nazwy pól Active Directory. Możemy dodać w komendzie dodatkową wartość, np. Company $_.company. Spowoduje to, że nasz skrypt będzie szukał kolumny o nazwie Company w pliku CSV i pobierze odpowiednią informację dla każdego wiersza.
  • Element New-Mailbox jest bezpośrednio odpowiedzialny za utworzenie aktywowanej skrzynki. Umożliwia on dodanie bardzo wielu parametrów dla każdego użytkownika – wszystkie obsługiwane wartości opisane są na stronie Technet firmy Microsoft: New-Mailbox cmdlet syntax. Interesujący nas parametr wystarczy dodać do pliku CSV i zamieścić w skrypcie odwołujący się do niego odnośnik.
  • OrganizationalUnit – ta wartość określa jednostkę organizacyjną Active Directory, do której dodani zostaną stworzeni przez nas użytkownicy. W przykładzie wszyscy nowi użytkownicy znaleźli się w jednej głównej grupie „Users”. Jeśli chcemy dodać użytkowników do różnych grup, musimy umieścić kolejną kolumnę w naszym pliku CSV (o nazwie np. OU), uzupełnić informację dla każdego użytkownika a następnie dodać do skryptu element, który pobierze dane z tej kolumny: -org $_.OU.
  • -Password –  nadaje naszym użytkownikom hasło pobrane z wartości $Password utworzonej w punkcie drugim.
     

Mam nadzieję, że powyższy artykuł pozwoli zaoszczędzić wiele czasu i pracy, których wymagałoby ręczne wykonywanie wszystkich opisanych w nim procedur.
 

 



© Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.