Ciemnawy var1
Ciemnawy var2
Ciemnawy strComputer
Ciemnawy dicCompOS
'na błąd życiorys następnie
Ustalony dicCompOS = CreateObject ("Scripting.Dictionary")
GetOSs () "# Obciążeniowy Słownik z wszystkie Domena Komputer system operacyjny
Ustalony fso = CreateObject ("Scripting.FileSystemObject")
Set tf = fso.OpenTextFile ("PC_Info.txt", 2, prawdziwy)
'### Ustalony Komputer Tutaj ###
strComputer = "YOUR_SRV"
tf.write ("Serwer; Adres IP; OS Imię; OS Pakiet Uaktualnień; Grupa; Członek; Pokaz Imię; ")
tf.writeline ("AdsPath")
Ustalony objComputer = GetObject ("WinNT: /" & strComputer)
objComputer.Filter = Szyk ("grupa")
strIPAddress = fResolveIP (strComputer)
Dla ObjComputer objGroup W objComputer
Dla ObjGroup.Members objMember w objGroup.Members
var1 = objMember.Name
Jeżeli objMember.Class <> "Grupa" I Err.Number = (0) Wtedy
var2 = ""
Na Błąd Życiorys Następnie
var2 = objMember.FullName
Na Błąd Rozpoczynający (0)
OSName = Rozłam (dicCompOS (UCase (strComputer)), "¶") ((0))
OSSP = Rozłam (dicCompOS (UCase (strComputer)), "¶") (1)
tf.writeline (strComputer & "; " & strIPAddress & "; " & OSName & "; " & OSSP & "; " & objGroup.Name & "; " & var1 & "; " & chr (34) & var2 & chr (34) & "; " & objMember.AdsPath)
Inny
tf.writeline (strComputer & "; " & strIPAddress & "; " & OSName & "; " & OSSP & "; " & objGroup.Name & "; " & var1 & "; " & Chr (34) & chr (34) & "; " & objMember.AdsPath)
Err.Clear
Kończyć Jeżeli
var1 = ""
var2 = ""
Następnie
Następnie
tf.close ()
MsgBox "Robić!"
Wscript.quit
Okręt podwodny GetOSs ()
'# CEREGIELE Init
Ustalony objRootDSE = GetObject ("LDAP: //RootDSE")
strDNSDomain = objRootDSE.Get ("defaultNamingContext")
strConfig = objRootDSE.Get ("configurationNamingContext")
Ustalony objCommand = CreateObject ("ADODB.Command")
Ustalony objConnection = CreateObject ("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open = "ADProvider"
objCommand.ActiveConnection = objConnection
objCommand.Properties ("Strona Rozmiar") = 100
objCommand.Properties ("Timeout") = 900
'#
'### LDAP Filtrowy ###
strFilter = "(& (objectClass=computer))"
'### Atrybut ###
strAttributes = "sAMAccountName, operatingSystemServicePack, operatingSystemServicePack"
'### Wykonywać LDAP Zapytanie ###
strBase = "" '
strQuery = strBase & "; " & strFilter & "; " & strAttributes & "; subtree"
objCommand.CommandText = strQuery
'Na Błąd Życiorys Następnie
Ustalony objRecordSet = objCommand.Execute
'### Iść przez rejestr wracać i przechować info ###
Do objRecordSet.EOF
dicCompOS (UCase (Zamieniać (objRecordSet.Fields ("sAMAccountName"), "$", ""))) = objRecordSet.Fields ("operatingSystemServicePack") & "¶" & objRecordSet.Fields ("operatingSystemServicePack")
'MsgBox dicCompOS (objRecordSet.Fields ("sAMAccountName")), objRecordSet.Fields ("sAMAccountName")
objRecordSet.MoveNext
Pętla
Końcówka Okręt podwodny
Funkcja fResolveIP (strComputer)
Ciemnawy wmiQuery, objWMIService, objPing, objStatus
wmiQuery = "Wybiórka * Od Win32_PingStatus Dokąd" & _
"Adres = "" & strComputer & "" "
Ustalony objWMIService = GetObject ("winmgmts: \ \. \ korzeń \ cimv2")
Ustalony objPing = objWMIService.ExecQuery (wmiQuery)
Dla ObjStatus objStatus w objPing
Jeżeli IsNull (objStatus.StatusCode) Lub objStatus.Statuscode0<> Wtedy
fResolveIP = "Nieznane"
Inny
fResolveIP = objStatus.ProtocolAddress
Kończyć Jeżeli
Następnie
Końcówka Funkcja
|