Лучший способ однозначно идентифицировать машину с Windows

В последнее время я столкнулся с проблемой, пытаясь определить уникальность машин на разных платформах. Достаточно сказать, что это намного сложнее, чем я думал изначально.

Традиционный метод использования MAC-адреса в качестве уникального идентификатора компьютера больше не будет работать. Почему? Потому что каждый компьютер может легко иметь несколько MAC-адресов от нескольких сетевых адаптеров. Например, почти все ноутбуки поставляются с одним Ethernet, одним сетевым адаптером Wi-Fi и одним Bluetooth. MAC-адрес быстро меняется каждый раз, когда ваш компьютер подключается из проводной сети к беспроводной. Более того, MAC-адрес меняется даже при подключении или отключении VPN. Не говоря уже о том, что он запущен на виртуальной машине. С этим прошли те времена, когда MAC-адрес использовался в качестве уникального идентификатора компьютера.

Что теперь?

Использовать UUID в качестве идентификатора, когда вы можете

Ранее мы рассказывали, что вы можете использовать команду wmic для поиска всей системной информации с вашего компьютера. И мы можем использовать то же самое здесь.

wmic csproduct get UUID

Этот UUID — лучший способ идентифицировать машину, он существует в Windows, Mac и многих других платформах. Его длина составляет 32 символа, это универсальный уникальный идентификатор. Вы можете запустить указанную выше команду wmic, чтобы получить ее.

Но подождите, это не всегда так. Некоторые производители материнских плат могут не включать этот UUID в свои материнские платы, что довольно часто встречается на машинах, не принадлежащих OEM. В этом случае, когда вы используете wmic, пытаясь получить его, вы получите все FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF в качестве идентификатора обратно.

Альтернатива

В Windows есть несколько альтернатив, которые вы можете использовать, если идея UUID не удалась.

Первый — использовать ваш идентификатор продукта Windows. Это идентификатор, который вы можете легко получить из Панель управления> Система и безопасность> Система

Но это не всегда гарантирует уникальность машины. Например, на том активированном томе Windows или на неподлинных машинах Windows идентификатор продукта всегда будет одинаковым. Также имейте в виду, что если вы переустановите Windows, этот идентификатор также может измениться.

Второй вариант — использовать серийный номер жесткого диска в качестве уникального идентификатора. Это почти лучший подход, если UUID не работает, что означает, что вы можете полагаться на серийный номер жесткого диска.

wmic DISKDRIVE get SerialNumber

Вышеупомянутая команда сделает свое дело. Он даже возвращает все числа, если к вашему компьютеру физически подключено несколько жестких дисков.

Заключение

Если вы хотите идентифицировать машину, используйте старый способ использование Mac-адреса больше не является надежным. Есть способы получше. Мы перечислили здесь только два варианта, и если вы знаете другие, не стесняйтесь поделиться ими в комментарии ниже..

/Обновление от 17 июля 2015 г./

На самом деле существует другой способ однозначной идентификации каждого ПК с Windows. Откройте реестр и перейдите к

HKEY_LOCAL_MACHINE SOFTWARE Microsoft Cryptography

Найдите ключ под названием «. MachineGuid », этот ключ создается уникальным образом во время установки Windows и не меняется независимо от замены оборудования (кроме замены загрузочного жесткого диска, на котором установлена ​​ОС). Это означает, что если вы хотите отслеживать установку для каждой ОС, это еще одна альтернатива. Он не изменится, если вы не выполните новую переустановку Windows.

/update в январе 9, 2019/

Вы также можете запустить следующий командлет в консоли PowerShell, чтобы получить UUID.

 (Get-CimInstance -Class Win32_ComputerSystemProduct) .UUID 

/update 15 сентября 2020 г./

Windows 10 Система также может быть идентифицирована по так называемому 4K-Hash, специальной строке хеширования размером 4000 байт. Это всего лишь часть информации, необходимая для регистрации компьютеров с Windows, но сама по себе может быть интересна уникальная идентификация операционных систем Windows и для других целей.

Для идентификации выполните следующую команду с повышенными привилегиями. Окно PowerShell:

 (Get-CimInstance -Namespace root/cimv2/mdm/dmmap -Class MDM_DevDetail_Ext01 -Filter "InstanceID = 'Ext' AND ParentID = './DevDetail'"). DeviceHardwareData 

Оцените статью
toodcast.ru
Добавить комментарий