Ten artykuł bierze udział w konkursie “Buduj z nami itgeeks.pl”.
Autor: Łukasz Kałużny
Wstęp
Microsoft Deployment Toolkit – MDT to platforma, umożliwiająca budowę środowiska automatycznej lub półautomatycznej instalacji oraz migracji systemów operacyjnych.
Windows Deployment Services to jedna z ról serwera Windows Server. WDS umożliwia automatyczną instalację systemów operacyjnych poprzez sieć.
Połączenie MDT z WDS pozwala administratorom oraz osobom odpowiedzialnym za instalację i migrację systemów operacyjnych wydatnie zmniejszyć nakład pracy poświęcanej na te czynności poprzez automatyzację tych procesów za pomocą tych dwóch ról.
W poniższym artykule zostanie przedstawione:
- Podstawowa instalacja i konfiguracja MDT
- Import sterowników do MDT
- Import systemów operacyjnych i przykładowa instalacja systemu operacyjnego za pomocą MDT
- Tworzenie wzorcowego obrazu systemu operacyjnego
- Podstawowa instalacja i konfiguracja WDS
- Automatyczne dodawanie obrazów startowych z MDT do WDS
- Dodanie automatycznej instalacji aplikacji podczas instalacji systemu na przykładzie aplikacji 7-zip
Konfiguracja MDT zostanie przedstawiona z wykorzystaniem scenariusza Light Touch Installation, czyli instalacji wymagającej najmniejszej interwencji w trakcie instalacji. Scenariusz ten sprowadza się do uruchomienia z płyty lub z sieci przygotowanego obrazu przez MDT na komputerze i wybrania konfiguracji instalowanego systemu oraz aplikacji.
Instalacja MDT2012
Wymagania
Do instalacji MDT2012 wymagane jest zainstalowanie na serwerze:
Instalacja .NET Framework 3.5
W Windows Server 2008R2 instalację przeprowadzamy z poziomu Server Managera. Aby tego dokonać na serwerze uruchamiamy Server Manager i klikamy prawym przyciskiem myszy na Features, a następnie wybieramy opcję Add Features

Wybieramy .NET Framework 3.5.1 I klikamy Next.

Klikamy Install.

Instalacja .NET Framework 3.5.1 zakończona.

Instalacja Windows Automated Installation Kit
Uruchamiamy instalację z płyty. Na głównym ekranie wybieramy Windows AIK Setup.

Klikamy Next.

Akceptujemy warunki licencji i klikamy Next.

Klikamy Next.

Klikamy Next.

Instalacja zakończona.

Instalacja Microsoft Deployment Toolkit 2012
Uruchamiamy instalację MDT2012. Klikamy Next.

Akceptujemy warunki licencji i klikamy Next.

Klikamy Next.

Klikamy Install.

Instalacja zakończona.

Aby uruchomić konsolę MDT wchodzimy w Start -> Microsoft Deployment Toolkit -> Deployment Workbench

Konfiguracja MDT
Pierwszą czynnością po instalacji MDT jest utworzenie Deployment Share. Aby to wykonać uruchamiamy konsolę Deployment Workbench. Klikamy prawym przyciskiem myszy na Deployment Shares i wybieramy New Deployment Share.

Wskazujemy ścieżkę gdzie chcemy umieścić Deployment Share i klikamy Next

Podajmy nazwę udziału sieciowego dla Deployment Share i klikamy Next.

Podajemy opis dla Deployment Share i klikamy Next.

Wybieramy opcję kreatora instalacji i klikamy Next.

Sprawdzamy w podsumowaniu czy wszystko się zgadza z wybranymi przez nas opcjami i klikamy Next.

Tworzenie nowego Deployment Share zostało zakończone. Klikamy Finish.

Teraz po rozwinięciu Deployment Shares widzimy nowy Deployment Share.

Po utworzeniu Deployment Share należy dokonać jego aktualizacji. Czynność ta ma na celu utworzenie obrazów wim i iso zawierających Windowsa PE z narzędziami i kreatorem instalacji. Również w trakcie aktualizacji sterowniki, które zostały dodane są integrowane z Windows PE. Aby wykonać aktualizację Deployment Share. klikamy w prawej części konsoli na Update Deployment Share.

