Schemerige var1
Schemerige var2
Schemerige strComputer
Schemerige dicCompOS
'op fout hervat daarna
Plaats dicCompOS = CreateObject („Scripting.Dictionary“)
GetOSs () „# laadt Woordenboek met alle Computers van het Domein“ Werkende Systemen
Vastgestelde fso = CreateObject („Scripting.FileSystemObject“)
Vastgesteld tf = fso.OpenTextFile („PC_Info.txt“, 2, waar)
'### Vastgestelde Computer hier ###
strComputer = „YOUR_SRV“
tf.write („Server; IP Adres; OS Naam; OS Service Pack; Groep; Lid; De Naam van de vertoning; “)
tf.writeline („AdsPath“)
Reeks objComputer = GetObject („WinNT: /“ & strComputer)
objComputer.Filter = Serie („groep“)
strIPAddress = fResolveIP (strComputer)
Voor Elke objGroup in objComputer
Voor Elke objMember in objGroup.Members
var1 = objMember.Name
Als objMember.Class <> „Groep“ en Err.Number = 0 toen
var2 = ""
Op Fout hervat daarna
var2 = objMember.FullName
Op Fout Goto 0
OSName = verdeelde (dicCompOS (UCase (strComputer)), „¶“) (0)
OSSP = verdeel (dicCompOS (UCase (strComputer)), „¶“) (1)
tf.writeline (strComputer & „; “ & strIPAddress & „; “ & OSName & „; “ & OSSP & „; “ & objGroup.Name & „; “ & var1 & „; “ & chr (34) & var2 & chr (34) & „; “ & objMember.AdsPath)
Anders
tf.writeline (strComputer & „; “ & strIPAddress & „; “ & OSName & „; “ & OSSP & „; “ & objGroup.Name & „; “ & var1 & „; “ & Chr (34) & chr (34) & „; “ & objMember.AdsPath)
Err.Clear
Eind als
var1 = ""
var2 = ""
Daarna
Daarna
tf.close ()
Gedaane MsgBox „!“
Wscript.quit
Sub GetOSs ()
'# DRUKTE Init
Reeks objRootDSE = GetObject („LDAP: //RootDSE“)
strDNSDomain = objRootDSE.Get („defaultNamingContext“)
strConfig = objRootDSE.Get („configurationNamingContext“)
Reeks objCommand = CreateObject („ADODB.Command“)
Vastgestelde objConnection = CreateObject („ADODB.Connection“)
objConnection.Provider = „ADsDSOObject“
objConnection.Open = „ADProvider“
objCommand.ActiveConnection = objConnection
objCommand.Properties (de „Grootte van de Pagina“) = 100
objCommand.Properties („Onderbreking“) = 900
'#
'### LDAP Filter ###
strFilter = „(& (objectClass=computer))“
'Attributen ### om ### terug te winnen
strAttributes = „sAMAccountName, operatingSystem, operatingSystemServicePack“
'### voert LDAP Vraag ### uit
strBase = "" '
strQuery = strBase & „; “ & strFilter & „; “ & strAttributes & „; onderverdeling“
objCommand.CommandText = strQuery
'Op Fout hervat daarna
Plaats objRecordSet = objCommand.Execute
'### gaat door teruggekeerde verslagen en opslaginfo ###
Doe tot objRecordSet.EOF
dicCompOS (UCase (vervang (objRecordSet.Fields („sAMAccountName“), „$“, ""))) = objRecordSet.Fields („operatingSystem“) & „¶“ & objRecordSet.Fields („operatingSystemServicePack“)
'MsgBox dicCompOS (objRecordSet.Fields („sAMAccountName“)), objRecordSet.Fields („sAMAccountName“)
objRecordSet.MoveNext
Lijn
Sub van het eind
Functie fResolveIP (strComputer)
Schemerige wmiQuery, objWMIService, het objPing, objStatus
wmiQuery = „selecteert * uit Win32_PingStatus waar“ & _
„Adres = „“ & strComputer & „“ „
Vastgestelde objWMIService = GetObject („winmgmts: \ \. \ wortel \ cimv2“)
Het vastgestelde objPing = objWMIService.ExecQuery (wmiQuery)
Voor Elke objStatus in het objPing
Als IsNull (objStatus.StatusCode) of objStatus.Statuscode0<> toen
fResolveIP = „Onbekend“
Anders
fResolveIP = objStatus.ProtocolAddress
Eind als
Daarna
De Functie van het eind
|