Var1 não ofuscante
Var2 não ofuscante
strComputer não ofuscante
dicCompOS não ofuscante
'no resumo do erro em seguida
Ajustar o dicCompOS = o CreateObject (“Scripting.Dictionary”)
GetOSs () “# dicionário da carga com sistemas de exploração de todos os computadores do domínio”
Ajustar o fso = o CreateObject (“Scripting.FileSystemObject”)
Ajustar tf = fso.OpenTextFile (“PC_Info.txt”, 2, verdadeiros)
'Do ### do computador ### ajustado aqui
strComputer = “YOUR_SRV”
tf.write (“usuário; IP address; Nome do ósmio; Ósmio Service Pack; Grupos; Membros; Nome da exposição; ")
tf.writeline (“AdsPath”)
Ajustar o objComputer = o GetObject (“WinNT: /” & strComputer)
objComputer.Filter = disposição (“grupo”)
strIPAddress = fResolveIP (strComputer)
Para cada objGroup no objComputer
Para cada objMember em objGroup.Members
var1 = objMember.Name
Se objMember.Class <> “grupo” e Err.Number = 0 então
var2 = ""
No resumo do erro em seguida
var2 = objMember.FullName
No erro 0 empreendedores
OSName = separação (dicCompOS (UCase (strComputer)), “¶") (0)
OSSP = separação (dicCompOS (UCase (strComputer)), “¶") (1)
tf.writeline (strComputer & “; ” & strIPAddress & “; ” & OSName & “; ” & OSSP & “; ” & objGroup.Name & “; ” & var1 & “; ” & chr (34) & var2 & chr (34) & “; ” & objMember.AdsPath)
Mais
tf.writeline (strComputer & “; ” & strIPAddress & “; ” & OSName & “; ” & OSSP & “; ” & objGroup.Name & “; ” & var1 & “; ” & Chr (34) & chr (34) & “; ” & objMember.AdsPath)
Err.Clear
Terminar se
var1 = ""
var2 = ""
Em seguida
Em seguida
tf.close ()
MsgBox “feito!”
Wscript.quit
GetOSs secundário ()
'# DEMORA Init
Ajustar o objRootDSE = o GetObject (“LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (“defaultNamingContext”)
strConfig = objRootDSE.Get (“configurationNamingContext”)
Ajustar o objCommand = o CreateObject (“ADODB.Command”)
Ajustar o objConnection = o CreateObject (“ADODB.Connection”)
objConnection.Provider = “ADsDSOObject”
objConnection.Open = “ADProvider”
objCommand.ActiveConnection = objConnection
objCommand.Properties (de “tamanho página”) = 100
objCommand.Properties (“intervalo de parada”) = 900
'#
'### do filtro do ### LDAP
strFilter = “(& (objectClass=computer))”
'Atributos do ### para recuperar o ###
strAttributes = “sAMAccountName, operatingSystem, operatingSystemServicePack”
'O ### executa o ### da pergunta de LDAP
strBase = "" '
strQuery = strBase & “; ” & strFilter & “; ” & strAttributes & “; subtree”
objCommand.CommandText = strQuery
'No resumo do erro em seguida
Ajustar o objRecordSet = o objCommand.Execute
'O ### atravessa os registros retornados e armazena o ### da informação
Fazer até objRecordSet.EOF
dicCompOS (UCase (substituir (objRecordSet.Fields (“sAMAccountName”), “$”, o ""))) = objRecordSet.Fields (“operatingSystem”) & “¶” & objRecordSet.Fields (“operatingSystemServicePack”)
'dicCompOS de MsgBox (objRecordSet.Fields (“sAMAccountName”)), objRecordSet.Fields (“sAMAccountName”)
objRecordSet.MoveNext
Laço
Submarino da extremidade
fResolveIP da função (strComputer)
wmiQuery não ofuscante, objWMIService, objPing, objStatus
o wmiQuery = “seleciona * de Win32_PingStatus onde” & o _
“Endereço = “” & strComputer & “” “
Ajustar o objWMIService = o GetObject (“winmgmts: \ \. \ raiz \ cimv2”)
objPing ajustado = objWMIService.ExecQuery (wmiQuery)
Para cada objStatus em objPing
Se IsNull (objStatus.StatusCode) ou objStatus.Statuscode0<> então
fResolveIP = “desconhecido”
Mais
fResolveIP = objStatus.ProtocolAddress
Terminar se
Em seguida
Função do fim
|