W kreatorze tym dostępne są 2 opcje:
- Optimize the boot image updating proces – Standardową aktualizację z optymalizacją obrazu. Opcja ta posiada dodatkową opcję kompresji obrazu i odzyskania nieużywanego miejsca
- Completely regenerate the boot images – Stworzenie na nowo obrazów
Przy pierwszej aktualizacji wybieramy opcję domyślną Optimize the boot image updating proces i klikamy Next.

Klikamy Next.

Proces aktualizacji może zająć od kliku do kilkunastu minut.

Po zakończeniu aktualizacji klikamy Finish.

Utworzone obrazy znajdują się w katalogu Boot w ścieżce Deployment Share.
Dodawanie sterowników do MDT
Dodawania sterowników do MDT zimniejsza ilość pracy związanej z przygotowaniem nowej stacji. Podstawowym sposobem dodania sterowników do MDT jest użycie opcji Import Drivers dostępnej pod prawym przyciskiem myszy w pozycji Out-of-Box Drivers.

Wskazujemy ścieżkę gdzie zostały wypakowane sterowniki, które chcemy zaimportować i klikamy Next.

Sprawdzamy podsumowanie i klikamy Next, aby zaimportować wskazane sterowniki.

Po zakończeniu procesu importu wyświetli się podsumowanie. Klikamy Finish.

Jeżeli importujemy sterowniki od kart sieciowych lub pamięci masowych warto zaktualizować obrazy startowe w celu integracji nowo zaimportowanych sterowników z nimi.
W celu bardzie zaawansowanego zarządzania sterownikami polecam zapoznać się z tym artykułem http://www.wss.pl/baza-wiedzy/aktualnosc,2790, artykuł został napisany dla wersji 2010, ale sprawdza się również z wersją 2012.
Utworzenie instalacji Windows 7 w MDT
W konsoli Deployment Workbench rozwijamy Deployment Sharei klikamy prawym na Operating Systems i wybieramy Import Operating System.

Wybieramy opcję Full set of source files i klikamy Next. Opcja ta pozwala na import systemu operacyjnego z nośnika lub katalogu, do którego została przegrana zawartość nośnika lub został wypakowany plik ISO.

Wybieramy ścieżkę, która zawiera pliki instalacyjne systemu operacyjnego i klikamy Next.

Podajemy nazwę dla katalogu, który zostanie utworzony w Deployment Sharei zostaną tam zaimportowane wskazane pliki instalacyjne systemu operacyjnego. Klikamy Next.

Sprawdzamy informacje w podsumowaniu i jeśli wszystko się zgadza klikamy Next.

Import zakończony. Klikamy Finish.

Następnym krokiem jest stworzenie nowego Task Sequences do instalacji zaimportowanego wcześniej systemu operacyjnego. Task Sequences to mechanizm pozwalający na automatyczne wykonanie wielu kroków na komputerze klienckim bez interakcji użytkownika. Aby utworzyć nowe Task Sequences klikamy prawym przyciskiem myszy na Task Sequences i wybieramy New Task Sequences
Wypełniamy pola Task sequences ID, Task sequences Name oraz Task sequences comments, a następnie klikamy Next.

Wybieramy szablon Task sequences. Szablon do instalacji systemu operacyjnego nazywa się Standard Client Task sequences. Wybieramy go i klikamy Next.

Wybieramy z listy system operacyjny i klikamy Next. Na liście znajdują się zaimportowane do MDT systemy operacyjne.

Podajemy klucz produktu. Od Visty oraz Windows Server 2008 klucz produktu nie jest wymagany do instalacji. W tym wypadku wybieramy opcję Do not specify a product key at this time i klikamy Next.

Podajemy podstawowe ustawienia systemu operacyjnego: Nazwa użytkownika systemu, Organizacja, Strona domyślna w przeglądarce Internet Explorer. Po podaniu danych klikamy Next.

Podajemy hasło dla lokalnego konta Administratora i klikamy Next.

Sprawdzamy informacje w podsumowaniu i jeśli wszystko się zgadza klikamy Next.

