Встановлення Windows 7 - Частина 18 Визначення комп’ютера UUID
У частині 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 і включити сценарій в цей образ, щоб ми могли запускати наш сценарій на порожніх системах. У наступній статті цього циклу ви дізнаєтесь, як це зробити.