Pytanie : Zapytanie txt kartoteka i dodawać użytkownik konto w administrator grupa maszyna maszyna.

Cześć,

Query txt kartoteka i dodawać użytkownik konto w administrator grupa/>Machinename machine.
I mieć the txt kartoteka as
Machinename; Userlogin

When pismo bieg czek miejscowy maszyna i dodawać ten użytkownik w miejscowy admin. I chcieć ten sam nazwa użytkownika imię który być obok the maszynowy imię ale 2 jednakowy nazwa użytkownika od 2 Domains

Domain1 \ Userlogin1
Domain2 \ Userlogin1

Regards
sharath

Odpowiedź : Zapytanie txt kartoteka i dodawać użytkownik konto w administrator grupa maszyna maszyna.

próbować to to:
(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:
36:
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:
Opcja Wyraźny

Ciemnawy adoCommand, adoConnection, strBase, strFilter, strAttributes
Ciemnawy objLogFile, objInputFile, objFileSystem, objRootDSE, strDNSDomain, strQuery, adoRecordset, strName
Ciemnawy objNetwork, strComputer, strUser, objAdmin, strDomain
Ciemnawy linia, żeton, linia

Ustalony objFileSystem = CreateObject ("Scripting.fileSystemObject")
Ustalony objInputFile = objFileSystem.OpenTextFile ("C:\temp\users.txt", 1)
linia = Rozłam (objInputFile.ReadAll, vbNewline)
objInputFile.Close

Ustalony objLogFile = objFileSystem.CreateTextFile ("C:\temp\users.log", 2)

Dla linia linia W linia
	żeton = Rozłam (linia, "; ")
	strComputer = Podstrzyżenie (żeton ((0)))
	strUser = Podstrzyżenie (żeton (1))
	
	jeżeli Świst (strComputer) = Prawdziwy wtedy
		objLogFile.WriteLine strComputer & "kontaktować się"
		AddUserGroup strComputer, strUser
	Inny
		objLogFile.WriteLine strComputer & "móc kontaktować się"
	kończyć jeżeli

Następnie

objLogFile.Close

Okręt podwodny AddUserGroup (strComputer, strUser)
	'Odzyskiwać lokalny komputerowy imię i NetBIOS imię domena.
	Ustawiać objNetwork = CreateObject ("Wscript.Network")
	strDomain = objNetwork.UserDomain
	
	WScript.Echo "Dodawać" & strUser & "" & strComputer
	
	'Zmora lokalny Administrator grupa.
	Ustalony objAdmin = GetObject ("WinNT: /" & strComputer & "/Administrators, grupa")

	'Ustawianie CEREGIELE przedmiot.
	Ustalony adoCommand = CreateObject ("ADODB.Command")
	Ustalony adoConnection = CreateObject ("ADODB.Connection")
	adoConnection.Provider = "ADsDSOObject"
	adoConnection.Open "Aktywny Adresowy Dostawca"
	Set adoCommand.ActiveConnection = adoConnection

	'Rewizja całkowity Aktywny Adresowy domena.
	Ustalony objRootDSE = GetObject ("LDAP: //RootDSE")
	strDNSDomain = objRootDSE.Get ("defaultNamingContext")
	strBase = ""

	'Filtr na użytkownik z "pre-Windows 2000 logon" imię.
	strFilter = "(sAMAccountName=" & strUser & ") "

	'Przecinek rozgraniczać lista atrybut wartość.
	strAttributes = "sAMAccountName"

	'Budować the LDAP składnia zapytanie.
	strQuery = strBase & "; " & strFilter & "; " & strAttributes & "; subtree"
	adoCommand.CommandText = strQuery
	adoCommand.Properties ("Strona Rozmiar") = 100
	adoCommand.Properties ("Timeout") = 30
	adoCommand.Properties ("Tajna kryjówka Wynikać") = Fałszywy

	'Biegać the zapytanie.
	Ustawiać adoRecordset = adoCommand.Execute

	'Wyliczać the wynikły recordset.
	Do adoRecordset.EOF
		'Odzyskiwać wartość.
		strName = adoRecordset.Fields ("sAMAccountName"). Wartość
		'Sprawdzać jeżeli użytkownik już członek the lokalny Administrator grupa.
		Jeżeli (objAdmin.IsMember ("WinNT: /" & strDomain & "/" & strName) = Fałszywy) Wtedy
			Na Błąd Życiorys Następnie
			
			'Dodawać ten użytkownik the grupa.
			objAdmin.Add ("WinNT: /" & strDomain & "/" & strName)
			
			Jeżeli (Err.Number <> (0)) Wtedy
				objLogFile.WriteLine strComputer & "; " & strUser & "; Niepowodzenie" 
			inny
				WScript.Echo strName & "dodawać."
				objLogFile.WriteLine strComputer & "; " & strUser & "; Sukces" 			
			Kończyć Jeżeli

		inny
			WScript.Echo strName & "już istnieć."
			
			objLogFile.WriteLine strComputer & "; " & strUser & "; Sukces" 
		Kończyć Jeżeli
		
		'Ruszać się the następny rejestr w the recordset.
		adoRecordset.MoveNext
	Pętla

	'Czyścić czyścić.
	adoRecordset.Close
	adoConnection.Close
Kończyć Okręt podwodny

Funkcja Świst (strHost)

    ciemnawy objPing, objRetStatus

    ustalony objPing = GetObject ("winmgmts: {impersonationLevel=impersonate} ").ExecQuery _
      ("wybiórka * od Win32_PingStatus dokąd adres = "" & strHost & "" ")

    dla objRetStatus objRetStatus w objPing
        jeżeli IsNull (objRetStatus.StatusCode) lub objRetStatus.StatusCode0<> wtedy
    Świst = Fałszywy
            'WScript.Echo "Status kod być" & objRetStatus.StatusCode
        inny
            Świst = Prawdziwy
            'Wscript.Echo "Bajt =" & vbTab & objRetStatus.BufferSize
            'Wscript.Echo "Czas (ms) =" & vbTab & objRetStatus.ResponseTime
            'Wscript.Echo "TTL (s) =" & vbTab & objRetStatus.ResponseTimeToLive
        kończyć jeżeli
    następnie
Końcówka Funkcja
Inne rozwiązania  
 
programming4us programming4us