Tworzenie Task sequence zakończone. Klikamy Finish.

Domyślnie Task sequence po utworzeniu ma wyłączony krok aktualizacji systemu operacyjnego. Aby włączyć należy wejść w opcję utworzonego wcześniej task sequence i przejść na zakładkę Task sequence. W sekcji State Restore widać dwa kroki z Windows Update w nazwie. Klikamy na nie i w prawej części formatki wybieramy zakładkę Options i odznaczamy opcję Disable this step. Czynność wykonujemy dla obydwu kroków Windows Update, po czym klikamy OK

Domyślnie MDT popiera aktualizację z Microsoft Update w czasie instalacji systemu. Istnieje też możliwość wskazania lokalnego serwera WSUS. Aby tego dokonać wchodzimy we właściwości Deployment Share klikając na niego prawym przyciskiem i wybierając pozycję Properties.

Przechodzimy na zakładkę Rules i w sekcji Default dodajemy wpis WSUSServer=HTTP://NAZWA_SERWERA_WSUS_LUB_IP wprowadzając prawidłowy adres serwera WSUS. Po dodaniu wpisu klikamy OK.

Możemy teraz przystąpić do instalacji systemu operacyjnego z wykorzystaniem płyty bootowalnej, której obraz został wcześniej wygenerowanej przez MDT podczas pierwszej aktualizacji Deployment Share.
Po uruchomieniu z płyty i załadowaniu Windowsa PE przywita nas poniższy ekran. Aby przejść do instalacji klikamy na Run the Deployment Wizard to install a new Operating System

Podajmy poświadczenia domenowe do Deployment Share i klikamy OK.

Wybieramy wcześniej utworzony Task sequence i klikamy Next.

Podajemy nazwę komputera oraz wybieramy opcje przyłączenia komputera do domeny podając przy tym nazwę domeny. Klikamy Next.

Jako iż nie mamy żadnych danych użytkownika do przywrócenia to wybieramy opcję Do not restore data and settings i klikamy Next.

Wybieramy dane regionalne i klikamy Next.

Sprawdzamy informację w podsumowaniu i jeśli wszystko się zgadza klikamy Begin, aby rozpocząć instalację.

Po ukończeniu instalacji, jeśli nie będzie żadnych błędów ukaże się poniższy ekran informujący o udanej instalacji.

Tworzenie wzorcowego obrazu systemu operacyjnego
MDT umożliwia w łatwy sposób stworzenie własnych obrazów wzorcowych systemu operacyjnego. Może to posłużyć do stworzenia obrazu z własnymi ustawieniami, które jest trudno zaimplementować w procesie Task Sequences. Dla przykładu może to być np. instalacja dodatkowych aplikacji, które mają specyficzne wymagania lub nie posiadają nienadzorowanego trybu instalacji, a również przygotowanie czystego obrazu instalacyjnego z wgranymi najnowszymi aktualizacjami.
Pierwszą czynnością w przygotowaniu obrazu wzorcowego jest utworzenie nowego Task Sequences, który ma na celu przygotowanie i przechwycenie obrazu wzorcowego do MDT po jego przygotowaniu.
Na Task Sequences klikamy prawym przyciskiem myszy i wybieramy New Task Sequences.
Wypełniamy pola Task sequences ID, Task sequences Name oraz Task sequences comments, a następnie klikamy Next.

Wybieramy szablon Sysprep and Capture, a następnie klikamy Next.

Wybieramy system operacyjny przy pomocy, którego później stworzymy nowy obraz wzorcowy i klikamy Next.

Nie zmieniamy żadnej opcji i klikamy Next.

Nie zmieniamy żadnej opcji i klikamy Next.

Nie zmieniamy żadnej opcji i klikamy Next.

Sprawdzamy informacje w podsumowaniu i jeśli wszystko się zgadza klikamy Next.

Utworzenie nowego Task Sequences zakończyło się sukcesem, klikamy Finish.

