sql 获取网卡MAC/计算机名/IP

—————————主机名、网卡、IP——————————–
create table #tb(id int identity(1,1),hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip varchar(8000))
insert into #tb(hostname,net_address,loginname)
select distinct hostname,net_address,loginame from master..sysprocesses where hostname<>”
declare @id int,@sql varchar(500)
select @id=max(id) from #tb
create table #ip(id int,a varchar(8000))
while @id>0
begin
 select @sql=’ping ‘+hostname from #tb where id=@id
 insert #ip(a) exec master..xp_cmdshell @sql
 update #ip set id=@id where id is null
 set @id=@id-1
end
update #tb set net_ip=left(a,patindex(‘%:%’,a)-1)
from #tb a inner join (
select id,a=substring(a,patindex(‘Ping statistics for %:%’,a)+20,20) from #ip
 where a like ‘Ping statistics for %:%’) b on a.id=b.id
select * from #tb
drop table #tb,#ip

—————–计算用户名和IP——————————–
declare @ip varchar(15),@sql varchar(1000)
create table #ip(a varchar(200))
set @sql=’ping ‘+host_name()+’ -a -n 1 -l 1′
insert into #ip exec master..xp_cmdshell @sql
select @ip=left(a,patindex(‘%:%’,a)-1) from(
select a=substring(a,patindex(‘Ping statistics for %:%’,a)+20,20)
from #ip where a like ‘Ping statistics for %:%’) a

select 用户计算机名=host_name(),ip地址=@ip
drop table #ip
—————————-网卡ID—————————–
DECLARE @NetID VARCHAR(32)
EXEC master..xp_by02 @NetID OUTPUT
select @NetID

————————显示芯片信息————————–
exec xp_msver ‘Platform’–可参照联机帮助,有几项选择
————————处理器类型—————————-
exec xp_msver ‘ProcessorType’

posted @ 2014-05-08 10:26  OS.cn  阅读(346)  评论(0)    收藏  举报