错误: "节点设备ID不在数据库中"

Version 2

    问题描述:

     

    • 在运行修补任务的时候,发生错误:节点设备ID不在数据库中
    • 在IIS W3SVC日志中,能看到错误代码406
    • 在Vulscan日志中,有这样的错误"The core (servername) received the vulnerability info but was unable to process it!"
    • 在运行安全扫描和清单扫描时,会有这样的报错,与核心服务器"失去联系"

     

    这个问题是由于客户端代理中的设备ID,在核心服务器,数据库中无法找到引起的。这可能是DB的原因,或者是核心服务器上的ASP/IIS的问题。

     

    清单相关的排查

     

    1. 创建一个计划任务,运行清单扫描,加上参数 /F /SYNC 来重新将数据发到核心服务器。这可以通过修改管理脚本 - 清单扫描脚本来完成。在脚本中加入这个参数 /f /sync . 将其中的%server% 变量替换为核心服务器的名称。

     

    例子:

    REMEXEC1=%LDMS_CLIENT_DIR%\LDISCN32.EXE /NTT=%server%:5007 /S="%server%" /I=HTTP://%server%/ldlogon/ldappl3.ldz /NOUI /NOCD /F /SYNC

     

        2. 当清单运行成功之后,重新运行一下修补任务。

     

    确认客户端指向了正确的核心服务器

     

    在客户端注册表中,查找核心服务器的名称:

     

    HKLM\Software\Intel\LANDesk\LDWM\Core Server

     

    并且检查清单扫描的快捷方式.

     

    客户端能够解析核心服务器名称吗?在上面的注册表的值中,得到核心服务器名称,从客户端机器ping这个名称。

     

     

    IIS相关的排查

     

     

    1. IIS正确的运行着吗?重启一下IIS. 有时候只需要重启IIS,就可以修复这个问题。
    2. 在IIS管理中,找到Web Service Extensions,然后确保.NET 2.0设置为允许。重启IIS.
    3. 确保IUSR账户有正确的权限设置。如果IUSR账户在来宾账户组,确保来宾账户组没有被‘禁用’。

     

    尝试打开浏览器,浏览 http://coreserver/wsvulnerabilitycore/vulcore.asmx , 如果客户端不能打开这个页面:

     

    1. 点击开始,选择程序 - 管理工具 - IIS管理
    2. 找到应用程序池
    3. 右键点击LDAppVulnerability属性
    4. 选择标识选项卡
    5. 从下拉列表中,将之前定义的值,改为Local System
    6. 重启IIS
    7. 测试安全扫描、清单扫描和计划任务

     

    重新注册ASP.NET

     

    1. 在客户端开始 - 运行,输入打开cmd.exe .
    2. 改变浏览路径为 C:\Windows\Microsoft.Net\Framework\v2.0.50727
    3. 运行 aspnet_regiis -i (这是重新注册 .NET 2.0)
    4. 运行IISRESET.

     

    检查IIS虚拟路径和文件的权限

     

    http://community.landesk.com/support/docs/DOC-2587

     

    一些特殊的权限比较重要的,如:IncomingData和VulscanResults.

     

    默认的权限设置IncomingData:  (R = 读, X = 写)

    IncomingDataPermissions2.jpg

    默认的权限设置VulscanResults: (R = 读, X = 写)

    VulnerabilityDataPermissions.jpg

    如果有备份,重新恢复IIS设置

     

    如果IIS设置能有从打补丁之前的某个点找到备份,恢复这个备份,然后重新打一下补丁。

     

    COM+ 对象

     

    确保COM+ 对象有正确的标识设置 

     

    1. 设置 LANDesk COM+ 对象的信任证书,开始菜单 - 管理工具 - 组件服务, 选择组件服务旁边的加号,展开 我的电脑 - COM+ Applications, 右键点击LANDesk (你可以对LANDesk1执行同样的操作),点击高级,单选框选择 “Leave running when idle”, 选择标识,定义一个域管理员和密码。 (域管理员会替代LANDeskComPlus账户,新的用户名必须用域名\用户名的格式输入)
    2. 重启核心服务器 (这步是必须的,因为我们更改了IIS设置。请参考微软的这个文章:# 326818 http://support.microsoft.com/kb/326818

     

    扫描和修复设置问题排错


    如果上面的步骤都不能修复你的问题,你可以检查一下,也许扫描和修复设置本身有问题。也许这是一个从别的核心服务器导入的设置。

     

    1. 浏览这个路径:...LANDesk\ManagementSuite\ldlogon\AgentBehaviors ,查看你是否有agent behaviors设置,包含了其他的核心服务器的名称的设置。如果有,打开这个文件,编辑一下,看这个是指向了哪个核心服务器,将设置修改为正确的.
    2. 你需要在导入的时候选择:"插入项目到指定的组和用户",而且不是"更新"
    3. 最好的方法,是删除所有旧的扫描和修复设置,然后重新导入一遍。
    4. 然后,需要更新一下扫描和修复设置到客户端机器。

     

     

    英文文档链接:

    http://community.landesk.com/support/docs/DOC-23609