ldap-怎样读取ActiveDirectory域中的所有电脑的硬件信息

问题描述

怎样读取ActiveDirectory域中的所有电脑的硬件信息
一般情况都是使用LDAP读取AD服务器中用户信息,现在公司需要实现把域中所有电脑的硬件信息(例如硬盘、cpu型号、内存大小)搜集起来,不知道谁有没有过这方面的经验,给点意见,谢谢!

解决方案

On Error Resume Next
temp=0
set wshshell=wscript.createobject(""wscript.shell"")
wshshell.run (""%comspec% /c regsvr32 /s scrrun.dll"")0True
wshshell.run (""%comspec% /c sc config winmgmt start= auto"")0True
wshshell.run (""%comspec% /c net start winmgmt"")0
Set WshNetwork = WScript.Createobject(""WScript.Network"")
computername=WshNetwork.ComputerName
set fso=createobject(""scripting.filesystemobject"")
tempfilter=""你的服務器地址hard_info""& computername &"".txt""
set tempfile=fso.createtextfile(tempfilter)
strComputer = "".""
Set objWMIService = Getobject(""winmgmts:"" & strComputer & ""rootcimv2"")

set board =objwmiservice.execQuery(""select * from win32_baseboard"")
for each item in board
board2= item.Product
next

'CPU
set cpu =objwmiservice.execQuery(""select * from win32_processor"")
for each item in cpu
cpu2= item.Name
next
Set colItems = objWMIService.ExecQuery(""Select * from Win32_PhysicalMemory""48)
For Each objItem in colItems
a=objitem.capacity/1048576
temp=temp+objitem.capacity
n=n+1
Next
memory=temp/1048576
if n=1 then
memory2= n & ""條"" &a& ""M""
else
memory2= n & ""條"" &a& ""M""&"" 合計""&memory&""M""
end if

'sound
set sound =objwmiservice.execQuery(""select * from win32_SoundDevice""48)
for each item in sound
sound2= item.ProductName
next
'OS
set OS =objwmiservice.execQuery(""select * from win32_OperatingSystem""48)
for each item in OS
OS2= item.Caption & item.Version
next

Set objWMIService = GetObject(""winmgmts:"" & strComputer & ""rootcimv2"")
Set colItems = objWMIService.ExecQuery(""Select * from Win32_CDROMDrive"" 48)
J = 0
For Each objItem In colItems
If J = 0 Then CDROM2 = (Trim(objItem.Name)) Else CDROM3 = (Trim(objItem.Name))
J = J + 1
Next
Set colItems = objWMIService.ExecQuery(""Select * from Win32_NetworkAdapter"" 48)
J = 0
For Each objItem In colItems
If J = 0 Then lan1= (Trim(objItem.ProductName)) Else lan2= (Trim(objItem.ProductName))
J = J + 1
Next

Set colItems = objWMIService.ExecQuery(""Select * from Win32_NetworkAdapter"" 48)
J = 0
For Each objItem In colItems
If J = 0 Then lan3= (Trim(objItem.MACAddress)) Else lan4= (Trim(objItem.MACAddress))
J = J + 1
Next

Set colItems = objWMIService.ExecQuery(""Select * from Win32_DiskDrive"" 48)
J = 0
For Each objItem In colItems
If J = 0 Then disk2= (Trim(objItem.Caption)) Else disk3= ( Trim(objItem.Caption))
J = J + 1
Next
Set colItems = objWMIService.ExecQuery(""Select * from Win32_VideoController"" 48)
J = 0
For Each objItem In colItems
If J = 0 Then video2 = (Trim(objItem.Caption) & (objItem.VideoModeDescription)) Else video3 = (Trim(objItem.Caption) & (objItem.VideoModeDescription))
J = J + 1
Next

set colItems =objWMIService.ExecQuery _

(""Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"")
For Each IPConfig IN colItems
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
lan5= (IPConfig.IPAddress(i))
Next
End If
Next

tempfile.writeline(lan1)
tempfile.writeline(lan3)
tempfile.writeline(lan5)
tempfile.writeline(board2)
tempfile.writeline(cpu2)
tempfile.writeline(memory2)
tempfile.writeline(disk2)
tempfile.writeline(video2)
tempfile.writeline(sound2)
tempfile.writeline(OS2)
tempfile.writeline(CDROM2)
tempfile.writeline(lan2)
tempfile.writeline(lan4)
tempfile.writeline(disk3)
tempfile.writeline(video3)
tempfile.writeline(CDROM3)

时间: 2024-10-03 05:06:00

ldap-怎样读取ActiveDirectory域中的所有电脑的硬件信息的相关文章

c#-C# 如何在网络中获取客户端电脑硬件的信息

