Faible var1
Faible var2
Faible strComputer
Faible dicCompOS
'sur le résumé d'erreur après
Placer le dicCompOS = le CreateObject (« Scripting.Dictionary »)
GetOSs () « # dictionnaire de charge logiciels d'exploitation avec de tous les ordinateurs de domaine »
Placer le fso = le CreateObject (« Scripting.FileSystemObject »)
Placer tf = fso.OpenTextFile (« PC_Info.txt », 2, vrais)
'De ### d'ordinateur ### réglé ici
strComputer = « YOUR_SRV »
tf.write (« serveur ; IP address ; Nom d'OS ; OS Service Pack ; Groupes ; Membres ; Nom d'affichage ; ")
tf.writeline (« AdsPath »)
Placer l'objComputer = le GetObject (« WinNT : / » et strComputer)
objComputer.Filter = rangée (« groupe »)
strIPAddress = fResolveIP (strComputer)
Pour chaque objGroup dans l'objComputer
Pour chaque objMember dans objGroup.Members
var1 = objMember.Name
Si objMember.Class <> « groupe » et Err.Number = 0 puis
var2 = ""
Sur le résumé d'erreur après
var2 = objMember.FullName
Sur l'erreur 0 Goto
OSName = s'est dédoublé (dicCompOS (UCase (le strComputer)), « ¶") (0)
OSSP = s'est dédoublé (dicCompOS (UCase (le strComputer)), « ¶") (1)
tf.writeline (strComputer et « ; » et strIPAddress et « ; » Et OSName et « ; » Et OSSP et « ; » et objGroup.Name et « ; » et var1 et « ; » et chr (34) et var2 et chr (34) et « ; » et objMember.AdsPath)
Autrement
tf.writeline (strComputer et « ; » et strIPAddress et « ; » Et OSName et « ; » Et OSSP et « ; » et objGroup.Name et « ; » et var1 et « ; » Et Chr (34) et chr (34) et « ; » et objMember.AdsPath)
Err.Clear
Finissent si
var1 = ""
var2 = ""
Après
Après
tf.close ()
MsgBox « fait ! »
Wscript.quit
GetOSs secondaire ()
'# AGITATION Init
Placer l'objRootDSE = le GetObject (« LDAP : //RootDSE »)
strDNSDomain = objRootDSE.Get (« defaultNamingContext »)
strConfig = objRootDSE.Get (« configurationNamingContext »)
Placer l'objCommand = le CreateObject (« ADODB.Command »)
Placer l'objConnection = le CreateObject (« ADODB.Connection »)
objConnection.Provider = « ADsDSOObject »
objConnection.Open = « ADProvider »
objCommand.ActiveConnection = objConnection
objCommand.Properties (« taille de page ») = 100
objCommand.Properties (« temps mort ») = 900
'#
'### de filtre du ### LDAP
strFilter = « (et (objectClass=computer)) »
'Attributs de ### pour rechercher le ###
strAttributes = « sAMAccountName, du système d'exploitation, operatingSystemServicePack »
Le '### exécutent le ### de question de LDAP
strBase = "" '
strQuery = strBase et « ; » et strFilter et « ; » et strAttributes et « ; sous-arbre »
objCommand.CommandText = strQuery
'Sur le résumé d'erreur après
Placer l'objRecordSet = l'objCommand.Execute
Le '### passent par des disques retournés et stockent le ### d'information
Faire jusqu'à objRecordSet.EOF
dicCompOS (UCase (remplacer (objRecordSet.Fields (« sAMAccountName »), « $ », le ""))) = objRecordSet.Fields (« du système d'exploitation ») et « ¶ » et objRecordSet.Fields (« operatingSystemServicePack »)
'dicCompOS de MsgBox (objRecordSet.Fields (« sAMAccountName »)), objRecordSet.Fields (« sAMAccountName »)
objRecordSet.MoveNext
Boucle
Sous-marin d'extrémité
fResolveIP de fonction (strComputer)
Faible wmiQuery, objWMIService, objPing, objStatus
le wmiQuery = « choisissent * à partir de Win32_PingStatus où » et le _
« Adresse = « » et strComputer et « » «
Placer l'objWMIService = le GetObject (« winmgmts : \ \. \ racine \ cimv2 »)
objPing réglé = objWMIService.ExecQuery (wmiQuery)
Pour chaque objStatus dans objPing
S'IsNull (objStatus.StatusCode) ou objStatus.Statuscode0<> alors
fResolveIP = « inconnu »
Autrement
fResolveIP = objStatus.ProtocolAddress
Finir si
Après
Fonction de fin
|