Offline domain join w Windows Server 2008 R2

Od niepamiętnych czasów (Windows NT4) aby dołączyć komputer do domeny zawsze potrzebne było połączenie z domeną. Nowością w Windows Server 2008 R2 jest opcja offline domain join, czyli podłączanie komputera do domeny bez potrzeby użycia sieci.
Programem, który to umożliwia jest djoin.exe. Dzięki niemu nie trzeba mieć połączenia do domeną, aby dodać do niej komputer.
Pytanie: Jak to działa? Wystarczą 4 proste kroki:
1. Logujemy się na komputer, który należy już do domeny, na konto które umożliwia dołączanie komputerów do domeny.
2. Uruchamiamy djoin.exe, aby utworzyć plik tekstowy, który będzie zawierał wszystkie potrzebne informacje o komputerze, które będą potrzebne przy przyłączaniu do domeny.
3. Na komputerze, który ma się dołączyć uruchamiamy djoin.exe i importujemy plik tekstowy.
4. Uruchamiamy ponownie komputer-klienta, kiedy już jest wpięty do sieci.

Aby stworzyć plik tekstowy do do dołączania komputera do domeny używamy komendy:

djoin /provision /domain <nazwadomeny> /machine <nazwakomputera> /savefile dodaj.txt

Komenda stworzy plik tekstowy o nazwie dodaj.txt i zapisze go na dysku. Dodatkowo od razu tworzy obiekt komputera w domenie. Standardowo konto komputera jest tworzone w OU Computers, jednak nie zawsze chcemy aby tam się nasze stacje klienckie znajdowały. w tym celu możemy użyć dodatkowego parametru /Machineou <OUname>. Pamiętać trzeba przy tym, że dane OU musi istnieć, tzn. trzeba je wcześniej stworzyć. Może jednak dokładniej opisze pozostałe przełączniki:

/provision – używamy wtedy, gdy konto komputera nie istnieje jeszcze w domenie
/reuse – jeśli konto jest już stworzone w katalogu tworzy tylko plik tekstowy, nie próbuje go dodać jeszcze raz do domeny
/domain – określa domenę, do której ma zostać dodany komputer
/machine – określa nazwę komputera, jeśli komputer ma inną nazwę – zostanie ona zmieniona
/machineou – opisałem to wyżej 😉
/savefile – zapisuje plik do importu
/downlevel – kiedy kontroler domeny nie jest uruchomiony w trybie zgodności z Windows Server 2008 R2 – czyli wsparcie dla kontrolerów domeny Windows Server 2008 i starszych
/defpwd – ustawia hasło do komputera
/dcname – wskazuje kontroler domeny, na którym konto komputera ma zostać stworzone
/nosearch – pomija wyszukiwanie konfliktów podczas tworzenia konta (na przykład jeśli takie już istnieje) – wymaga parametru /dcname
/printblob – parametr, który pozwala stworzyć specjalną wersję pliku tekstowego, która będzie wykorzystywana podczas instalacji nienadzorowanej.

Przykład użycia komendy djoin.exe w celu przyłączenia komputera:

djoin.exe /provision /domain contoso.com /machine klient01 /machineou Komputery /savefile klient01.txt

djoin_provision

Plik potrzebny do dołączenia do domeny już mamy stworzony, więc trzeba go gdzieś wykorzystać. W tym celu kopiujemy go na nowo zainstalowany system i znowu skorzystamy z komendy djoin. Tutaj sporo się nagimnastykowałem. Dlaczego? Jak wiadomo Windows Server 2008 R2 jest systemem tylko i wyłącznie 64 bitowym, więc trzymam wirtualny system używając Sun xVM VirtualBox. Natomiast Windows 7 używam w wersji 32 bit i przechowuje go w Virtual PC… VirtualBox mimo tego, że działa szybko (przywracanie/zapisywanie stanu) to jednak ma sporo do nadrobienia. M.in. problemy z robieniem zrzutów ekranu, niby podłączanie urządzeń usb działa ale mi nie chciało, nawet udostępnianie folderów z systemem-hostem nie za bardzo działa. Nagimnastykowałem się, aby przenieść ten plik z W2k8 R2 do W7… Ale udało się. Zaliczyłem przy tym bluescreena(teraz będe pamiętał, żeby częściej zapisywać zmiany nawet jak się tworzy wpis do bloga) – nie uruchamiajcie dwóch różnych systemów wirtualnych jednocześnie (mam tu na myśli VirtualBox'a i VPC). Jak przeniosłem? Musiałem stworzyć dysk VHD i podpiąć go do 2 maszyn jednocześnie.

Przy przyłączaniu komputera do domeny również korzystamy z programu djoin.exe. W tym celu możemy skorzystać z następujących przełączników:

/requestodj – przyłącza komputer do domeny podczas następnego uruchomienia
/loadfile – ładuje wygenerowany wcześniej plik
/windowspath – ścieżka do katalogu Windows
/localos – parametr powiązany z /windowspath. Nie należy korzystać z tego parametru na systemie, gdzie zainstalowany jest kontroler domeny, bo go uszkodzi. W wersji Release Candidate ma to zostać poprawione.

Składnia polecenia wyglądać może więc tak:

djoin /requestODJ /loadfile klient01.txt /windowspath %systemroot% /localos

requestODJ-error

Uruchamiamy polecenie i co mamy? Błąd. Dlaczego? Nie uruchomiliśmy wiersz poleceń jako Administrator. Pokazałem ten błąd specjalnie, żeby nikt się nie wystraszył go. Tak więc uruchamiamy jeszcze raz cmd, tym razem jako Administrator i wpisujemy polecenie.

requestODJ-no-error

Po ponownym uruchomieniu komputera, jesteśmy już podłączeni do domeny. Dzięki djoin.exe możemy przyłączać komputery używając plików tekstowych. Wystarczy to naszego pliku Unattend.xml dodać następujący wpis:

<Component>
<Component name="Microsoft-Windows-UnattendedJoin">
<Identification>
<Provisioning>
<AccountData>NASZ_PLIK_TEKSTOWY.txt</AccountData>
</Provisioning>
</Identification>
</Component>

Teraz na sam koniec oczywiste pytanie: na co to komu?
Odpowiedź jest prosta, kiedy mamy do zainstalowania system operacyjny na kilku, kilkunastu komputerach korzystamy przeważnie z instalacji nienadzorowanej. Pamiętać należy, że plik ten musi zostać wygenerowany z parametrem /printblob.

W tym krótkim przewodniku pominąłem kilka kwestii. M. in. jak to ma się do Hyper-V. Niestety, nie posiadam żadnego komputera z tym systemem, więc jeśli jesteście jeszcze zainteresowani tą kwestią to zapraszam na Technet, gdzie jest to dokładnie opisane.

Komentarze mile widziane 🙂

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *