HWID — Уникальный идентификатор диска

HWID — это уникальный идентификатор, который агент использует для привязки к системе и передачи данных на сервер.

Порядок генерации HWID

HWID генерируется автоматически и выбирается в следующем порядке:

  1. Серийный номер жесткого диска.

  2. Если не удалось получить — MAC-адрес.

  3. В случае ошибки — серийный номер тома.

Примечание

Начиная с версии агента 5.8.2478, генерация HWID в реестре Windows происходит автоматически.

Примечание

В Staffcop Enterprise 5.5 для Windows-агентов версии 5.8.2583 и выше доступна генерация HWID через параметры командной строки или имя MSI-файла установки агента.

Ручная настройка HWID

С версии 5.8.2450 агент позволяет задать HWID вручную через реестр Windows. Для этого создайте значение REG_SZ:

[HKEY_LOCAL_MACHINE\SYSTEM\SCHWID]
"hwid"="1111-2223"

Ошибка Wrong CN! в логах

Ошибка Wrong CN! в логах агента означает, что сервер отклонил соединение от агента из-за несовпадения ожидаемого и фактического HWID (Common Name).

Решения:

  1. Убедитесь, что значение HWID не содержит пробелов.

  2. Создайте .reg-файл со следующим содержимым:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\SCHWID]
"hwid"="XXXX-YYYY"

Замените XXXX-YYYY на ваш актуальный идентификатор.

Автоматическая генерация HWID

Генерация уникального идентификатора HWID может быть выполнена автоматически с помощью BAT-скрипта. Скрипт создает или заменяет значение HWID в системном реестре.

Для этого:

  1. Скопируйте код в файл, например в hwid.bat.

@echo off
reg query "HKLM\SYSTEM\SCHWID" /v "hwid" > null
set I=22
set N=16
set CHAR=0 1 2 3 4 5 6 7 8 9 A B C D E F
set Hex=0
:LOOP
set /a R=1+%N%*%random%/32768
for /f "tokens=%R%" %%q in ("%CHAR%") do (set Hex=%%q%Hex%)
Set /a I-=1
If %I% GTR 0 goto LOOP
echo %Hex%
reg add HKLM\SYSTEM\SCHWID /f /v hwid /t REG_SZ /d %Hex%
:end

Предупреждение

Каждый запуск скрипта создает новый случайный HWID. Существующее значение будет перезаписано.

  1. Запустите скрипт:

cmd.exe /c hwid.cmd

После этого уникальный идентификатор будет записан в реестр системы. Уникальный идентификатор закрепится за системой и не будет изменяться автоматически.

Уникальный HWID

На виртуальных машинах и шаблонных образах могут совпадать HWID, из-за чего агенты отображаются некорректно.

Пример: VDI или доменные ПК с одним образом и разными профилями. У них одинаковые серийные номера дисков, MAC-адреса или другие системные параметры, поэтому агент формирует один и тот же HWID для всех.

Начиная с версии 5.8.2539, можно формировать HWID на основе полного доменного имени (FQDN), чтобы гарантировать уникальность на таких системах.

Для создания уникального HWID добавьте в ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\SCHWID ключ формата DWORD (32) с названием use_fqdn со следующими значениями:

Значение

Описание

0 или отсутствие

Стандартная логика генерации HWID:
по серийному номеру диска, MAC-адресу или номеру тома.

1

Вместо ID диска используется полное доменное имя (FQDN) компьютера в нижнем регистре.
Значение сохраняется в реестре и используется как HWID.

2

Используется полное доменное имя (FQDN), но не сохраняется в реестре
(параметр hwid не используется).
В случае смены имени компьютера меняется HWID.

Внимание

Если в реестре уже сформирован HWID, то новое поведение не применится. Удалите значение HWID, чтобы применить use_fqdn.

Изменение HWID после обновления Windows

Обновление Windows изменяет системный реестр, включая ветку HKEY_LOCAL_MACHINESYSTEM, из которой агент берет данные для HWID. Поскольку HWID формируется на основе этих данных, любые изменения реестра меняют и HWID.

В результате чего:

  • агент считает систему новой и формирует новый HWID,

  • сервер на основе нового HWID воспринимает устройство как новое,

  • в веб-интерфейсе появляются дубликаты устройств.

Как избежать дублирования

Чтобы избежать дублирования записей в системе после обновления, рекомендуем использовать уникальный HWID.

Последнее обновление: 21.07.25