Kolejnym krokiem jest przygotowanie obrazu wzorcowego. Ważne jest, aby obraz wzorcowy nie był dodany do domeny w trakcie przygotowywania oraz najlepiej jest wykorzystać do instalacji ten sam system operacyjny, jaki został wybrany w powyższym Task Sequences.
Po przygotowaniu obrazu wzorcowego, możemy przejść do jego przygotowania oraz przechwycenia za pomocą utworzonego w poprzednim kroku Task Sequences.
Na uprawnieniach administratora uruchamiamy skrypt o nazwie „LiteTouch.vbs” znajdujący się w katalogu Scripts w Deployment Share.

Podajmy poświadczenia do Deployment Share i klikamy OK.

Wybieramy wcześniej przygotowane Task Sequences do przechwycenia obrazu wzorcowego i klikamy Next.

Wybieramy opcję Capture an image of this reference computer. Pole Location wypełni się domyślnie ścieżką do katalogu Captures znajdującego się w Deployment Share. Pole File name należy koniecznie zmienić na inne niż domyślne, ponieważ, jeśli plik o takiej nazwie już istnieje w ścieżce podanej w polu Location to przechwytywanie obrazu zakończy się niepowodzeniem. Klikamy Next.

Sprawdzamy podsumowanie i klikamy Begin.

Na początku MDT załaduje na dysk obraz Windowsa PE z Deployment Share i ustawi, aby komputer jednorazowo z niego wystartował. Poniżej zrzut ekranu z procesu przechwytywania obrazu po wystartowania z Windowsa PE.

Po zakończeniu wyświetli się poniższy ekran. Klikamy Finish i przechodzimy do konsoli MDT.
Po przechwyceniu obrazu należy go zaimportować do MDT. W tym celu w konsoli Deployment Workbench rozwijamy Deployment Share, klikamy prawym na Operating Systems i wybieramy Import Operating System.

Wybieramy opcję Custom image file. Klikamy Next.

Wskazujemy na nasz przechwycony obraz systemu i klikamy Next. W celu zaoszczędzenia miejsca na dysku możemy wybrać opcję przeniesienia pliku zamiast kopiowania go. Służy do tego opcja Move the files to the deployment share instead of copying them.

Wybieramy opcję Copy Windows Vista, Windows Server 2008, or later setup files from specified path. Wskazujemy ścieżkę do plików instalacyjnych system operacyjnego, który wykorzystaliśmy do tworzenia obrazu wzorcowego. Klikamy Next.

Podajemy nazwę dla katalogu, który zostanie utworzony w Deployment Share i zostaną tam zaimportowane wskazane pliki instalacyjne systemu operacyjnego. Klikamy Next.

Sprawdzamy informacje w podsumowaniu i jeśli wszystko się zgadza klikamy Next.

Import zakończony. Klikamy Finish.

System wzorcowy został zaimportowany do MDT. Może teraz stworzyć Task Sequences do instalacji wzorcowego systemu tak jak do instalacji normalnego systemu przez MDT
Instalacja i konfiguracja Windows Deployment Services
Po każdorazowym uaktualnieniu obrazów startowych w MDT należy je wypalić na płytę lub utworzyć na nowo dysk startowy usb. Można pominąć ten proces wykorzystując do tego usługę WDS, w której umieszcza się aktualne obrazy startowe i poprzez nią uruchamia się wgrane obrazy z sieci na komputerze bez potrzeby każdorazowego przygotowywania nośników.
Instalacja Windows Deployment Services
W Windows Server 2008R2 instalację przeprowadzamy z poziomu Server Managera. Aby tego dokonać na serwerze uruchamiamy Server Manager i klikamy prawym przyciskiem myszy na Roles, a następnie wybieramy opcję Add Roles.

Klikamy Next.

Wybieramy Windows Deployment Services i klikamy Next.

Klikamy Next.

Zaznaczamy obie Role Service i klikamy Next.

Klikamy Install.

Instalacja zakończona. Klikamy Close.

Konfiguracja Windows Deployment Services
Uruchamiamy konsolę WDS. Start -> Administration Tools -> Windows Deployment Services.

Klikamy prawym na serwer i wybieramy opcję Configure Server.

Klikamy Next.

Wskazujemy ścieżkę dla plików WDS i klikamy Next.

