首页 文章

如何使用SQL Query获取系统模型(产品名称如:Proliant DL580 Gen9)?

提问于
浏览
0

我正在寻找一种方法来找到像“Proliant DL580 Gen9”这样的系统模型,但我找不到任何方法来获得这个 .

System Model

我尝试下面的查询并使用“master.sys.xp_regread”过程来获取服务器模型名称

DECLARE @ServerType VARCHAR(max)
EXEC master.sys.xp_regread @rootkey = 'HKEY_LOCAL_MACHINE',
                           @key = 'HARDWARE\DESCRIPTION\System\BIOS\0',
                           @value_name = 'SystemProductName',
                           @value = @ServerType OUTPUT;
SELECT @ServerType

返回 NULL 值!

有没有办法让系统模型像“Proliant DL580 Gen9”?

谢谢 .

2 回答

  • 0

    美好的一天,

    您可以使用以下查询获取模型:

    EXEC master.sys.xp_regread 
        @rootkey = 'HKEY_LOCAL_MACHINE',
        @key = 'HARDWARE\DESCRIPTION\System\BIOS',
        @value_name = 'SystemProductName'
    GO
    

    结果应该为您提供通过执行wmic命令获得的等效信息

    wmic computersystem get model
    

    对于您不确定的任何事情,您可以使用命令regedit打开注册表,找到您要查找的值,并更改上面查询中的参数

    例如,以下是人们需要的一些常见值:

    EXEC master.sys.xp_regread 
        @rootkey = 'HKEY_LOCAL_MACHINE',
        @key = 'HARDWARE\DESCRIPTION\System\BIOS',
        @value_name = 'SystemManufacturer'
    GO
    EXEC master.sys.xp_regread 
        @rootkey = 'HKEY_LOCAL_MACHINE',
        @key = 'HARDWARE\DESCRIPTION\System\BIOS',
        @value_name = 'SystemVersion'
    GO
    EXEC master.sys.xp_regread 
        @rootkey = 'HKEY_LOCAL_MACHINE',
        @key = 'HARDWARE\DESCRIPTION\System\BIOS',
        @value_name = 'SystemProductName'
    GO
    
    EXEC master.sys.xp_regread 
        @rootkey = 'HKEY_LOCAL_MACHINE',
        @key = 'HARDWARE\DESCRIPTION\System',
        @value_name = 'SystemBiosVersion'
    GO
    
  • 1

    感谢您回答我的问题另外,我找到了获得此房产的另一种方式 .

    DECLARE @SysInfo TABLE (Property NVARCHAR(MAX));
    INSERT INTO @SysInfo (Property) 
        EXEC master.dbo.xp_cmdshell 'systeminfo | findstr /C:"System Model"';
    SELECT  (SELECT LTRIM(REPLACE(Property, 'System Model:', ''))       
        FROM @SysInfo WHERE Property LIKE '%System Model%');
    

    最好的祝福

相关问题