u0206084
Goto Top

Abfrage des Active Directory über ablaufende PW von Dienstekonten

Hallo zusammmen,

bräuchte eine Ldap-Abfrage die mir Dienstekonten/Userkonten ausgiebt deren PW in den nächsten 7 Tagen ablaufen wird.

Betriebssystem W2k3 Sp2

Vielen Dank für euere Hilfe

Content-ID: 49915

Url: https://administrator.de/forum/abfrage-des-active-directory-ueber-ablaufende-pw-von-dienstekonten-49915.html

Ausgedruckt am: 14.04.2025 um 23:04 Uhr

bastla
bastla 26.01.2007 um 13:02:38 Uhr
Goto Top
Hallo u0206084!

Du könntest dieses Script als Ausgangspunkt verwenden ...

Grüße
bastla
u0206084
u0206084 26.01.2007 um 14:39:42 Uhr
Goto Top
Vielen dank
sieht ja schon ganz gut aus, jedoch habe ich keine Erfahrung mit LDAP so das ich nicht weis was genau das Script macht. Diese sollte ich jedoch wissen um es anpassen zu können. Liest es nur die ablaufenden Accounts aus oder ändert es auch was ab ?
bastla
bastla 26.01.2007 um 15:11:39 Uhr
Goto Top
Hallo u0206084!

Das Script gibt nur Informationen über den (einzelnen) User "myerken" in der OU "management" der Domäne "fabrikam.com"aus, siehe Zeile
1
("LDAP://CN=myerken,OU=management,DC=fabrikam,DC=com")  
und Zeile
1
Set objDomainNT = GetObject("WinNT://fabrikam")  
Diese Zeilen müsstest Du zunächst an Deine Gegebenheiten anpassen und danach in eine Schleife für alle Benutzer packen.

Grüße
bastla

P.S.: Für mehr reicht momentan meine Zeit nicht ...
u0206084
u0206084 26.01.2007 um 15:50:44 Uhr
Goto Top
Hallo
Danke schön versuche allein herauszufinden wie ich es hinbekomme doch wenn du wieder etwas zeit hast kannst mich ja unterstützen. Wäre toll.

Gruß
bastla
bastla 26.01.2007 um 22:58:09 Uhr
Goto Top
Hallo u0206084!

Den folgenden Ansatz habe ich aus einigen Fragmenten kombiniert:
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
'#### anpassen ####  
strDom = "FIRMA"  
Const FRIST = 7
'##################  

'Teile des Codes aus  
	'Microsoft Certified Professional Magazine Online - Automate Your Security  
	'http://mcpmag.com/features/article.asp?EditorialsID=398  
'sowie  
	'Hey, Scripting Guy! - How Can I Determine When a User Last Changed His or Her Password?  
	'http://www.microsoft.com/technet/scriptcenter/resources/qanda/jul05/hey0705.mspx  

Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set objDomainNT = GetObject("WinNT://" & strDom)  
intMaxPwdAge = objDomainNT.Get("MaxPasswordAge")  
If intMaxPwdAge < 0 Then
	WScript.Echo "Max Passwortalter ist 0, Passwörter laufen nicht ab!"  
	WScript.Quit
End If
intMaxPwdAge = Int(intMaxPwdAge / 86400)

'Point to group containing users to check  
Set oGroup = GetObject("WinNT://" & strDom & "/Domänen-Benutzer")  

'for each user object in the group...  
For Each oObject In oGroup.Members

	'retrieve the user object  
	Set oUser = GetObject(oObject.ADsPath)
	intCurrentValue = oUser.UserFlags
	If intCurrentValue and ADS_UF_DONT_EXPIRE_PASSWD Then
		'WScript.Echo oUser.Name & ": Passwort läuft niemals ab."  
	Else
		intPasswordAge = oUser.PasswordAge
		dtmChangeDate = DateAdd("s", -intPasswordAge, Now)  
		'WScript.Echo oUser.Name & ": Passwort zuletzt geändert: " & dtmChangeDate  
		intExpire = DateDiff("d", Now, dtmChangeDate) + intMaxPwdAge  
		If intExpire <= 0 Then 'abgelaufen  
			strMessage = oUser.Name & ": abgelaufen - Tage: " & -intExpire  
		ElseIf intExpire <= FRIST Then 'demnächst  
			strMessage = oUser.Name & ": läuft ab - Tage: " & intExpire			  
		End If
		WScript.Echo strMessage
	End If
Next
Anpassen müsstest Du den Domänennamen (im Beispiel "firma.local" in der NETBIOS-Schreibweise "FIRMA") und ev die Frist (7 Tage) für die "Vorschau" auf ablaufende Passwörter.
Weiters ist zu beachten, dass nur die Gruppe "Domänen-Benutzer" berücksichtigt wird (womit ich den Beitrags-Titel klar verfehle).
Hinsichtlich des Ausgabeformates kannst Du ja selbst ein wenig experimentieren (siehe Zeilen "strMessage =").
Die auskommentierten "WScript.Echo"-Zeilen habe ich zu Test- bzw Demozwecken drinnen gelassen.

Grüße
bastla
u0206084
u0206084 06.02.2007 um 11:20:51 Uhr
Goto Top
Hallo Vilen Dank

Wo setze ich das angepasste Dokument ein um die Abfrage zu starten. Im AD unter gespeicherten Abfragen "benutzerdefiniert" ist das script zu Groß !!! Sorry aber habe nicht viel Erfahrung.

Wäre super wenn du mir dies noch beantworten könntest.

Gruß
bastla
bastla 06.02.2007 um 15:31:50 Uhr
Goto Top
Hallo u0206084!

Das Script ist "stand-alone" gemeint, also einfach starten, zB über die Kommandozeile oder per Batch mit
1
cscript //nologo "C:\Scripts\AblaufendePW.vbs" 
wobei Du zu Dokumentationszwecken ein ">D:\Reports\AblaufendePW.txt" anhängen könntest (alle Pfade und Dateinamen frei erfunden). Wenn Du die .vbs-Datei per Doppelklick direkt startest, wird die Liste in einer MessageBox ausgegeben.

Grüße
bastla