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-Key: 49915

Url: https://administrator.de/contentid/49915

Printed on: April 26, 2024 at 12:04 o'clock

Member: bastla
bastla Jan 26, 2007 at 12:02:38 (UTC)
Goto Top
Hallo u0206084!

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

Grüße
bastla
Member: u0206084
u0206084 Jan 26, 2007 at 13:39:42 (UTC)
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 ?
Member: bastla
bastla Jan 26, 2007 at 14:11:39 (UTC)
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
("LDAP://CN=myerken,OU=management,DC=fabrikam,DC=com")  
und Zeile
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 ...
Member: u0206084
u0206084 Jan 26, 2007 at 14:50:44 (UTC)
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ß
Member: bastla
bastla Jan 26, 2007 at 21:58:09 (UTC)
Goto Top
Hallo u0206084!

Den folgenden Ansatz habe ich aus einigen Fragmenten kombiniert:
'#### 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
Member: u0206084
u0206084 Feb 06, 2007 at 10:20:51 (UTC)
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ß
Member: bastla
bastla Feb 06, 2007 at 14:31:50 (UTC)
Goto Top
Hallo u0206084!

Das Script ist "stand-alone" gemeint, also einfach starten, zB über die Kommandozeile oder per Batch mit
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