Инсталиране на Windows 7 - Част 18 Определяне на UUID на компютъра

Посетители: 5824 Преглеждания: 7540 (днес 0)Шрифт:

В част 16 от тази серия научихте как да използвате MDT базата данни, за да персонализирате инсталация на Windows 7 въз основа на UUID на всеки целеви компютър. В същата статия научихте как да използвате WMI за определяне на UUID в случай, че UUID не е показан в системния BIOS или свързаната документация. Въпреки това, методът, който използвахме, беше донякъде небрежен, плюс компютърът, чийто UUID ще определите, трябва вече да има инсталиран Windows.

Тази и следващите статии са посветени на това. Първо, в тази статия ще създадем малък скрипт, който просто показва UUID на компютър. А в следващата статия ще научим как да създаваме базирани на CD WinPE „инструменти“, които можете да използвате, за да стартирате скрипт на празна система, която няма инсталирана операционна система, за да определите UUID на системата. След като използвате WinPE-CD за изпълнение на скрипта на няколко целеви компютри, можете да попълните тези UUID в базата данни на MDT и да инсталирате изображенията на Windows на всеки компютър, както е необходимо.

Съвет: Ако не сте запознати с WMI скриптовете, вижте моята серия от уводни статии от 14 части на WindowsNetworking.com, озаглавена Скриптиране на Windows мрежи.

Скрипт за определяне на UUID на компютъра

В част 16 от нашата поредица видяхме как можете да определите UUID на компютър с помощта на WMI:

Всичко изглеждаше, разбира се, малко небрежно: не е много добре да стартирате WBEMTEST на компютър или да променяте скрипта всеки път, когато трябва да се стартира. И между другото,би било за предпочитане да се отпечата само UUID на компютъра, без куп други неща за зареждане.

Ето как да го направите. Нека започнем с модифициран скрипт DisplayClassProperties.vbs, взет от част 16 от поредицата статии:

Сега, за да завършим това, което прави WBEMTEST и да върнем екземпляри на класа Win32_ComputerSystemProduct, трябва да използваме метода SWbemServices.InstancesOf на обекта SWbemServices. За да разбера как да направя това, аз просто адаптирах следния скрипт от добрата стара страница Ръководство за скриптове на Windows 2000 (вижте тук):

Моята собствена версия на скрипта по-горе изглежда така:

Защо бих искал този скрипт да дефинира стойностите за три параметъра - IdentifyingNumber, Name и Version? Тъй като класът Win32_ComputerSystemProduct има три ключови параметъра, а именно (правилно познахте): IdentifyingNumber, Name и Version. За да видите всичко сами, вижте документацията на MSDN за този клас. Не забравяйте, че ключовият параметър е параметър, който предоставя уникален идентификатор за екземпляр на клас и за да се свържете с екземпляр на клас, ще трябва да посочите конкретен екземпляр, като използвате параметъра на ключа на класа. Ключовите параметри са маркирани с квалификатора "Ключ" в документацията на MSDN; вижте част 13 от предишната ми поредица от скриптове за повече подробности относно ключовите параметри.

Сега трябва да комбинирам горния скрипт с другия ми скрипт - DisplayClassProperties.vbs - за да създам следния нов скрипт, който нарекох UUID.vbs (имайте предвид, че опростих този скрипт, като пропуснах дефинициите на променливите и обработката на грешки):

Вижте: най-трудната част тук е да се уверитеправилни низове в клаузата strWMIQuery =. Например изречение завършва с & chr(39), което е единичната кавичка, необходима за правилния синтаксис на довършване на изречението. Отне малко танци около мястото, за да заработи; Ето един трик, който проработи при мен: временно вмъкнете клаузата Wscript.echo strWmiQuery веднага след клаузата strWMIQuery =, за да мога да стартирам скрипта и да отпечатам съдържанието на низа, за да видя дали синтаксисът на низа е правилен, след това направете промяната и стартирайте скрипта отново, докато получа правилния синтаксис.

Тестване на сценарий

Нека сега видим дали нашият скрипт работи, когато се стартира от командния ред на компютър с инсталиран Windows XP (Фигура 1):

част

Фигура 1: Изпълнение на UUID.vbs на машина с операционна система

Нека направим още по-лесно изпълнението на нашия скрипт, като създадем допълнителен пакетен файл, наречен UUID.bat, който изглежда така:

Изпълнението на скрипта е още по-лесно и изходът е по-чист (Фигура 2):

Фигура 2: Изпълнение на UUID.bat на компютър с операционна система

Заключение

След като нашият скрипт е готов и работи, сега трябва да създадем WinPE изображение и да включим нашия скрипт в това изображение, за да можем да изпълняваме нашия скрипт на голи системи. Следващата статия от тази поредица ще ви покаже как.