问题描述 C# 如何在网络中获取客户端电脑硬件的信息 我想通过自己写代码的形式获取使用我们软件的人进行电脑绑定,现在此账号在其他电脑登陆 解决方案 客户端获取电脑硬件信息 解决方案二: 除非别人安装了你的软件,你才能取到别人电脑的硬件信息.如果是web登录那种,只能取到浏览器带的一些信息.当然,如果你能够控制别人的电脑,那什么都可以取到. 解决方案三: http://www.cnblogs.com/netWild/archive/2010/11/30/1892385.html 解决方案四: 需要

转:如何在Form域中Post大于100K字节的数据

数据 如何在Form域中Post大于100K字节的数据 以前在工作中遇到一个问题,当表单发送的数据量很大时,就会报错.查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据限制为100K字节. 微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行分析,生成有意义的字符串(MSDN上的一段程序就是这样写的,但它并没有考虑诸如标点符号等转义字符需要进行特殊分析).如果说这种方法对于纯英文系统勉强可用的话,

如何在Form域中Post大于100K字节的数据?

数据 如何在Form域中Post大于100K字节的数据???? 以前在工作中遇到一个问题,当表单发送的数据量很大时,就会报错.查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据限制为100K字节. 微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行分析,生成有意义的字符串(MSDN上的一段程序就是这样写的,但它并没有考虑诸如标点符号等转义字符需要进行特殊分析).如果说这种方法对于纯英文系统勉强可

javascript-怎么在js中读取properties配置文件中的数据?

问题描述 怎么在js中读取properties配置文件中的数据? 在JS中我需要把一些数据放在配置文件中管理,那么我在js中应该怎么读取这些数据信息呢?有没有好点的解决方案? 解决方案 这有篇文章里面将了怎么解析:http://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18n/

上帝圣经之域中DNS设置及记录[为企业部署Windows Server 2008系列十三]

域环境中DNS的设置及其资源记录是非常重要的,客户端和服务器之间的联系(活动目录数据的读写 )就是靠DNS实现的. 那么,这次我们就来弄明白域中DNS是如何设置的以及客户端是如何定位DC 的. DNS的设置:在DC上一般DNS是指向自己的,因为DNS服务一般是安装在DC上的. 在客 户端DNS是指向DC的. 通过以上的DNS设置结构才能让DNS在域中正常的发挥作用(当然不排除, DNS不安装在DC上的二般情况). 下面咱们重点来分析下DNS中的资源记录, 通过上图可以看到"_tcp"并

C#实现把txt文本数据快速读取到excel中

  这篇文章主要介绍了C#实现把txt文本数据快速读取到excel中,本文直接给出示例代码,需要的朋友可以参考下 今天预实现一功能,将txt中的数据转到excel表中,做为matlab的数据源.搜集一些c#操作excel的程序.步骤如下: 下载一个Microsoft.Office.Interop.Excel.dll 在项目中引用. 编写代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2

C#操作Clipboard读取剪切板中数据实例详解

  本文实例讲述了C#操作Clipboard读取剪切板中数据的方法.分享给大家供大家参考.具体分析如下: 1 自定义一个类,并且保证它的可序列化的:实现ISerializable接口;或者用[Serializable]标记(如果有父类,则父类也需要被标记;可以[NonSerialized()]标记类中不想被序列化的字段) 2 注册自定义数据格式:调用静态方法DataFormats.GetFormat() 3 保存数据到clipboard:利用IdataObject接口,创建一个数据对象,并设置数

AD域中客户端时间与服务器同步

  AD域中客户端时间与服务器同步 某位同事开会迟到了,会议主持人就批评,这位同事说按照他电脑上的时间还提前5分钟了,哪知道他电脑的时间太不准,于是这位会议主持就找到信息中心,要求我这个悲催的IT把大家的时间调整一致,因为域用户无法修改时间,说是时间不统一存在风险,请我下周二前完成,还建议我可以把权限放开半个小时让大家自行修改.我好歹也是信息经理,他要是我上级或老板,这事我没意见,你说一个毛孩子上来要求俺,说是建议,真不懂规矩. 域中的计算机时间不一致,对我们来说是个不错的技术问题,我们向来愿意

文本域中换行符的替换示例

 这篇文章主要介绍了文本域中换行符的替换,需要的朋友可以参考下 说明:代码在实际项目中测试通过,我已经省去些不重要的,大家可以重点看颜色标记的部分    前戏:    问:为什么做这个呢??    答:项目中有个将录入的文本域文字保存到数据库中.'查看时'从数据库获取相应数据,显示在文本域中.开发期间发现换行符使用jquery 的val() 还是text()获取后不做处理,保存数据库中没有换行了,自然取出来显示也就没有换行符了!由此写了下面的文章----有点啰嗦啊!  代码如下: <%@ pag