thoumaes
Goto Top

Nutzer und Verzeichnis löschen - Domänenweit

Würde gern ein Script erstellen welches universal ist und nicht in vorgegeben OUs arbeitet. Suche funktioniert soweit nur beim Löschen bäuchte ich noch etwas Hilfe.
Irgendwie seh ich wohl den Wald vor lauter Bäumen nicht. "Objekt auf Server nicht gefunden"..

So Leute,

erstmal moin zusammen.

Tut mir leid das ich dieses alte Thema wieder auspacke. Aber nachdem ich nun alle möglichen Tut gelesen und mehr oder weniger verstanden hab und immer noch nicht weiter komme muss ich jetzt einfach Fragen.

Zur Problematik: gleiches Problem wie immer ( Nutzer im AD und persönliches Laufwerk über Script löschen, nur liegen nicht alle Nutzer in einer OU)

Das lokalisieren usw funktioniert soweit auch schon, nur beim Löschen bekomm ich die Fehlermeldung das das Objekt nicht auf dem Server existiert.

Mein Quellcode, mit einigen Debugausgaben (bisher), wenn es fertig ist, werd ich es hier gern veröffentlichen - falls bedarf besteht:

 
'On Error Resume Next  
' Übergabe der Domaininformationen  
strDomain = "fur_199308.mil"  

' Eingabe des zu Löschenden Nutzers  
Beschreibung = "Geben Sie den Loginnamen, des zu löschenden Nutzers ein"  
strLoginName = InputBox(Beschreibung)


Set objUser = GetObject("WinNT://" & strDomain & "/" & strLoginName)  

	Nachricht = "Wollen Sie wirklich den Nutzer "& vbcr & vbcr & "Username: " & vbcr  
	Nachricht = Nachricht & objUser.FullName & vbcr & vbcr & "Homedirectory: " & vbcr  
         Nachricht = Nachricht & objUser.HomeDirectory   &vbcr & vbcr & " löschen!"  
         antwort = MsgBox(nachricht, vbQuestion+vbYesNo)


if antwort=vbYes then

	Const ADS_SCOPE_SUBTREE = 2

	Set objConnection = CreateObject("ADODB.Connection")  
	Set objCommand =   CreateObject("ADODB.Command")  
	objConnection.Provider = "ADsDSOObject"  
	objConnection.Open "Active Directory Provider"  
	Set objCommand.ActiveConnection = objConnection

	objCommand.Properties("Page Size") = 1000  
	objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
	objCommand.Properties("Sort On") = "saMAccountName"  

	objCommand.CommandText = _
	    "SELECT saMAccountName,ADsPath FROM 'LDAP://" & strDomain &"' WHERE objectCategory='user' AND saMAccountName='" & strLoginName & "'"  

         Set objRecordSet = objCommand.Execute

	objRecordSet.MoveFirst
	Do Until objRecordSet.EOF
             '// Löschanweisung  
             delName = "cn="&objRecordSet.Fields("saMAccountName").Value  
             delPfad = objRecordSet.Fields("ADsPath").Value  
             msgbox (delPfad)
             Set objOU = GetObject(delPfad)
             objOU.delete "user", delName  
             objRecordSet.MoveNext
         Loop
'else  

end if
msgbox("Abgeschlossen"): WScript.quit  

Content-Key: 139021

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

Printed on: April 25, 2024 at 04:04 o'clock

Member: Thoumaes
Thoumaes Mar 24, 2010 at 14:27:04 (UTC)
Goto Top
Scheint wohl etwas schwerer zu sein face-smile