Frage : Eine txt Akte fragen und ein Benutzerkonto in Verwaltergruppe jeder Maschine hinzufügen.

Hallo,

Query fügen eine txt Akte und ein Benutzerkonto in Verwaltergruppe jedes machine.
I haben das txt Akte as
Machinename hinzu; Userlogin

When Überprüfung des Index-Durchlaufes jede Maschine und fügen diesen Benutzer in lokalen admin hinzu. Ich möchte den gleichen LOGON-Namen, der nahe bei dem Maschinennamen, aber ist 2 ähnliche LOGON von 2 Domains

Domain1 \ Userlogin1
Domain2 \ Userlogin1

Regards
sharath
hinzufügen

Antwort : Eine txt Akte fragen und ein Benutzerkonto in Verwaltergruppe jeder Maschine hinzufügen.

dieses heraus versuchen:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
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
Weitere Lösungen  
 
programming4us programming4us