Какой идентификатор оборудования уникален?

Я хочу создать программу для ее активации с уникальным идентификатором. Таким образом, я получаю MAC-адрес для серийного номера программного обеспечения, но на некоторых компьютерах Mac изменяется при перезагрузке компьютера. Итак, я снова должен установить серийный номер, чтобы активировать программное обеспечение.

Что вы предлагаете использовать для серийного номера на C #?


person ssss    schedule 23.09.2017    source источник


Ответы (1)


Не существует универсального идентификатора оборудования, который работает, Intel пыталась предоставить один в своих Pentium III с серийным номером процессора, но был большой спор по этому поводу, и он был удален из более поздних моделей и не существовал в последующих поколениях.

Есть определенные идентификаторы оборудования, которые вы можете прочитать, но не существует стандартизованного способа сделать это. См. Связанный вопрос «Какой хороший способ однозначно идентифицировать компьютер? ? "для некоторых возможных вариантов.

Вариант, который я делаю, когда мне нужно это сделать, - использовать серийный номер Windows, который должен быть уникальным для каждой машины, даже для клонированных машин (из-за того, что он изменяется во время процесса sysprep), если только они не нарушают лицензирование Microsoft и клонирование без syspreping .

Это можно получить через WMI.

var s = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem");
var obj = s.Get().Cast<ManagementObject>().First();
var serial = obj["SerialNumber"].ToString();
person Scott Chamberlain    schedule 23.09.2017
comment
Лицензия Windows может быть не уникальной, некоторые типы лицензий Windows можно активировать на 3 разных компьютерах. - person FrakyDale; 07.03.2018
comment
Серийный номер для этих 3 компьютеров будет другим. Серийный номер не является лицензионным ключом. - person Scott Chamberlain; 07.03.2018
comment
Начиная с Windows 10 серийный номер может измениться, например после обновления функции - person dako; 14.10.2019