Встановлення Windows 7 - Частина 18 Визначення комп’ютера UUID

Відвідувачів: 5824 Переглядів: 7540 (сьогодні 0)Шрифт:

У частині 16 цього циклу ви навчилися використовувати базу даних MDT для налаштування інсталяції Windows 7 на основі UUID кожного цільового комп'ютера. У тій же статті ви дізналися, як використовувати WMI для визначення UUID у випадку, якщо цей UUID не відображається в системному BIOS або супутній документації. Однак той метод, який ми використовували, був дещо неохайний, плюс на тому комп'ютері, UUID якого ви збираєтеся визначати, вже має бути встановлена ​​операційна система Windows.

Саме цьому присвячені ця та наступна статті. Спочатку, у цій статті, ми створимо невеликий сценарій, який просто відобразить комп'ютер UUID. А в наступній статті ми навчимося створювати «інструменти» WinPE на CD, які можна використовувати для запуску сценарію на порожній системі, на якій не встановлена ​​жодна операційна система, щоб визначити 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 Scripting Guide (див. тут):

Моя власна версія вищенаведеного сценарію виглядає так:

Навіщо мені знадобилося, щоб цей сценарій визначав значення трьох параметрів – IdentifyingNumber, Name та Version? Тому що клас Win32_ComputerSystemProduct має три ключові параметри, а саме (ви правильно вгадали): IdentifyingNumber, Name і Version. Щоб побачити все це на власні очі, зверніться до документації цього класу в MSDN. Пам'ятайте, що ключовим параметром є параметр, який забезпечує унікальний ідентифікатор екземпляра класу, а щоб підключитися до екземпляра класу, вам потрібно буде вказати конкретний екземпляр за допомогою ключового параметра класу. Ключові параметри позначені кваліфікатором "Key" у документації у MSDN; зверніться до 13-ї частини мого попереднього циклу статей про сценарії за більш детальною інформацією щодо ключових параметрів.

Тепер мені потрібно з'єднати налаштований вище сценарій з іншим моїм сценарієм – DisplayClassProperties.vbs – щоб створити наступний новий сценарій, який я назвав UUID.vbs (зверніть увагу на те, що я спростив цей сценарій, опустивши визначення змінних та обробку помилок):

Дивіться: найскладніше тут – переконатися управильності рядків у реченні strWMIQuery = . Наприклад, пропозиція закінчується & chr(39), тобто одинарну лапку, необхідну для правильного синтаксису завершення речення. Потрібно було трохи потанцювати навколо цього місця, щоб змусити його працювати; мені допоміг такий трюк: тимчасово вставити пропозицію правильний синтаксис.

Тестування сценарію

Давайте тепер подивимося, чи працює наш сценарій, якщо запустити його з командного рядка на комп'ютері, на якому інстальовано Windows XP (Малюнок 1):

встановлення

Рисунок 1: Запуск UUID.vbs на комп'ютері з операційною системою

Давайте ще спростимо запуск нашого сценарію, створивши додатковий batch-файл під назвою UUID.bat, який виглядає так:

Запуск сценарію стає ще простішим, а вихідні дані - чистішими (Малюнок 2):

Рисунок 2: Запуск UUID.bat на комп'ютері з операційною системою

Висновок

Ось наш сценарій і готовий, тепер нам потрібно створити образ WinPE і включити сценарій в цей образ, щоб ми могли запускати наш сценарій на порожніх системах. У наступній статті цього циклу ви дізнаєтесь, як це зробити.