Opzione esplicita
adoCommand fioco, adoConnection, strBase, strFilter, strAttributes
objLogFile fioco, objInputFile, objFileSystem, objRootDSE, strDNSDomain, strQuery, adoRecordset, strName
objNetwork fioco, strComputer, strUser, objAdmin, strDomain
Linee fioche, segni, linea
Regolare il objFileSystem = CreateObject (“Scripting.fileSystemObject„)
Regolar objInputFile = objFileSystem.OpenTextFile (“C:\temp\users.txt„, 1)
le linee = hanno spaccato (objInputFile.ReadAll, vbNewline)
objInputFile.Close
objLogFile stabilito = objFileSystem.CreateTextFile (“C:\temp\users.log„, 2)
Per ogni linea nelle linee
i segni = hanno spaccato (linea, “; ")
strComputer = disposizione (segni (0))
strUser = disposizione (segni (1))
se il rumore metallico (strComputer) = allora allinea
lo strComputer di objLogFile.WriteLine & “si è messo in contatto con„
strComputer di AddUserGroup, strUser
Altrimenti
lo strComputer di objLogFile.WriteLine & “non ha potuto mettersi in contatto con„
concluder se
Dopo
objLogFile.Close
AddUserGroup secondario (strComputer, strUser)
'Richiamare il nome di calcolatore locale ed il nome di Netbios del dominio.
Regolare il objNetwork = CreateObject (“Wscript.Network„)
strDomain = objNetwork.UserDomain
WScript.Echo “aggiungono„ & strUser & “a„ & strComputer
'Legatura al gruppo dei coordinatori locali.
Regolare il objAdmin = GetObject (“WinNT: /„ & strComputer & “/Administrators, gruppo„)
'Oggetti di DIFFICOLTÀ di messa a punto.
Regolare il adoCommand = CreateObject (“ADODB.Command„)
Regolare il adoConnection = CreateObject (“ADODB.Connection„)
adoConnection.Provider = “ADsDSOObject„
adoConnection.Open “fornitore attivo dell'indice„
Regolar adoCommand.ActiveConnection = adoConnection
'Cercare l'intero dominio attivo dell'indice.
Regolare il objRootDSE = GetObject (“LDAP: //RootDSE„)
strDNSDomain = objRootDSE.Get (“defaultNamingContext„)
strBase = ""
'Filtro sull'utente con “il nome di inizio attività di pre-Windows 2000„.
strFilter = “(sAMAccountName=„ & strUser & ") “
'Lista delimitata virgola dei valori di attributo da richiamare.
strAttributes = “sAMAccountName„
'Costruire la domanda di sintassi di LDAP.
strQuery = strBase & “; „ & strFilter & “; „ & strAttributes & “; sotto-albero„
adoCommand.CommandText = strQuery
adoCommand.Properties (“formato di pagina„) = 100
adoCommand.Properties (“prespegnimento„) = 30
adoCommand.Properties (“il nascondiglio risulta„) = falso
'Fare funzionare la domanda.
Regolare il adoRecordset = adoCommand.Execute
'Enumerare il recordset risultante.
Fare fino a adoRecordset.EOF
'Richiamare i valori.
strName = adoRecordset.Fields (“sAMAccountName„). Valore
'Controllare se utente già un membro del gruppo dei coordinatori locali.
Se (objAdmin.IsMember (“WinNT: /„ & strDomain & “/„ & strName) = falso) allora
Sul riassunto di errore dopo
'Aggiungere questo utente al gruppo.
objAdmin.Add (“WinNT: /„ & strDomain & “/„ & strName)
Se (Err.Number <> 0) allora
strComputer di objLogFile.WriteLine & “; „ & strUser & “; Guasto„
altrimenti
Lo strName di WScript.Echo & “si è aggiunto.„
strComputer di objLogFile.WriteLine & “; „ & strUser & “; Successo„
Concluder se
altrimenti
Lo strName di WScript.Echo & “già esiste.„
strComputer di objLogFile.WriteLine & “; „ & strUser & “; Successo„
Concluder se
'Muover verso l'annotazione seguente nel recordset.
adoRecordset.MoveNext
Ciclo
'Pulire.
adoRecordset.Close
adoConnection.Close
Concludere il sommergibile
Rumore metallico di funzione (strHost)
objPing fioco, objRetStatus
objPing stabilito = GetObject (“winmgmts: {impersonationLevel=impersonate} _ di ").ExecQuery
(“selezionare * a partire da Win32_PingStatus dove indirizzo = “„ & strHost & “„ ")
per ogni objRetStatus nel objPing
se IsNull (objRetStatus.StatusCode) o objRetStatus.StatusCode0<> allora
Rumore metallico = falso
'WScript.Echo “codice status è„ & objRetStatus.StatusCode
altrimenti
Il rumore metallico = allinea
'Wscript.Echo “byte =„ & vbTab & objRetStatus.BufferSize
'Wscript.Echo “tempo (spettrografia di massa) =„ & vbTab & objRetStatus.ResponseTime
'Wscript.Echo “TTL (s) =„ & vbTab & objRetStatus.ResponseTimeToLive
concluder se
dopo
Funzione di conclusione
|