SQL获取IP地址,网卡,计算机名

 
--网卡:

create table #tb(id int identity(1,1),hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15))
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
-------------------------------------
declare @ip varchar(15),@sql varchar(1000)

--得到ip地址
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

/*

用户计算机名 ip地址
-------------------------------------------------------------------------------------------------------------------------------- ---------------
FLYSTONE 192.168.0.76
*/
------------------------------------

--网卡ID
DECLARE @NetID VARCHAR(32)
EXEC master..xp_by02 @NetID OUTPUT
select @NetID
------
--
显示芯片信息
exec xp_msver 'Platform'--可参照联机帮助,有几项选择

--处理器类型
exec xp_msver 'ProcessorType'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值