Автоматическое именование устройства SOTI через файл.ini

Я пытаюсь использовать сценарий soti, который будет использовать встроенный серийный номер устройства Motorola и использовать этот номер для поиска пользовательского номера ресурса в INI-файле. Затем запишите этот номер актива обратно в реестр устройств как DeviceName в стеке реестра soti.

Формат файла INI:

10184522501228=CITY7600A

Код, который я использую:

    ;read registry for Serial Number
    set MySerial=REG://HKEY_LOCAL_MACHINE\Software\MSP\IdentityAttributes?VN=serial
    showmessagebox %MySerial%

    ;Lookup in INI
    set MyAsset=INI://\temp\CityMC70Serial2Asset.ini?SC=Serial&NM=%MySerial%
    showmessagebox %MyAsset%
    set MyAsset=N/A%MyAsset%

    if not %MyAsset%==N/A goto assetfound
    set MyAsset=%MySerial%
    goto continue

    :assetfound
    set MyAsset=substring %MyAsset% 4 -1

    :continue
    ;Set in registry for Customer Data
    regset HKEY_LOCAL_MACHINE\Software\Apps\SOTI\MobiControl\PDB\Device\DeviceName?VD=MyAsset

    ;rename device to asset tag
    \windows\startup\CommLoader.exe -n %MyAsset%
    \windows\startup\CommLoader.exe -n %MyAsset%

    reset /s

Этот код принимает серийный номер в порядке, но не обменивается на номер актива и перезаписывает в рег.

Любая помощь будет принята с благодарностью.

1 ответ

Оказывается, следующая строка была причиной ошибки...

:assetfound
set MyAsset=substring %MyAsset% 4 -1

-1 заставлял актив очищаться, когда я использовал следующее, он работал отлично

:assetfound
set MyAsset=substring %MyAsset% 4 10
Другие вопросы по тегам