想写一个Vb脚本来获得所有的主机名,已经添加到域控制的计算机的IP地址和子网掩码的完整信息。
你最好的select是检查微软脚本中心 ,其中的大部分内容都是为你写的。 脚本中心有教程,以及Windowspipe理员共享脚本的脚本库。 你也应该看看一个可以为你生成wmi阅读器代码的HTA应用程序
这里是一个VBS脚本, 从这个页面改编(查找“AD中所有计算机的域,计算机和IP”列表 ):
' Modify these vars to match your enviroment ' requires Windows 2003 DNS strDomain = "MyWindowsDomain" ' Windows Domain NetBIOS Name strDNSSVR = "DNSserver" ' DNS Server's name or IP strDNSDomain = ".mydomain.com" ' Note the . at the beginning! strFILENAME = "AD-Computers.txt" ' Output File Name '------------------------------------------------ ' ' File stuff Dim filesys, testfile Set filesys = CreateObject("Scripting.FileSystemObject") Set OUTfile= filesys.CreateTextFile(strFILENAME, True) Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCOmmand.ActiveConnection = objConnection objCommand.CommandText = _ "Select Name, Location from 'LDAP://" & strDomain & "' " _ & "Where objectCategory='computer'" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst 'debug stuff Comment if you want to see it during execution 'Wscript.Echo "My DNS Server is: " & strDNSSVR 'Wscript.Echo "My Windows Domain is: " & strDomain 'Wscript.Echo "My DNS Suffix is: " & strDNSDomain 'Wscript.echo "Writing output to File: " & strFILENAME 'output Do Until objRecordSet.EOF strHOST = objRecordSet.Fields("Name").Value strHOSTFQDN = strHOST & strDNSDomain strIP = GetIPFromDNS(strHOSTFQDN,strDNSSVR) OUTfile.WriteLine strDomain & " " & strHOST & " " & strIP 'Comment line below to not dump output to screen Wscript.Echo strDomain & " " & strHOST & " " & strIP objRecordSet.MoveNext Loop Function GetIPFromDNS(sFQDN, strDNS) Set objWMI=GetObject("WinMgmts://" & strDNS & "\root\microsoftDNS") Set colIP=objWMI.ExecQuery("Select * from MicrosoftDNS_AType where ownerName='" & sFQDN & "'") For Each item In colIP GetIPFromDNS = item.RecordData Next End Function Outfile.Close