Wahl ausdrücklich
Schwaches adoCommand, adoConnection, strBase, strFilter, strAttributes
Schwaches objLogFile, objInputFile, objFileSystem, objRootDSE, strDNSDomain, strQuery, adoRecordset, strName
Schwaches objNetwork, strComputer, strUser, objAdmin, strDomain
Schwache Linien, Zeichen, Linie
objFileSystem = CreateObject („Scripting.fileSystemObject“) einstellen
objInputFile einstellen = objFileSystem.OpenTextFile („C:\temp\users.txt“, 1)
Linien = aufspalteten (objInputFile.ReadAll, vbNewline)
objInputFile.Close
Gesetztes objLogFile = objFileSystem.CreateTextFile („C:\temp\users.log“, 2)
Für jede Linie in den Linien
Zeichen = aufspalteten (Linie, „; ")
strComputer = Ordnung (Zeichen (0))
strUser = Ordnung (Zeichen (1))
wenn Klingeln (strComputer) = dann ausrichten
objLogFile.WriteLine strComputer u. „in Verbindung trat“
AddUserGroup strComputer, strUser
Sonst
mit objLogFile.WriteLine strComputer u. „konnte nicht in Verbindung getreten werden“
beenden wenn
Zunächst
objLogFile.Close
VorAddUserGroup (strComputer, strUser)
'Lokale Computerbezeichnung und NetBIOS-Namen des Gebietes zurückholen.
objNetwork = CreateObject („Wscript.Network“) einstellen
strDomain = objNetwork.UserDomain
WScript.Echo „hinzufügen“ u. strUser u. „zu“ u. strComputer "
'Bindung zur Gruppe der lokalen Verwalter.
objAdmin = GetObject einstellen („WinNT: /“ u. strComputer u. „/Administrators, Gruppe“)
'Einstellung AUFHEBEN-Gegenstände.
adoCommand = CreateObject („ADODB.Command“) einstellen
adoConnection = CreateObject („ADODB.Connection“) einstellen
adoConnection.Provider = „ADsDSOObject“
adoConnection.Open „aktiver Verzeichnis-Versorger“
Einstellen adoCommand.ActiveConnection = adoConnection
'Gesamtes aktives Verzeichnisgebiet suchen.
objRootDSE = GetObject einstellen („LDAP: //RootDSE“)
strDNSDomain = objRootDSE.Get („defaultNamingContext“)
strBase = ""
'Filter auf Benutzer mit „VorWindows 2000 LOGON-“ Namen.
strFilter = „(sAMAccountName=“ u. strUser u. ") „
'Komma abgegrenzte Liste zurückzuholenden der Attributwerte.
strAttributes = „sAMAccountName“
'Die LDAP Syntaxfrage konstruieren.
strQuery = strBase u. „; “ u. strFilter u. „; “ u. strAttributes u. „; Unterbaum“
adoCommand.CommandText = strQuery
adoCommand.Properties („Seiten-Größe“) = 100
adoCommand.Properties („Abschaltung“) = 30
adoCommand.Properties („Pufferspeicher resultiert“), = falsch
'Die Frage laufen lassen.
adoRecordset = adoCommand.Execute einstellen
'Das resultierende recordset aufzählen.
Bis adoRecordset.EOF tun
'Werte zurückholen.
strName = adoRecordset.Fields („sAMAccountName“). Wert
'Überprüfen ob Benutzer bereits ein Mitglied der Gruppe der lokalen Verwalter.
Wenn (objAdmin.IsMember („WinNT: /“ u. strDomain u. „/“ u. strName) = falsch) dann
Auf Störungs-Zusammenfassung zunächst
'Diesen Benutzer der Gruppe hinzufügen.
objAdmin.Add („WinNT: /“ u. strDomain u. „/“ u. strName)
Wenn (Err.Number <> 0) dann
objLogFile.WriteLine strComputer u. „; “ u. strUser u. „; Ausfall“
sonst
WScript.Echo strName u. „addiert.“
objLogFile.WriteLine strComputer u. „; “ u. strUser u. „; Erfolg“
Beenden wenn
sonst
WScript.Echo strName u. „existiert bereits.“
objLogFile.WriteLine strComputer u. „; “ u. strUser u. „; Erfolg“
Beenden wenn
'Auf die folgende Aufzeichnung im recordset bewegen.
adoRecordset.MoveNext
Schleife
'Aufräumen.
adoRecordset.Close
adoConnection.Close
Unterseeboot beenden
Funktions-Klingeln (strHost)
schwaches objPing, objRetStatus
gesetztes objPing = GetObject („winmgmts: {impersonationLevel=impersonate} ").ExecQuery _
(„* von Win32_PingStatus vorwählen in dem Adresse = „“ u. strHost u. „“ ")
für jedes objRetStatus beim objPing
wenn IsNull (objRetStatus.StatusCode) oder objRetStatus.StatusCode0<> dann
Klingeln = falsch
'WScript.Echo „Status Code ist“ u. objRetStatus.StatusCode
sonst
Klingeln = ausrichten en
'Wscript.Echo „Bytes =“ u. vbTab u. objRetStatus.BufferSize
'Wscript.Echo „Zeit (Frau) =“ u. vbTab u. objRetStatus.ResponseTime
'Wscript.Echo „TTL (S) =“ u. vbTab u. objRetStatus.ResponseTimeToLive
beenden wenn
zunächst
Enden-Funktion
|