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:
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 139021
Url: https://administrator.de/contentid/139021
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
1 Kommentar