Настройка HWID

HWID (Hardware ID) — уникальный идентификатор агента Staffcop.

HWID решает три задачи:

  • регистрирует ПК на сервере Staffcop;

  • отличает один ПК от другого;

  • не дает данным с разных ПК накладываться друг на друга.

Ниже описано присвоение HWID через реестр и BAT-скрипт.

Внимание

Для виртуальных машин, клонированных систем и шаблонных образовпри установке через реестр и BAT-скрипт добавьте в ветку параметр use_fqdn.

См.также

Для массовой установки HWID используйте присвоение через параметры установки.
Присвоение HWID для Linux-агента задается командами генерации 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

Начиная с версии агента 5.8.2478, генерация уникального идентификатора 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 или PowerShell:

cmd.exe /c hwid.cmd

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

Генерация уникального HWID для виртуальных машин и шаблонов

У виртуальных машин, клонированных систем и шаблонных образов совпадают аппаратные параметры, поэтому обычная генерация дает одинаковый 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 через параметры установки.

Внимание

Если HWID уже сформирован в реестре, новый параметр не сработает. Сначала удалите старое значение:

reg delete "HKLM\SYSTEM\SCHWID\HWID" /f

Внимание

В предыдущих версиях агента обновление операционной системы Windows могло приводить к изменению HWID и появлению дубликатов устройств в веб-интерфейсе. С версии агента 5.8.2607 эта проблема была устранена. Дублирование устройств после обновления Windows более не происходит.