Как получить модель системы (название продукта, например:Proliant DL580 Gen9) с помощью SQL Query?
Я ищу способ найти модель системы, такую как "Proliant DL580 Gen9", но я не могу найти способ получить это.
Я пытаюсь запрос ниже и использовал "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 ответа
Добрый день,
Вы можете получить модель, используя запрос ниже:
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
Спасибо, что ответили на мой вопрос. Также я нашел другой способ получить эту собственность.
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%');
С уважением