Job / Praca

    Disaster Key Recovery

    Klucze licencyjne, w ogóle licencjonowanie Microsoftu to horror. Je?eli jeszcze zagin? lub zniszcz? si? to katastrofa na ca?ego. Pó? biedy jak zauwa?ymy, ?e co? si? dzieje z?ego z nalepk? licencyjn? czy dyskiem i zrobimy papierow? kopie tych?e. Mo?na si? spiera? co do legalno?ci takich dzia?a?, EULA stanowi chyba, ?e licencja jest pe?noprawna kiedy mamy faktur? zakupu, no?nik i nalepk?. Bardziej mi jednak chodzi o ratowanie si? w sytuacji kiedy np ostatni cz?on na nalepce uleg? zniszczeniu lub zamazaniu.
    Sytuacja wi?c wygl?da tak. Jest sobie notebook z fabrycznie preinstalowanym Windowsem, dostarczony wraz z recovery partition. W komputerez tam niz tego ni z owego pada nam dysk. Kopia nie by?a robiona, natomiast szcz??liwie w ca?ym biurze szaleje bacula czyli sieciowy backup. Nalepka jest jak ju? wspomnia?em nieczytelna w skutek przetarcia si? tu i ówdzie. Co nale?y zrobi?:

    1. Wsadzamy nowy dysk do notebooka i odpalamy czyst? instalacj? Windowsa (w tym przypadku XP). Ja u?y?em recovery CD zrobionego na komputerze tej samej firmy i modelu do?? zbli?onym. W praktyce pójdzie ka?dy OEM, wa?ne aby si? SP zgadza?.

    2. Je?eli system zainstaluje si? bez pytania o klucz, trzeba sprawdzi? czy dobra? odpowiedni klucz wzgl?dem konfiguracji, je?li nie trzeba go zmieni?. Ja u?y?em tego skryptu wyszukanego gdzie? na microsoft.com :) Ale najpierw skoro nie wiadomo jaki do ko?ca ten klucz powinien by? – przeczytaj punkt 3.

    '
    ' WMI Script - ChangeVLKey.vbs
    '
    ' This script changes the product key on the computer
    '
    '***************************************************************************

    ON ERROR RESUME NEXT

    if Wscript.arguments.count<1 then
    Wscript.echo "Script can't run without VolumeProductKey argument"
    Wscript.echo "Correct usage: Cscript ChangeVLKey.vbs ABCDE-FGHIJ-KLMNO-PRSTU-WYQZX"
    Wscript.quit
    end if

    Dim VOL_PROD_KEY
    VOL_PROD_KEY = Wscript.arguments.Item(0)
    VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if any

    for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

    result = Obj.SetProductKey (VOL_PROD_KEY)

    if err <> 0 then
    WScript.Echo Err.Description, "0x" & Hex(Err.Number)
    Err.Clear
    end if

    Next

    3. Teraz zaczyna si? prawdziwa zabawa. Klucz ukryty jest gdzie? w rejestrze. Przy pomocy baculi robimy restore na jaki? dzia?aj?cy komputer:

    Z konsoli bconsole wydajemy nastepuj?ce polecenia (wyt?uszczone):

    Connecting to Director bacula:9101
    1000 OK: 10.1.0.6 Version: 2.4.4 (28 December 2008)
    Enter a period to cancel a command.
    *restore
    Automatically selected Catalog: MyCatalog
    Using Catalog "MyCatalog"

    First you select one or more JobIds that contain files
    to be restored. You will be presented several methods
    of specifying the JobIds. Then you will be allowed to
    select which files from those JobIds are to be restored.

    To select the JobIds, you have the following choices:
    1: List last 20 Jobs run
    2: List Jobs where a given File is saved
    3: Enter list of comma separated JobIds to select
    4: Enter SQL list command
    5: Select the most recent backup for a client
    6: Select backup for a client before a specified time
    7: Enter a list of files to restore
    8: Enter a list of files to restore before a specified time
    9: Find the JobIds of the most recent backup for a client
    10: Find the JobIds for a backup for a client before a specified time
    11: Enter a list of directories to restore for found JobIds
    12: Cancel
    Select item: (1-12): 5

    Defined Clients:
    –CIACH–
    26: zr2
    –CIACH–

    Select the Client (1-42): 26
    Automatically selected FileSet: dyskcdefzr2
    +--------+-------+----------+----------------+---------------------+------------+
    | JobId | Level | JobFiles | JobBytes | StartTime | VolumeName |
    +--------+-------+----------+----------------+---------------------+------------+
    | 9,935 | F | 65,561 | 10,117,299,182 | 2009-05-04 15:09:25 | Vol0327 |
    | 10,265 | I | 1,931 | 3,843,394,932 | 2009-05-12 11:06:02 | Vol0327 |
    | 10,305 | I | 270 | 1,199,245,844 | 2009-05-13 10:56:08 | Vol0327 |
    | 10,385 | I | 406 | 1,245,688,126 | 2009-05-15 10:41:57 | Vol0327 |
    +--------+-------+----------+----------------+---------------------+------------+
    You have selected the following JobIds: 9935,10265,10305,10385

    Building directory tree for JobId 9935 ... ++++++++++++++++++++++++++++++++++++++++++++++
    Building directory tree for JobId 10265 ... +
    Building directory tree for JobId 10305 ...
    Building directory tree for JobId 10385 ...
    4 Jobs, 62,838 files inserted into the tree.

    You are now entering file selection mode where you add (mark) and
    remove (unmark) files to be restored. No files are initially added, unless
    you used the "all" keyword on the command line.
    Enter "done" to leave this mode.

    cwd is: /
    $ cd c:/
    cwd is: c:/
    $ mark WINDOWS
    25,359 files marked.
    $ done

    Bootstrap records written to /var/spool/bacula/10.1.0.6.restore.2.bsr

    The job will require the following
    Volume(s) Storage(s) SD Device(s)
    ===========================================================================

    Vol0327 zr2 zr2

    25,359 files selected to be restored.

    Run Restore job
    JobName: RestoreFiles
    Bootstrap: /var/spool/bacula/10.1.0.6.restore.2.bsr
    Where: /tmp/bacula-restores
    Replace: always
    FileSet: Full Set
    Backup Client: zr2
    Restore Client: bacula
    Storage: zr2
    When: 2009-06-02 11:33:27
    Catalog: MyCatalog
    Priority: 10
    OK to run? (yes/mod/no):yes

    Je?li wszystko posz?o OK to na serwerze z bacul? mamy w /tmp/bacula-restores ca?y katalog WINDOWS sprzed awarii. Dzi?ki funkcji shadowcopy u?ywanej przez bacul? pliki systemowe u?ywane przez Windows równie? s? zbackupowane i mo?liwe do odtworzenia. Rejestr systemu jest przechowywany w %SysemRoot%/System32/config. Mo?na go r?cznie przegl?da? regeditem (trzeba ustawi? si? na kluczu HKEY_USERS i wybra? ’?aduj ga??? rejestru’ lub 'Load Hive’ zale?y w jakiej wersji j?zykowej jest regedit :) ale klucze s? zaszyfrowane wi?c nie zda si? to na zawiele akurat (aczkolwiek jest wystarczaj?ce ?eby wyeksportowa? np. hosty z putty).

    4. Sci?gamy wi?c odrestorowany katalog Windows na komputer z Windowsem i instalujemy Magical Jelly Bean Keyfinder . Uruchamiamy z prawami administratora, pierwsze co zobaczymy to nasz klucz Windowsa i ewentualnie inne klucze np od Office.

    Magical Jelly Bean po uruchomieniu
    Magical Jelly Bean po uruchomieniu

    Wybieramy opcj? Load Hive:

    Opcja do za?adowania rejestru "offline"

    Wybieramy katlog który wcze?niej uda?o nam si? odrestorowa?:

    Potrzebny ca?y katlog `Windows` aby zadzia?a?o
    Potrzebny ca?y katlog `Windows` aby zadzia?a?o

    Sukces! Mamy upragniony numer! (z oczywistych wzgl?dów nie mog? pokaza?, ?e jest to innym serial ni? poprzednio, ale wida? zmian? w pakiecie Office :)

    jelly4

    Teraz je?li potrzeba wracamy do punktu drugiego i zmieniamy klucz na w?a?ciwy. Windows powinien si? zdezaktywowa?. Po ponownej aktywacji z w?a?ciwym kluczem wszystko powinno by? ok.

    Sukces!
    Sukces!

    Jeszcze raz NetBSD (przy pomocy baculi) zaoszcz?dza mnóstwa k?opotów :)




    Related Posts with Thumbnails

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Leave a Reply

    Add your widget here