0

В настоящее время я работаю над проектом, где мне (между прочим) нужно найти MAC-адрес для удаленного компьютера. Проблема в том, что я ограничена только доступом к компьютерным SQL-запросам. (Так что я не могу использовать WMI)Как получить MAC-адрес с сервера MSSQL 2000

Удаленный компьютер работает под управлением Windows Server 2000, и сервер MS SQL 2000.

Я знаю IP удаленного компьютера, и я могу войти в систему с админом Счет. Как я могу получить MAC-адрес (желательно, все из них) с удаленного компьютера?

Благодарен за ответы.

+0

ПРИМЕЧАНИЕ. Я могу получить доступ к реестру Windows на удаленном компьютере через SQL. Есть ли статический путь к любому ключу/значению, содержащему MAC? –

ответ

0

Я решил это для моего компьютера

// не виду в makeQuery и querySrv

ResultTable res = makeQuery(querySrv,("USE Master; EXEC xp_regread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\\Description\\Microsoft\\rpc\\UuidTemporaryData', 'NetworkAddress'")); 
    byte[] bMac =(byte[])res.getRow(0).data[1]; 
    String mac = String.format("%02X:%02X:%02X:%02X:%02X:%02X", bMac[0], bMac[1], bMac[2], bMac[3], bMac[4], bMac[5]); 

Это должно работать для сервера других серверов Windows 2000

Благодаря @morgano помощи с форматирование и преобразование byte/hex

0

Согласно this, похоже, вы не можете. Если бы вы использовали SQL Server 2005+, я бы подумал, что вы можете что-то сделать в SQLCLR, чтобы сделать это без особых усилий.

0

Я думаю, что какой-то внешний вызов через xp_cmdshell - это ваш единственный вариант. Существует вероятность того, что эта функция может быть отключена на вашем SQL Server (без уважительной причины).

Что-то вроде

Create table #results(data varchar(250)) 
Insert #results 
exec master..xp_cmdshell 'ipconfig /all' 

select * from #results where data like 'physical address%' 

Далее на ваш комментарий - вы можете найти его под в реестре под ключ

HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318} 

, но если и где будет конфигурация зависит от аппаратного обеспечения.

+0

Я попробую это и посмотрю, если это сработает. Я вернусь позже. –

+0

К сожалению, xp_cmdshell деактивирован, поэтому я не могу этого сделать –

+0

Вот что я нашел во всех учебниках, но кажется, что по какой-либо причине нет «NetworkAddress» -key для любого из сетевых адаптеров. И нет никакой другой ценности, выглядящей как MAC-адрес. –

 Смежные вопросы

  • Нет связанных вопросов^_^