1

我正在尝试使用 soti 脚本,该脚本将获取摩托罗拉设备的嵌入式序列号,并使用此编号在 ini 文件中查找自定义资产编号。然后将此资产编号作为 soti 注册表堆栈中的 DeviceName 写回设备注册表。

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

此代码可以使用序列号,但不会交换资产编号并重新写入 soti reg。

任何帮助将不胜感激。

4

1 回答 1

1

事实证明,以下行导致了错误......

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

-1 导致资产被清理,当我使用以下它时它工作得很好

:assetfound
set MyAsset=substring %MyAsset% 4 10
于 2014-02-18T17:11:56.020 回答