Opción explícita
adoCommand dévil, adoConnection, strBase, strFilter, strAttributes
objLogFile dévil, objInputFile, objFileSystem, objRootDSE, strDNSDomain, strQuery, adoRecordset, strName
objNetwork dévil, strComputer, strUser, objAdmin, strDomain
Líneas déviles, símbolos, línea
Fijar el objFileSystem = CreateObject (“Scripting.fileSystemObject”)
Fijar objInputFile = objFileSystem.OpenTextFile (“C:\temp\users.txt”, 1)
las líneas = partieron (objInputFile.ReadAll, el vbNewline)
objInputFile.Close
objLogFile determinado = objFileSystem.CreateTextFile (“C:\temp\users.log”, 2)
Para cada línea en líneas
los símbolos = partieron (línea, “; ")
strComputer = ajuste (símbolos (0))
strUser = ajuste (símbolos (1))
si el silbido de bala (strComputer) = entonces verdad
el strComputer de objLogFile.WriteLine y “entró en contacto con”
strComputer de AddUserGroup, strUser
el strComputer de objLogFile.WriteLine y “no podía ser entrado en contacto con”
terminar si
Después
objLogFile.Close
AddUserGroup secundario (strComputer, strUser)
'Recuperar el nombre de computadora y el nombre locales de NetBIOS del dominio.
Fijar el objNetwork = CreateObject (“Wscript.Network”)
strDomain = objNetwork.UserDomain
WScript.Echo “agregan” y strUser y “a” y strComputer
'Lazo al grupo de los administradores locales.
Fijar el objAdmin = GetObject (“WinNT: /” y strComputer y “/Administrators, grupo”)
'Objetos de la DIFICULTAD de la disposición.
Fijar el adoCommand = CreateObject (“ADODB.Command”)
Fijar el adoConnection = CreateObject (“ADODB.Connection”)
adoConnection.Provider = “ADsDSOObject”
adoConnection.Open “abastecedor activo del directorio”
Fijar adoCommand.ActiveConnection = adoConnection
'Buscar el dominio activo entero del directorio.
Fijar el objRootDSE = GetObject (“LDAP: //RootDSE”)
strDNSDomain = objRootDSE.Get (“defaultNamingContext”)
strBase = ""
'Filtro en usuario con “nombre de la conexión de pre-Windows 2000”.
strFilter = “(sAMAccountName=” y strUser y ") “
'Lista delimitada coma de valores de cualidad a recuperar.
strAttributes = “sAMAccountName”
'Construir la pregunta del sintaxis de LDAP.
strQuery = strBase y “; ” y strFilter y “; ” y strAttributes y “; sub-estructura”
adoCommand.CommandText = strQuery
adoCommand.Properties (“tamaño de página”) = 100
adoCommand.Properties (“descanso”) = 30
adoCommand.Properties (el “escondrijo resulta”) = falso
'Funcionar con la pregunta.
Fijar el adoRecordset = adoCommand.Execute
'Enumerar el recordset resultante.
Hacer hasta adoRecordset.EOF
'Recuperar los valores.
strName = adoRecordset.Fields (“sAMAccountName”). Valor
'Comprobar si usuario ya un miembro del grupo de los administradores locales.
Si (objAdmin.IsMember (“WinNT: /” y strDomain y “/” y strName) = falso) entonces
En curriculum vitae del error después
'Agregar a este usuario al grupo.
objAdmin.Add (“WinNT: /” y strDomain y “/” y strName)
Si (Err.Number <> 0) entonces
strComputer de objLogFile.WriteLine y “; ” y strUser y “; Falta”
El strName de WScript.Echo y “fue agregado.”
strComputer de objLogFile.WriteLine y “; ” y strUser y “; Éxito”
Terminar si
El strName de WScript.Echo y “existe ya.”
strComputer de objLogFile.WriteLine y “; ” y strUser y “; Éxito”
Terminar si
'Moverse al expediente siguiente en el recordset.
adoRecordset.MoveNext
Lazo
'Limpiar.
adoRecordset.Close
adoConnection.Close
Terminar el submarino
Silbido de bala de la función (strHost)
el objPing dévil, objRetStatus
el objPing determinado = GetObject (“winmgmts: {impersonationLevel=impersonate} _ de ").ExecQuery
(“seleccionar * de Win32_PingStatus donde dirección = “” y strHost y “” ")
para cada objRetStatus en objPing
si IsNull (objRetStatus.StatusCode) u objRetStatus.StatusCode0<> entonces
Silbido de bala = falso
'WScript.Echo “código de estado es” y objRetStatus.StatusCode
El silbido de bala = verdad
'Wscript.Echo “octetos =” y vbTab y objRetStatus.BufferSize
'Wscript.Echo “tiempo (ms) =” y vbTab y objRetStatus.ResponseTime
'Wscript.Echo “TTL (s) =” y vbTab y objRetStatus.ResponseTimeToLive
terminar si
después
Función del final
|