Frage : Windows-Server 2003 - LDAP - Fragen-Kennwort laufen - VBS ab

Ich verwendete die folgende Frage als Führer. Ich habe Probleme, ihn an work.

======

http://www.experts-exchang e.com/Soft ware/Server_Software/File_Servers/Active_Directory/Q_24376977.html? sfQueryTermInfo=1+10+30+expir+password+vb+window

======

If ändere ich das sGroup (Linie 32) zu CN=Users, oder alles erhalte ich eine Überprüfung, die Ihre Gruppe oben knallen.  Ich sehe nicht, wie man an das LDAP bindet, obwohl ich innen als der Verwalter unterzeichnet.  Wenn ich LDP ich verwende, müssen binden, um es zu erhalten, um darzustellen, dass meinem AD.

I den Code mit meinen Änderungen und der Fehlermeldung reposted, die ich erhalte.  Ich bekannt gab auch meine LDP Einstellung einhülle mich bin gerade ein Idiot und spezifizierte nicht das sGroup correctly.

LDAP-2.JPG _blank, das (13 KBs) (Akten-Art Details)
Error
 das 328492


im Augenblick ein OU spezifiziert, aber ich wünsche es wirklich alle Benutzer in der ANZEIGE verzeichnen.

Any die Hilfe, die diese Funktion erhält, ist appreciated.

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:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
Option ausdrücklich
 
	Anruf PwdExpiryInfo
 
VorPwdExpiryInfo ()
'Version 1.0
'Geschrieben durch Krystian Karia
'Datierte 04/05/2009
 
'Erhält eine Liste der Benutzer von der Gruppe
'spezifiziert und überprüft dann ihr
'Kennwort-Verfallsdatum.
 
'ANMERKUNG: Index muss in ein CMD.exe gelaufen werden
'Fenster wie: CScript.exe ScriptName.vbs
'Dieses liegt an der Zahl Ausgängen 
'das verursacht.
 
 
 
'Fangstörungen selbst
'Auf Störungs-Zusammenfassung zunächst
 
'Variablen erklären
	iTimeInterval, iMaxPwdAge verdunkeln
	I, intUACvalue verdunkeln
	Verdunkeln dtmPwdChanged
	objUserLDAP verdunkeln
	arrMembers verdunkeln
 
	Const ADS_UF_DO NICHT _EXPIRE_PASSWD = &h10000	
	Const sGroup = „OU=DLI_ACCOUNTS, DC=dli, DC=local“ '< Spcify Ihr Gruppenname hier
 
 
 
'Die Liste der Benutzer von der gegebenen Gruppe erhalten
	arrMembers = GetMembers (sGroup)
		Wenn IsNull (arrMembers) dann
			ShowProgress „Überprüfung Ihr Gruppenname oder seine Mitgliedsliste“
			EndScript
		Beenden wenn
		
'Jeden Benutzer schlingen, um exiry Datum des Kennwortes zu überprüfen
	Für i = 0 zu UBound (arrMembers)
		Wenn arrMembers (i) <> "" dann
			ShowProgress ""
 
			objUserLDAP = GetObject (arrMembers (i)) einstellen
				intUACvalue = objUserLDAP.Get („userAccountControl“)
			
			Wenn intUACvalue und ADS_UF_DO NICHT _EXPIRE_PASSWD dann
				ShowProgress objUserLDAP.sAMAccountName
				ShowProgress „Kennwort abläuft nicht“ t
			Sonst
				dtmPwdChanged = objUserLDAP.PasswordLastChanged 
				iTimeInterval = CInt (jetzt - dtmPwdChanged)
				iMaxPwdAge = GetMaxPwdAge
				
				
					ShowProgress objUserLDAP.sAMAccountName 
					ShowProgress „Kennwort zuletzt geändert“ u. dtmPwdChanged
					Vor ShowProgress „, das war“ u. iTimeInterval u. „Tagen“
 
				Wenn iMaxPwdAge < 0 dann
					ShowProgress „Kennwort abläuft nicht t (das maximale Kennwort-Alter der Gebiets-Politik eingestellt bis 0)“
				Sonst
					ShowProgress „das Gebiets-Politik-maximale Kennwort-Alter ist“ u. iMaxPwdAge u. „Tage“
		
					Wenn iTimeInterval >= iMaxPwdAge dann
						ShowProgress „das Kennwort abgelaufen.“.
					Sonst
						ShowProgress „das Kennwort abläuft in“ u. CInt t ((dtmPwdChanged + iMaxPwdAge) - jetzt ()) u. „Tage“
					Beenden wenn
				
				Beenden wenn 'iMaxPwdAge
			Beenden wenn 'intUACvalue
 
		Beenden wenn 
	Zunächst 'arrMembers
 
