Dunkel var1
Dunkel var2
Dunkel strComputer
Dunkel dicCompOS
'på felmeritförteckning därefter
Fastställd dicCompOS = CreateObject (”Scripting.Dictionary”)
GetOSs () ”nr. laddar ordboken med fungeringssystem för alla områdesdatorer”
Fastställd fso = CreateObject (”Scripting.FileSystemObject”)
Uppsättning tf = fso.OpenTextFile (”PC_Info.txt”, 2, riktigt)
'För ### fastställd för dator ### här
strComputer = ”YOUR_SRV”,
tf.write (”server; IP address; Känt OS; Tjänste- packe för OS; Grupper; Medlemmar; Känd skärm; ”)
tf.writeline (”AdsPath”)
Fastställd objComputer = GetObject (”WinNT: /” & strComputer)
objComputer.Filter = samling (”grupp”)
strIPAddress = fResolveIP (strComputer)
För varje objGroup i objComputer
För varje objMember i objGroup.Members
var1 = objMember.Name
Om objMember.Class <> ”grupp” och Err.Number = 0 därefter
var2 = "",
På felmeritförteckning därefter
var2 = objMember.FullName
På fel Goto 0
OSName = splittring (dicCompOS (UCase (strComputer)), ”¶”) (0)
OSSP = splittring (dicCompOS (UCase (strComputer)), ”¶”) (1)
tf.writeline (strComputer & ”; ” & strIPAddress & ”; ” & OSName & ”; ” & OSSP & ”; ” & objGroup.Name & ”; ” & var1 & ”; ” & chr (34) & var2 & chr (34) & ”; ” & objMember.AdsPath)
Annars
tf.writeline (strComputer & ”; ” & strIPAddress & ”; ” & OSName & ”; ” & OSSP & ”; ” & objGroup.Name & ”; ” & var1 & ”; ” & Chr (34) & chr (34) & ”; ” & objMember.AdsPath)
Err.Clear
Avsluta om
var1 = "",
var2 = "",
Därefter
Därefter
tf.close ()
Gjorda MsgBox ”!”,
Wscript.quit
UnderGetOSs ()
'Nr. ADO Init
Fastställd objRootDSE = GetObject (”LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (”defaultNamingContext”)
strConfig = objRootDSE.Get (”configurationNamingContext”)
Fastställd objCommand = CreateObject (”ADODB.Command”)
Fastställd objConnection = CreateObject (”ADODB.Connection”)
objConnection.Provider = ”ADsDSOObject”,
objConnection.Open = ”ADProvider”,
objCommand.ActiveConnection = objConnection
objCommand.Properties (”sida storleksanpassar”), = 100
objCommand.Properties (”frånslagningstid”) = 900
'nr.
'### LDAP filtrerar ###
strFilter = ”(& (objectClass=computer))”,
'###attribut som hämtar ###
strAttributes = ”sAMAccountName som är operatingSystem, operatingSystemServicePack”,
'### utför LDAP-Query###
strBase = "" ',
strQuery = strBase & ”; ” & strFilter & ”; ” & strAttributes & ”; subtree”,
objCommand.CommandText = strQuery
'På felmeritförteckning därefter
Fastställd objRecordSet = objCommand.Execute
'### går till och med gångna tillbaka rekord och lagrar info-###
Gör till objRecordSet.EOF
dicCompOS (UCase (byt ut (objRecordSet.Fields (”sAMAccountName”), ”$”, ""))) = objRecordSet.Fields (”operatingSystem”) & ”¶” & objRecordSet.Fields (”operatingSystemServicePack”)
'MsgBox dicCompOS (objRecordSet.Fields (”sAMAccountName”)), objRecordSet.Fields (”sAMAccountName”)
objRecordSet.MoveNext
Kretsa
Avsluta suben
Fungera fResolveIP (strComputer)
Dunkel wmiQuery, objWMIService som objPing, objStatus
wmiQueryen = ”väljer * från Win32_PingStatus var” & _,
”Tilltala = ”” & strComputer & ”” ”,
Fastställd objWMIService = GetObject (”winmgmts: \ \. \ rotar \ cimv2”)
Uppsättning som objPing = objWMIService.ExecQuery (wmiQuery)
För varje objStatus, i objPing
Om IsNull (objStatus.StatusCode) eller objStatus.Statuscode0<> därefter
fResolveIP = ”okända”,
Annars
fResolveIP = objStatus.ProtocolAddress
Avsluta om
Därefter
Avsluta fungerar
|