Frage : Behindertkonten auf spezifischen OU verschieben

Hallo, fand

if diesen Index durch chandru_sol. Es sollte alle untauglichen Benutzer eines Gebietes in die gewünschte OU.

My Frage befördern: wann der OU innerhalb dieses Gebietes, ist der Index kopiert den untauglichen Benutzer dieses OU in sich?
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:
Dim objConnection, objCommand, objRootDSE  
 
Schwaches strDNSDomain, strFilter, strQuery, objRecordSet, strDN  

Schwaches strOUpath, objNewOU, objUser

Schwaches intFlag  
 
Const ADS_UF_ACCOUNTDISABLE = &H02  
 
'AUFHEBEN verwenden, um das Gebiet nach allen Benutzern zu suchen.  
 
objConnection = CreateObject („ADODB.Connection“) einstellen  
 
objCommand = CreateObject („ADODB.Command“) einstellen  
 
objConnection.Provider = „ADsDSOOBject“  
 
objConnection.Open „aktiver Verzeichnis-Versorger“  
 
Einstellen objCommand.ActiveConnection = objConnection  
 
'Das DNS-Gebiet vom RootDSE Gegenstand feststellen.  
 
objRootDSE = GetObject einstellen („LDAP: //RootDSE“)  
 
strDNSDomain = objRootDSE.Get („DefaultNamingContext“)  
 
strFilter = „(u. (objectCategory=person) (objectClass=user))“  
 
strQuery = „; “ u. strFilter u. „; distinguishedName, userAccountControl; Unterbaum“  
 
objCommand.CommandText = strQuery  
 
objCommand.Properties („Seiten-Größe“) = 100  
 
objCommand.Properties („Abschaltung“) = 30  
 
objCommand.Properties („Pufferspeicher resultiert“), = falsch  
 
'Alle Benutzer aufzählen. Überprüfen, ob Konto sperrte.  
 
objRecordSet = objCommand.Execute einstellen  
 
Bis objRecordSet.EOF tun  
 
strDN = objRecordSet.Fields („distinguishedName“)  
 
intFlag = objRecordSet.Fields („userAccountControl“)  
 
Wenn (intFlag und ADS_UF_ACCOUNTDISABLE) <> 0 dann  

objUser = GetObject einstellen („LDAP: /“ u. strDN)

objNewOU = GetObject einstellen („LDAP: //ou=Disabled Konten,“ u. objRootDSE.Get („defaultNamingContext“))
objNewOU.MoveHere objUser.ADsPath, vbNullString
 
Sonst  

Beenden wenn  
 
objRecordSet.MoveNext  
 
Schleife  
 
'Aufräumen
objConnection.Close  
 
Wscript.Echo „getan“
Wscript.quit

Antwort : Behindertkonten auf spezifischen OU verschieben

Hallo dort,

Dieses sollte das tun. Ich verursacht eine Reihe, die arrOUs genannt, die nur die zwei OUs verzeichnet, das, Sie Kreis haben, und ich geändert das Teil, das den OU 03-DISABLED-USERS spezifiziert, um Ihre Struktur zusammenzubringen.

Ich annehme h, dass MWZ-FM.COM das gleiche gegenwärtige Gebiet ist, dass Ihr Computer eingeschaltet ist?  Wenn nicht und Sie sind auf einem anderen Gebiet, dann uncomment diese Linie:

'strDNSDomain = „DC=MWZ-FM, DC=COM“

durch das Entfernen des Apostrophs an der Frontseite und dann den Index zeigt spezifisch auf dieses Gebiet.

Respekt,

Rob.
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:
Schwaches objConnection, objCommand, objRootDSE  
Schwaches strDNSDomain, strFilter, strQuery, objRecordSet, strDN 
Schwaches strOUpath, objNewOU, objUser
Schwaches intFlag  
Const ADS_UF_ACCOUNTDISABLE = &H02  
'AUFHEBEN verwenden, um das Gebiet nach allen Benutzern zu suchen.  
objConnection = CreateObject („ADODB.Connection“) einstellen  
objCommand = CreateObject („ADODB.Command“) einstellen  
objConnection.Provider = „ADsDSOOBject“  
objConnection.Open „aktiver Verzeichnis-Versorger“  
Einstellen objCommand.ActiveConnection = objConnection  
'Das DNS-Gebiet vom RootDSE Gegenstand feststellen.  
objRootDSE = GetObject einstellen („LDAP: //RootDSE“)  
strDNSDomain = objRootDSE.Get („DefaultNamingContext“)
'strDNSDomain = „DC=MWZ-FM, DC=COM“
strFilter = „(u. (objectCategory=person) (objectClass=user))“  

'Jede Schnur muss ein schleppendes Komma haben
arrOUs = Reihe (_
	„OU=11-USERS,“, _
	„OU=12-EXCHANGE BENUTZER MIGRIERT,“ _
	)

Für jedes strOU in den arrOUs
	strQuery = „; “ u. strFilter u. „; distinguishedName, userAccountControl; Unterbaum“  
	objCommand.CommandText = strQuery  
	objCommand.Properties („Seiten-Größe“) = 100  
	objCommand.Properties („Abschaltung“) = 30  
	objCommand.Properties („Pufferspeicher resultiert“), = falsch  
	'Alle Benutzer aufzählen. Überprüfen, ob Konto sperrte.  
	objRecordSet = objCommand.Execute einstellen
	Bis objRecordSet.EOF tun  
		strDN = objRecordSet.Fields („distinguishedName“)  
		intFlag = objRecordSet.Fields („userAccountControl“)  
		Wenn (intFlag und ADS_UF_ACCOUNTDISABLE) <> 0 dann 
			objUser = GetObject einstellen („LDAP: /“ u. strDN)
			objNewOU = GetObject einstellen („LDAP: //OU=03-DISABLED-USERS, OU=93-DISABLED-OBJECTS,“ u. strDNSDomain)
			objNewOU.MoveHere objUser.ADsPath, vbNullString
		Beenden wenn  
		objRecordSet.MoveNext  
	Schleife  
Zunächst
'Aufräumen
objConnection.Close  
Wscript.Echo „getan“
Wscript.quit
Weitere Lösungen  
 
programming4us programming4us