Zdalny obraz komputera z wykorzystaniem wbadmin
14.02.2017 11:28
Zapewne każdy admin i każda firma (organizacja) ma swój sposób na kopie zapasowe komputerów użytkowników. Niektórzy nie robią ich w ogóle - ot, kierują się filozofią, że raz na jakiś czas system należy postawić na nowo i tyle. Może to i zdrowe podejście ale czasochłonne - wszak każda operacja musi trochę trwać, kopiowanie, sterowniki itd.
Zresztą nie o to mi chodzi. Nie ma to być wpis o rodzajach backupu - w każdym razie pewnego dnia w pewnej firmie zapytano mnie czy istnieje możliwość zdalnego wykonywania obrazu maszyny z win7Pro z wykorzystaniem systemowego narzędzia "Kopia zapasowa".
Zdalnego czyli jak? Okazało się, że chodzi o to, iż w firmie jest sobie kilkanaście komputerów z Win7 na pokładzie a jeden z nich to niejako maszyna "zarządcza" :) Cały pikuś miał polegać na tym, żeby z tej jednej maszyny robić zdalnie (w obrębie LAN) obrazy pozostałych maszyn.
Zaproponowałem wykorzystanie harmonogramu zadań ale okazało się, że chodzi bardziej o to aby tego typu operacja była wykonywana nie o określonej porze ale wtedy kiedy najdzie na to ochota "admina" :)
Jak dla mnie, cała sytuacja była trochę groteskowa bo raz, że chciano do tego wykorzystać mechanizm wbudowany w system operacyjny, choć są do tego zdecydowanie lepsze narzędzia - a dwa, obraz takiej maszyny miał być zapisywany na tym samym komputerze, tylko na innej partycji... Bezpiecznie? Hmmm...
No ale dobra - jedyne co mi przychodziło do głowy to oczywiście wbadmin. Wprawdzie liczba opcji nie powala (Zdjęcie 2) ale od czego jest pomoc Microsoftu.
No właśnie - technet zapewnia nam podgląd na wszelkie możliwe opcje wykorzystania wbadmin (Zdjęcie 3)
OK, więc jak będzie wyglądała składnia? Zerkamy ponownie do zasobów Microsoftu i wszystko staje się jasne:
Wbadmin start backup [‑backupTarget:{<BackupTargetLocation> | <TargetNetworkShare>}] [‑include:<ItemsToInclude>] [‑nonRecurseInclude:<ItemsToInclude>] [‑exclude:<ItemsToExclude>] [‑nonRecurseExclude:<ItemsToExclude>] [‑allCritical] [‑systemState] [‑noVerify] [‑user:<UserName>] [‑password:<Password>] [‑noInheritAcl] [‑vssFull | -vssCopy] [‑quiet]
Zakładając, że "backupowaną" partycją ma być systemowa C a obraz ma być wykonany na partycję, niech będzie, E, całość powinna wyglądać w następujący sposób:
wbadmin start backup -backupTarget:E: -include:C: -allCritical -quiet
Gwoli wyjaśnienia, allCritical powoduje dołączenie do backupu wszystkich elementów niezbędnych przy odzyskiwaniu systemu od zera, natomiast quiet wykonuje tzw. cichą kopię zapasową czyli sama czynność backupu jest niewidoczna dla pracującego na komputerze użytkownika.
No dobrze, wiemy co, wiemy dokąd i wiemy jak :) Pytanie w jaki sposób wykonać to nie na naszej maszynie a innej w sieci lokalnej...? W tym przypadku z pomocą przychodzi nam nieoceniony pakiet SysInternals o nazwie Pstools.
Modyfikujemy więc trochę naszą składnię, która od teraz będzie wyglądać tak:
psexec -i -d \\komputer wbadmin start backup -backupTarget:E: -include:C: -allCritical -quiet
Oczywiście zamiast "komputer" wpisujemy adres IP lub nazwę docelowej maszyny, której obraz chcemy wykonać (Zdjęcie 4)
Wciskamy enter... (Zdjęcie 5)
I... to wszystko - obraz komputera (w tym przypadku o nazwie PT‑160) właśnie się robi (Zdjęcie 6)
Wykonanie obrazu całej partycji systemowej tego komputera zajęło około 25 minut a objętość pliku to mnie więcej 34GB (Zdjęcie 7)
To w zasadzie wszystko. Jak widać sprawa nie była jakoś specjalnie trudna, natomiast przydatność tego rozwiązania jest mocno wątpliwa... Oczywiście, budżetowo jest to bardzo tania opcja ale w dzisiejszych czasach za niewielkie pieniądze (jakieś 250pln netto /stanowisko) można kupić choćby Acronis True Image, który z nawiązką spełni wszystkie nasze oczekiwania.