Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBScript AD durchsuchen und Verzeichnisleichen löschen

Mitglied: zmankay

zmankay (Level 1) - Jetzt verbinden

02.07.2008, aktualisiert 03.07.2008, 5072 Aufrufe, 2 Kommentare

Hallo,

ich habe ein Script welches mir in einer AD alle Verzeichnisse löscht, die keinem Benutzer mehr zugeordnet sind. Nun möchte ich aber, dass ich nicht mehr jedesmal die OU angeben muss in dem das Script suchen muss, sondern möchte dass das Script auf der gesamten AD sucht. Dies hätte den Vorteil, dass ich beliebig viele OUs mit Benutzern anlegen kann und das Script nur einmal ausführen muss und nicht ständig an die OU anpassen.

Leider fehlt mir hier absolut der Ansatz, wie ich danach suchen soll, bzw. wie ich eine solche Suche erstelle. Wenn ich unten die OU einfach weglasse, dann sucht mir das Script zwar auf dem Base Level der AD, löscht aber logischerweise alle Verzeichnisse, weil ja auf dem Level keine Benutzer existieren.

Wenn ich nur eine OU angebe, löscht er mir folglich auch die Verzeichnisse von Benutzern aus einer anderen OU.

Es wäre toll, wenn mir jemand eine Idee, oder sogar Lösung für das Problem hat.

Danke

<code>

Const strDomainOU = "LDAP://OU=test, DC=ads,DC=test,DC=local"

Const strDomainPath = "LDAP://OU=test, DC=ads,DC=test,DC=local"
Const strLDAPHead = "LDAP://"
Const strDomain = ",OU=test, DC=ads,DC=test,DC=local"
Const strHomeDirRoot = "\\server\home$\"


/code>
Mitglied: bastla
02.07.2008 um 21:25 Uhr
Hallo zmankay!

Wenn sich Dein Problem auf "Finde alle AD-Benutzer" reduzieren lässt, gäbe es etwa folgende Lösung: Find all users (VBScript)

Anderer Ansatz: List all users and some of their properties in a Windows 2000 AD domain or Windows NT4 domain

Grüße
bastla
Bitte warten ..
Mitglied: zmankay
03.07.2008 um 14:55 Uhr
Das "Finde alle AD-Benutzer" Script ist schon eine gute Sache. Nun ist es aber so, dass ich hier auf einem für mich völlig neuen Gebiet bin.

Ich will das Script

01.
' ------ SCRIPT CONFIGURATION ------ 
02.
strDomainDN = "<DomainDN>"    ' e.g. dc=rallencorp,dc=com 
03.
' ------ END CONFIGURATION --------- 
04.
 
05.
strBase   =  "<LDAP://" & strDomainDN & ">;" 
06.
' To search the whole forest using the global catalog, uncomment the following line: 
07.
' strBase   =  "<GC://" & strDomainDN & ">;" 
08.
 
09.
strFilter = "(&(objectclass=user)(objectcategory=person));"  
10.
strAttrs  = "name;" 
11.
strScope  = "subtree" 
12.
 
13.
set objConn = CreateObject("ADODB.Connection") 
14.
objConn.Provider = "ADsDSOObject" 
15.
objConn.Open "Active Directory Provider" 
16.
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope) 
17.
objRS.MoveFirst 
18.
while Not objRS.EOF 
19.
    Wscript.Echo objRS.Fields(0).Value 
20.
    objRS.MoveNext 
21.
wend
mit meinem Löschskript kombinieren.

01.
 
02.
Const strDomainOU		= "LDAP://OU=test,DC=ads,DC=test,DC=local" 
03.
Const strHomeDirRoot    	= "\\server\home$\" 
04.
 
05.
 
06.
' Bind to Domain. Create Array of Users. 
07.
 
08.
Set objDomain = GetObject(strDomainOU) 
09.
objDomain.Filter=Array("user") 
10.
 
11.
' Output error if bind fails. 
12.
If Err.Number <> vbEmpty Then 
13.
    WScript.Quit 
14.
End If 
15.
 
16.
set objFileSystem = CreateObject("Scripting.FileSystemObject") 
17.
set objFolder = objFileSystem.GetFolder(strHomeDirRoot) 
18.
 
19.
'Check every folder for existing user 
20.
 
21.
For Each objSubFolder in objFolder.SubFolders 
22.
 
23.
    bool = false   			'No existing user  
24.
 
25.
     For Each objUser in objDomain	 
26.
         If objSubFolder.Name=objUser.sAMAccountName then 
27.
         bool=true					        'Folder match User  
28.
         End If 
29.
     Next    ' End of objUser 
30.
         
31.
     'check for matched user  
32.
     if not bool then 
33.
        set objDeleteFileSystem = CreateObject("Scripting.FileSystemObject")  
34.
        set objDeleteFolder = objFileSystem.GetFolder(strHomeDirRoot&objSubFolder.Name) 
35.
'	Wscript.Echo("Folder gelöscht:" & objDeleteFolder.Name) 
36.
        objDeleteFolder.Delete true      
37.
     End If 
38.
 
39.
 
40.
Next    ' End of objSubFolder
Ich würde gerne wissen, wo ich da ansetzen muss, dass es funktioniert. Zum Beispiel die Benutzer in ein Array übergegen und das Array an das andere Script, oder beide ineinander packen?. Nur wie, das ist die große Frage.

Danke für Eure Hinweise.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CSV durchsuchen und löschen
Frage von leonmmBatch & Shell3 Kommentare

Hallo Admins Ich habe eine CSV Datei bekommen (habe schei in der Firma gemacht) In dieser Datei sind umlaute ...

Batch & Shell

Batch zum durchsuchen eines Verzeichnisses inkl. löschen

gelöst Frage von zeroblue2005Batch & Shell4 Kommentare

Hallo Zusammen, ich weiß garnicht, ob man das was ich vorhabe überhaupt so lösen kann aber ich lege einfach ...

Windows Userverwaltung

AD-Benutzer löschen

gelöst Frage von PeterzWindows Userverwaltung3 Kommentare

Hallo, ich Suche ein Script oder ein kleines kostenloses Tool, das mir eine AD-Benutzer samt Profilpfad, Homeverzeichnis und Exchangemailbox ...

Windows Server

Wie AD User sauber löschen?

gelöst Frage von McLionWindows Server34 Kommentare

Hallo, ich habe nen Windows Server 2008 Server, AD ist eingerichtet. Nun ist die Festplatte am Server fast voll, ...

Neue Wissensbeiträge
Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 6 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 9 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 2 TagenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell34 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...