Bonjour,

Je cherche à faire un script VBS qui déverrouille tous les comptes verrouillés d'une OU en particulier (et de ses sous OU).

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
'Global variables
	Dim oContainer
	Dim lockedAccounts
'Initialize global variables
	Set oContainer=GetObject("WinNT://mon_domaine")
 
'Enumerate Container
	EnumerateUsers oContainer'Clean up
	msgbox "Les comptes suivants étaient verrouillés : " & vbCrlf & lockedAccounts
	Set oContainer = Nothing
	WScript.Echo "Finished"
	WScript.Quit(0)
 
	Sub EnumerateUsers(oCont) 
		Dim I
		Dim TT
		TT=False
		I=0
		For Each oUser In oCont	
			Dim ComputerName, UserName
			ComputerName = "mon_controleur_de_domaine"
                       UserName = oUser.Name
 
			Set objShell = WScript.CreateObject("WScript.Shell" ) 
			Set objUser = GetObject("WinNT://" & ComputerName & "/" & UserName)
 
			If (objUser.IsAccountLocked = True) Then
				lockedAccounts = lockedAccounts & UserName & vbCrlf 
				objUser.IsAccountLocked = False
				msgbox lockedAccounts
				On Error Resume Next ' Gestion des erreur
				'objUser.SetInfo
				I=I+1
				if Err <> 0 then
					msgbox "Vous ne disposez pas des droits necessaires pour dévérrouiller le compte  "	& UserName & "." , vbcritical + vbSystemModal, "Erreur !"
				end if
			'Else
				'msgbox "Le compte  "" " & UserName & " ""  n'est pas verrouillé.", vbInformation + vbSystemModal, "Info Lock User Account"
			End If	
 
		Next
		Msgbox I & "comptes étaient verrouillés"
	End Sub

Le fait est que je ne veux pas appliquer mon traitement sur TOUS les comptes mais seulement ceux d'une OU.

Quelqu'un aurait une solution?

Merci d'avance