llaprosper
Goto Top

Script zum auslesen des Stanard PW im AD funktioniert nicht.

Hi, ich habe hier ein Script gefunden, welches ich echt super gebrauchen könnte.
Es prüft, welche User noch nicht ihr Standard PW im AD geändert haben, in dem es probiert mit dem im Script definierten PW auf einen anderen Rechner ein Netzlaufwerk zu mappen! Wenn das mappen klappt, hat der User noch das Standard PW.
Eigentlich echt genial. Nur bei mir wird in der Textdatei nichts angezeigt, obwohl etliche Ihr PW noch nicht geändert haben.
Die Datei wird IMHO auch viel zu schnell erzeugt (1 Sek.) Bei ca. 500 Usern finde ich das wohl viel zu schnell.
Vielleicht könnt Ihr ja mal ein Blick auf das Script werfen, ob da irgend ein Fehler drin ist.
Ich habe einen Ordner auf meinen PC frei gegeben für alle, und der soll dann gemappt werden.
'Hier die einzelnen Variablen definieren    
'DN der OU, die durchsucht werden soll    
strDN = "OU=xxx,DC=xxx,DC=xxx,DC=xxx"   
'Pfad zum Logfile, in dem die User mit Standardkennwort eingetragen werden    
strLogPath = "c:\logfile.txt"    
'UNC-Pfad, der zum Test gemappt werden soll    
strTestUNC = "\\meinpc\testshare"    
'Wie sieht das Standardkennwort aus?    
strPass =  "xxxx"    
'AB HIER NICHTS MEHR VERÄNDERN!    
'===========================================================================    
   
Set objOU = GetObject ("LDAP://" & strDN)    
objOU.Filter = Array("User")    
Set objNet = CreateObject ("WScript.Network")    
Set objFso = CreateObject("Scripting.FileSystemObject")    
Set objTs = objFso.OpenTextFile(strLogPath, 2, True)  
objTs.WriteLine Now  
objTs.writeline("Folgende Benutzer verwenden noch " _    
& "das initiale Kennwort:")    
Set WshShell = WScript.CreateObject("WScript.Shell")    
On Error Resume Next  
For Each user In objOU  
' Usernamen ausgeben    
WScript.Echo user.Name  
' Test: Laufwerk verbinden    
objNet.MapNetworkDrive "X:", strTestUNC, _    
, user.SamAccountName, strPass  
' Fehler aufgetreten?    
If Err.Number = 0 Then  
' Nein, User protokollieren    
objTs.writeline(user.Samaccountname)  
Else  
' Ja, Fehler anzeigen    
WScript.Echo "Fehler " & Err.number _    
& " (" & Err.Description & ") " _    
& "bei User: " & user.Name    
Err.Clear  
End If  
objNet.RemoveNetworkDrive "X:"  
Next

Content-Key: 68927

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

Printed on: April 24, 2024 at 15:04 o'clock

Member: ISpawn
ISpawn Sep 18, 2007 at 13:22:03 (UTC)
Goto Top
Hi,

ich glaub da fehlt nur ein Parameter

objNet.MapNetworkDrive "X:", strTestUNC, 0, "DOMAIN\USERNAME", "PASSWORT"

(die Ziffer 0)

Gruß
Micha
Member: llaprosper
llaprosper Sep 18, 2007 at 14:17:17 (UTC)
Goto Top
Du meinst hier?
objNet.MapNetworkDrive "X:", strTestUNC, _
, user.SamAccountName, strPass

Frag nur, weil Du es leicht abgewandelt schreibst!
objNet.MapNetworkDrive "X:", strTestUNC, 0, "DOMAIN\USERNAME", "PASSWORT"

Hab es jetzt also so probiert und hat auch nichts in die txt rein geschrieben.

objNet.MapNetworkDrive "X:", strTestUNC, 0 _
, user.SamAccountName, strPass
Member: ISpawn
ISpawn Sep 19, 2007 at 05:27:36 (UTC)
Goto Top
Hi,

laut msdn ( http://msdn2.microsoft.com/en-us/library/8kst88h6.aspx ) sieht die Syntax für MapNetworkDrive so aus:
object.MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword])

da du vbs verwendest musst du wenn du die [Optionalen] Parameter verwendest (AFAIK) alle verwenden.

was bringt dir denn eine MsgBox User.SamAccountName für eine Meldung ? eventuell stimmt der Parameter nicht.

Gruß
Micha
Member: llaprosper
llaprosper Sep 19, 2007 at 06:29:26 (UTC)
Goto Top
Eine Fehlermeldung kommt gar nicht.
Ich muß dazu sagen, ich kenne mich gar nicht mit Scripten aus. Ich habe es nur im Netz gefunden.
http://faq-o-matic.net/blogs/faq-o-matic/archive/2007/01/23/standardken ...
Member: llaprosper
llaprosper Oct 11, 2007 at 10:10:37 (UTC)
Goto Top
Hat noch jemand eine Idee, wie ich rausbekomme, wer das Standard Passwort benutzt?