Vraag : Beweging gehandicapte rekeningen aan specifieke OU

Hallo, vond

if dit manuscript door chandru_sol. Het zou alle gehandicapte gebruikers van een domein in de gewenste/>My vraag OU.

" codeBody "
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:
Dim, objCommand, objRootDSE  
 
Schemerige strDNSDomain, strFilter, strQuery, objRecordSet, strDN  

Schemerige strOUpath, objNewOU, objUser

Schemerige intFlag  
 
Const ADS_UF_ACCOUNTDISABLE = &H02  
 
De 'DRUKTE van het gebruik om het domein naar alle gebruikers te zoeken.  
 
Vastgestelde objConnection = CreateObject („ADODB.Connection“)  
 
Reeks objCommand = CreateObject („ADODB.Command“)  
 
objConnection.Provider = „ADsDSOOBject“  
 
objConnection.Open de „Actieve Leverancier van de Folder“  
 
Vastgesteld objCommand.ActiveConnection = objConnection  
 
'Bepaal het DNS domein van het voorwerp RootDSE.  
 
Plaats objRootDSE = GetObject („LDAP: //RootDSE“)  
 
strDNSDomain = objRootDSE.Get („DefaultNamingContext“)  
 
strFilter = „(& (objectCategory=person) (objectClass=user))“  
 
strQuery = „; “ & strFilter & „; distinguishedName, userAccountControl; onderverdeling“  
 
objCommand.CommandText = strQuery  
 
objCommand.Properties (de „Grootte van de Pagina“) = 100  
 
objCommand.Properties („Onderbreking“) = 30  
 
objCommand.Properties (de „Resultaten van het Geheime voorgeheugen“) = Vals  
 
'Som alle gebruikers op. Controleer als rekeningsgehandicapten.  
 
Plaats objRecordSet = objCommand.Execute  
 
Doe tot objRecordSet.EOF  
 
strDN = objRecordSet.Fields („distinguishedName“)  
 
intFlag = objRecordSet.Fields („userAccountControl“)  
 
Als (intFlag en ADS_UF_ACCOUNTDISABLE) <> 0 toen  

Reeks objUser = GetObject („LDAP: /“ & strDN)

Reeks objNewOU = GetObject („LDAP: //ou=Disabled rekeningen,“ & objRootDSE.Get („defaultNamingContext“))
objNewOU.MoveHere objUser.ADsPath, het vbNullString
 
Anders  

Eind als  
 
objRecordSet.MoveNext  
 
Lijn  
 
'Maak schoon
objConnection.Close  
 
Wscript.Echo „Gedaan“
Wscript.quit

Antwoord : Beweging gehandicapte rekeningen aan specifieke OU

Hallo daar,

Dit zou dat moeten doen. Ik heb een geroepen serie arrOUs dat slechts lijsten twee OUs gecre�ërd u cirkel hebt, en ik heb het deel gewijzigd dat 03-gehandicapten-gebruikers OU specificeert om uw structuur aan te passen.

is Ik veronderstel dat mwz-FM.COM het zelfde huidige domein is dat uw computer?  Als niet, en u bent op een verschillend domein, toen uncomment deze lijn:

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

door het verwijderen van het weglatingsteken bij de voorzijde, en dan het manuscript specifiek aan dat domein zal richten.

Achting,

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:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
Schemerige objConnection, objCommand, objRootDSE  
Schemerige strDNSDomain, strFilter, strQuery, objRecordSet, strDN 
Schemerige strOUpath, objNewOU, objUser
Schemerige intFlag  
Const ADS_UF_ACCOUNTDISABLE = &H02  
De 'DRUKTE van het gebruik om het domein naar alle gebruikers te zoeken.  
Vastgestelde objConnection = CreateObject („ADODB.Connection“)  
Reeks objCommand = CreateObject („ADODB.Command“)  
objConnection.Provider = „ADsDSOOBject“  
objConnection.Open de „Actieve Leverancier van de Folder“  
Vastgesteld objCommand.ActiveConnection = objConnection  
'Bepaal het DNS domein van het voorwerp RootDSE.  
Plaats objRootDSE = GetObject („LDAP: //RootDSE“)  
strDNSDomain = objRootDSE.Get („DefaultNamingContext“)
'strDNSDomain = „DC=MWZ-FM, DC=COM“
strFilter = „(& (objectCategory=person) (objectClass=user))“  

'Elk koord moet een slepende komma hebben
arrOUs = Serie (_
	„OU=11-USERS,“, _
	„OU=12-EXCHANGE GEBRUIKER MIGRIERT,“ _
	)

Voor Elke strOU in arrOUs
	strQuery = „; “ & strFilter & „; distinguishedName, userAccountControl; onderverdeling“  
	objCommand.CommandText = strQuery  
	objCommand.Properties (de „Grootte van de Pagina“) = 100  
	objCommand.Properties („Onderbreking“) = 30  
	objCommand.Properties (de „Resultaten van het Geheime voorgeheugen“) = Vals  
	'Som alle gebruikers op. Controleer als rekeningsgehandicapten.  
	Plaats objRecordSet = objCommand.Execute
	Doe tot objRecordSet.EOF  
		strDN = objRecordSet.Fields („distinguishedName“)  
		intFlag = objRecordSet.Fields („userAccountControl“)  
		Als (intFlag en ADS_UF_ACCOUNTDISABLE) <> 0 toen 
			Reeks objUser = GetObject („LDAP: /“ & strDN)
			Reeks objNewOU = GetObject („LDAP: //OU=03-DISABLED-USERS, OU=93-DISABLED-OBJECTS,“ & strDNSDomain)
			objNewOU.MoveHere objUser.ADsPath, het vbNullString
		Eind als  
		objRecordSet.MoveNext  
	Lijn  
Daarna
'Maak schoon
objConnection.Close  
Wscript.Echo „Gedaan“
Wscript.quit
Andere oplossingen  
 
programming4us programming4us