Wybieramy opcję Respond to All (Known and Unknown) Client Computers i klikamy Next. Opcja ta pozwoli na automatyczne pobranie obrazów startowych wszystkim komputerom bez zatwierdzania lub dodawania ich przez administratora w usłudze WDS.

Odznaczamy opcję Add Images to the server now i klikamy Finish

Konfiguracja DHCP
Konfiguracja przedstawiona jest dla scenariusza, w którym serwer DHCP jest na innym serwerze niż WDS.
Na serwerze DHCP w zakresach lub dla wszystkich zakresów ustawiamy opcję:
66 – Boot server host name i ustawiamy adres IP serwera WDS
67 – boot file name i ustawiamy Wdsnbp.com
Uruchamiamy konsolę DHCP i wybieramy nasz serwer DHCP. W zależności od tego czy chcemy skonfigurować DHCP na serwerze czy na zakresie klikamy prawym na Server Options albo na Scope Options i klikamy Configure Options…

Na lisice wyszukujemy opcję 66, 67 i ustawimy je zgodnie z wcześniejszym opisem.

Dodanie obrazów startowych z MDT do WDS
Aby uruchomić z sieci instalację MDT jak z płyty należy do WDS dodać obrazy WIM wygenerowane przez MDT. W konsoli WDS w klikamy prawym na Boot i wybieramy opcję Add Boot Image…

Wskazujemy na plik wim znajdujący się w katalogu Boot w ścieżce Deployment Share i klikamy Next. Pliki domyślnie generowane przez MDT nazywają się:
- 32 bitowy – LiteTouchPE_x86.wim
- 64 bitowy – LiteTouchPE_x64.wim

Podajemy nazwę obrazu i opis, a następnie klikamy Next.

Sprawdzamy podsumowanie i klikamy Next, aby dodać obraz do serwera.

Obraz dodany. Klikamy Finish.

Aby przetestować poprawność działania testy przeprowadziłem na maszynie wirtualnej w Hyper-V. Aby na Hyper-V działało bootowanie z sieci należy dodać kartę sieciową typu Legacy Network Adapter, która umożliwia rozruch z sieci.
Kiedy komputer skontaktuje się z serwerem WDS w czasie startu z sieci poprosi o wciśnięcie F12 w celu dalszego rozruchu. Wciskamy F12

W przypadku dodania więcej niż jednego obrazu startowego do serwera pojawi się menu z wyborem obrazu do startu. Jako, że task sequence, który został przygotowany wcześniej jest 32-bitowy to wybieramy obraz Lite Touch Windows PE(x86) i naciskamy Enter.

Po załadowaniu instalacja gotowa do działania jak z instalacji z płyty.