Enden-Unterseeboot 'PwdExpiryInfo
 
 
Funktion GetMembers (strGroup)
'Version 1.4
'Geschrieben durch Krystian Karia
'Datierte 04/05/2009
 
'Zurückbringt den LDAP Weg von jedem
'Benutzer von der gegebenen Gruppe
 
'Fangstörungen selbst
 	Auf Störungs-Zusammenfassung zunächst
 
'Variablen erklären
    oGroup, oUser verdunkeln
    strName verdunkeln
    arrUsers verdunkeln
    
'Parameter überprüfen
	    Wenn strGroup = "" dann
			GetMembers = Null
	        Funktion herausnehmen
	    Beenden wenn
 
'Binden, um using das korrekte ADSI Verbindungsstück zu gruppieren
    oGroup = GetObject einstellen („LDAP: /“ u. strGroup)
		Wenn Err.Number <> 0 dann
			Err.Clear
			ShowProgress „eine Störung auftrat ", binden an die Gruppe“ u. strGroup
			GetMembers = Null
        	Funktion herausnehmen
		Beenden wenn
 
 
'Gruppenmitglieder schlingen
		Für jedes oUser in oGroup.Members
	        strName = strName u. oUser.ADsPath u. vbNewLine
	    Zunächst
 
'Eine Reihe Mitglieder verursachen
		Wenn Ordnung (strName) <> "" dann
			arrUsers = aufspalteten (strName, vbNewLine)
			GetMembers = arrUsers
		Sonst
			GetMembers = Null
		Beenden wenn
 
	Err.Clear
 
 Funktion 'GetMembers beenden
 
 
Funktion GetMaxPwdAge ()
'Version 1.0
 
'Zurückbringt das maximale Kennwort-Alter ximale
'das normalerweise in das GPO eingestellt
'nannte „Rückstellungs-Gebiets-Politik“
 
'Fangstörungen selbst
 	Auf Störungs-Zusammenfassung zunächst
 
'Variablen erklären
	oRootDSE, oDomain, oMaxPwdAge verdunkeln
	lngHighPart, lngLowPart verdunkeln
	strDomainDN verdunkeln
 
'Das gegenwärtige Gebiet DN erhalten
	oRootDSE = GetObject einstellen („LDAP: //RootDSE“)
		strDomainDN = oRootDSE.Get („DefaultNamingContext“)
 
'Bindung zum gegenwärtigen Gebiet
	oDomain = GetObject einstellen („LDAP: /“ u. strDomainDN)
		oMaxPwdAge = oDomain.MaxPwdAge einstellen
 
'Die 2 Teile des Wertes Integer8 erhalten, um 2 32 Bitwerte zu erhalten
	lngHighPart = oMaxPwdAge.HighPart
	lngLowPart = oMaxPwdAge.LowPart
 
'Wenn das LowPart kleiner als ist, 0, dann, das wir ned, um 1 dem HighPart hinzuzufügen
		Wenn (lngLowPart < 0) dann
			lngHighPart = lngHighPart + 1
		Beenden wenn
	
'Den Wert an den Tagen zurückbringen
		GetMaxPwdAge = - ((lngHighPart * 2^32) + lngLowPart)/(600000000 * 1440)
 
 
Enden-Funktion 'GetMaxPwdAge
 
 
VorShowProgress (sComment)
 
	WScript.Echo sComment
 
Enden-Unterseeboot
 
VorEndScript
 
	WScript.Quit
	
Enden-Unterseeboot

Antwort : Windows-Server 2003 - LDAP - Fragen-Kennwort laufen - VBS ab

Traurig sendete ich schnellen den zu.
Änderung: Gesetztes objTextFile = objFSO.OpenTextFile („c:\scripts\servers.txt“, ForReading)

zu

Gesetztes objTextFile = objFSO.CreateTextFile („c:\scripts\Output.txt“, zutreffend)
Weitere Lösungen  
 
programming4us programming4us