Automatyczne dodawanie obrazów startowych z MDT do WDS
Po każdej aktualizacji obrazów startowych MDT należy ponownie dodać je do WDS. Aby uniknąć tej czynności można ją zautomatyzować za pomocą skryptu powershellowego.
Pierwszą czynnością w skrypcie jest załadowanie przystawki do MDT:
Add-PSSnapIn Microsoft.BDD.PSSnapIn
Następnie podłączamy się do Deployment Share podając ścieżkę do niego w parametrze root. Jako nazwę, pod którą Deployment Share będzie dostępny w skrypcie ustawiamy parametrem Name
New-PSDrive -Name “DS001″ -PSProvider MDTProvider -Root “C:\DeploymentShare”
Następnym krokiem jest aktualizacja obrazów startowych. Poprzez path ustawimy nazwę wcześniej podłączonego Deployment Share.
Update-MDTDeploymentShare -path “DS001:” –Verbose
Ostatnią czynnością jest zamiana obrazów startowych w WDS. Wykonujemy to polecenie WDSUTIL. Obrazy w WDS są rozpoznawane po nazwach, z jakimi je dodaliśmy do WDS. Poniższe polecenia do podmiany obrazów 32-bitowych i 64-bitowych.
& WDSUTIL /Replace-Image /Image:”Lite Touch Windows PE (x86)” /ImageType:Boot /Architecture:x86 /ReplacementImage /ImageFile:”C:\DeploymentShare\Boot\LiteTouchPE_x86.wim”
& WDSUTIL /Replace-Image /Image:Lite Touch Windows PE (x64)” /ImageType:Boot /Architecture:x64 /ReplacementImage /ImageFile:”C:\DeploymentShare\Boot\LiteTouchPE_x64.wim”
Cały skrypt prezentuje się tak:
| Add-PSSnapIn Microsoft.BDD.PSSnapIn
New-PSDrive -Name “DS001″ -PSProvider MDTProvider -Root “C:\DeploymentShare”
Update-MDTDeploymentShare -path “DS001:” –Verbose
& WDSUTIL /Replace-Image /Image:”Lite Touch Windows PE (x86)” /ImageType:Boot /Architecture:x86 /ReplacementImage /ImageFile:”C:\DeploymentShare\Boot\LiteTouchPE_x86.wim”
& WDSUTIL /Replace-Image /Image:”Lite Touch Windows PE (x64)” /ImageType:Boot /Architecture:x64 /ReplacementImage /ImageFile:”C:\DeploymentShare\Boot\LiteTouchPE_x64.wim”
|
Kiedy dodamy nowe sterowniki lub wprowadzimy zmiany, zamiast aktualizować poprzez konsolę MDT obrazy, a następnie ręcznie zamieniać obrazy WDS wykonujemy powyższy skrypt w powershellu.
Automatyczna instalacja aplikacji
Automatyczna instalacja aplikacji w czasie instalacji systemu upraszcza i zmniejsza pracochłonność przygotowania nowej stacji.
Przedstawię przykładową automatyzację tego procesu na przykładzie darmowej aplikacji 7-zip.
Pierwszą czynnością jest sprawdzenie, w jaki sposób możemy zainstalować aplikację w trybie nienadzorowanym. Można to sprawdzić najprościej za pomocą uruchomienia instalatora z parametrem /?. Jeśli to nie przyniesie efektu należy poszukać informacji na stronie producenta lub w Internecie szukając najlepiej w języku angielskim frazą „nazwa aplikacji unattended installation”. Skarbnicą wiedzy na temat instalacji nienadzorowanej jest witryna http://itninja.com/ (wcześniej nazywała się appdeploy.com).
7-zip jest dostępny w postaci pliku instalacyjnego w formacie msi. Polecenie do instalacji takiego instalatora to msiexec /package 7z920.msi /passive. Aby dodać aplikację do MDT w konsoli klikamy prawym na Applications i wybieramy opcję New Application.

Wybieramy opcję Application with source files i klikamy Next.

Opisujemy naszą aplikację i klikamy Next. Wymagane jest pole Application name, które jest nazwą naszej aplikacji i pod podaną nazwą wyświetla się w MDT.

Aplikację umieszczamy w oddzielnym tymczasowym katalogu, z którego zostanie zaimportowana do MDT. Wskazujemy ten katalog tymczasowy i klikamy Next. Możemy również zaznaczyć opcję Move the files to the deployment share instead of copying them, która przeniesie pliki zamiast je kopiować.

Podajemy nazwę katalogu, jaki zostanie utworzony w MDT dla tej aplikacji i klikamy Next.

Podajemy polecenie instalacyjne naszej aplikacji i klikamy Next. Dla aplikacji 7-zip to msiexec /package 7z920.msi /passive.

Sprawdzamy podsumowanie i klikamy Next w celu dodania aplikacji.

Dodawanie zakończone, klikamy Finish.

Pora sprawdzić czy dodana aplikacja działa. W tym celu uruchamiamy nową instalację systemu. W kreatorze instalacji systemu pojawi się krok o nazwie Applications, w którym możemy wybrać dodane aplikacje do instalacji.

Podsumowanie
Wdrożenie MDT2012 w połączeniu z usługą WDS może przynieść wiele korzyści dla procesu instalacji i migracji systemów operacyjnych. W artykule przedstawiono tylko podstawową funkcjonalność tych rozwiązań. Polecam zapoznać się z materiałami na temat dostępnych funkcjonalności i sposobach dostosowania oraz automatyzacji tej platformy.